Accepting request 611206 from home:iznogood

- Add eds-fix-fails-to-parse-Google-OAuth2.patch: Fix fails to
  parse Google OAuth2 authorization code (bgo#795997).
- Add eds-correct-some-public-headers.patch -- Correct some public
  headers in libedataserverui.

OBS-URL: https://build.opensuse.org/request/show/611206
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/evolution-data-server?expand=0&rev=326
This commit is contained in:
Dominique Leuenberger 2018-05-29 12:19:54 +00:00 committed by Git OBS Bridge
parent f5b75c92bd
commit 73e6842530
4 changed files with 134 additions and 1 deletions

View File

@ -0,0 +1,46 @@
From 3d7ee164c1c598f302729e0bd24a86418f245f2c Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Thu, 26 Apr 2018 13:37:32 +0200
Subject: Correct some public headers in libedataserverui
---
src/libedataserverui/e-trust-prompt.h | 4 ++++
src/libedataserverui/e-webdav-discover-widget.h | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/libedataserverui/e-trust-prompt.h b/src/libedataserverui/e-trust-prompt.h
index 7f289cb..657775e 100644
--- a/src/libedataserverui/e-trust-prompt.h
+++ b/src/libedataserverui/e-trust-prompt.h
@@ -29,6 +29,8 @@
#include <libedataserver/libedataserver.h>
+G_BEGIN_DECLS
+
gchar * e_trust_prompt_describe_certificate_errors
(GTlsCertificateFlags flags);
ETrustPromptResponse
@@ -56,4 +58,6 @@ gboolean e_trust_prompt_run_for_source_finish
ETrustPromptResponse *response,
GError **error);
+G_END_DECLS
+
#endif /* E_TRUST_PROMPT_H */
diff --git a/src/libedataserverui/e-webdav-discover-widget.h b/src/libedataserverui/e-webdav-discover-widget.h
index fdb7ee2..e324026 100644
--- a/src/libedataserverui/e-webdav-discover-widget.h
+++ b/src/libedataserverui/e-webdav-discover-widget.h
@@ -27,7 +27,7 @@
#include <gtk/gtk.h>
#include <libedataserver/libedataserver.h>
-#include <libedataserverui/libedataserverui.h>
+#include <libedataserverui/e-credentials-prompter.h>
G_BEGIN_DECLS
--
cgit v0.12

View File

@ -0,0 +1,74 @@
From 5c6b22b8eb72ccac07c7e5867aa6074347f7fd78 Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Thu, 10 May 2018 13:58:32 +0200
Subject: Bug 795997 - Fails to parse Google OAuth2 authorization code
---
src/libedataserver/e-oauth2-service-google.c | 49 +++++++++++++++++++++++-----
1 file changed, 41 insertions(+), 8 deletions(-)
diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c
index 261ba06..c380c61 100644
--- a/src/libedataserver/e-oauth2-service-google.c
+++ b/src/libedataserver/e-oauth2-service-google.c
@@ -119,16 +119,49 @@ eos_google_extract_authorization_code (EOAuth2Service *service,
*out_authorization_code = NULL;
- if (!page_title || !*page_title)
- return FALSE;
+ if (page_title && *page_title) {
+ /* Known response, but no authorization code */
+ if (g_ascii_strncasecmp (page_title, "Denied ", 7) == 0)
+ return TRUE;
+
+ if (g_ascii_strncasecmp (page_title, "Success code=", 13) == 0) {
+ *out_authorization_code = g_strdup (page_title + 13);
+ return TRUE;
+ }
+ }
+
+ if (page_uri && *page_uri) {
+ SoupURI *suri;
+
+ suri = soup_uri_new (page_uri);
+ if (suri) {
+ const gchar *query = soup_uri_get_query (suri);
+ gboolean known = FALSE;
+
+ if (query && *query) {
+ GHashTable *params;
+
+ params = soup_form_decode (query);
+ if (params) {
+ const gchar *response;
+
+ response = g_hash_table_lookup (params, "response");
+ if (response && g_ascii_strncasecmp (response, "code=", 5) == 0) {
+ *out_authorization_code = g_strdup (response + 5);
+ known = TRUE;
+ } else if (response && g_ascii_strncasecmp (response, "error", 5) == 0) {
+ known = TRUE;
+ }
+
+ g_hash_table_destroy (params);
+ }
+ }
- /* Known response, but no authorization code */
- if (g_ascii_strncasecmp (page_title, "Denied ", 7) == 0)
- return TRUE;
+ soup_uri_free (suri);
- if (g_ascii_strncasecmp (page_title, "Success code=", 13) == 0) {
- *out_authorization_code = g_strdup (page_title + 13);
- return TRUE;
+ if (known)
+ return TRUE;
+ }
}
return FALSE;
--
cgit v0.12

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Wed May 16 20:36:25 UTC 2018 - bjorn.lie@gmail.com
- Add eds-fix-fails-to-parse-Google-OAuth2.patch: Fix fails to
parse Google OAuth2 authorization code (bgo#795997).
- Add eds-correct-some-public-headers.patch -- Correct some public
headers in libedataserverui.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon May 7 09:25:10 UTC 2018 - bjorn.lie@gmail.com Mon May 7 09:25:10 UTC 2018 - bjorn.lie@gmail.com

View File

@ -38,6 +38,11 @@ Group: Development/Libraries/GNOME
URL: https://wiki.gnome.org/Apps/Evolution URL: https://wiki.gnome.org/Apps/Evolution
Source0: http://download.gnome.org/sources/evolution-data-server/%{_evo_version}/%{name}-%{version}.tar.xz Source0: http://download.gnome.org/sources/evolution-data-server/%{_evo_version}/%{name}-%{version}.tar.xz
Source99: baselibs.conf Source99: baselibs.conf
# PATCH-FIX-UPSTREAM eds-fix-fails-to-parse-Google-OAuth2.patch bgo#795997 -- Fix fails to parse Google OAuth2 authorization code
Patch0: eds-fix-fails-to-parse-Google-OAuth2.patch
# PATCH-FIX-UPSTREAM eds-correct-some-public-headers.patch -- Correct some public headers in libedataserverui
Patch1: eds-correct-some-public-headers.patch
BuildRequires: cmake BuildRequires: cmake
BuildRequires: db-devel BuildRequires: db-devel
BuildRequires: fdupes BuildRequires: fdupes
@ -266,7 +271,7 @@ This package contains developer documentation.
%lang_package %lang_package
%prep %prep
%setup -q %autosetup -p1
translation-update-upstream translation-update-upstream
%build %build