Hello community,

here is the log from the commit of package evolution-data-server for 
openSUSE:Factory checked in at 2018-06-02 11:54:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/evolution-data-server (Old)
 and      /work/SRC/openSUSE:Factory/.evolution-data-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "evolution-data-server"

Sat Jun  2 11:54:45 2018 rev:191 rq:612856 version:3.28.2

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/evolution-data-server/evolution-data-server.changes  
    2018-05-10 15:46:00.012739881 +0200
+++ 
/work/SRC/openSUSE:Factory/.evolution-data-server.new/evolution-data-server.changes
 2018-06-02 11:54:48.446148012 +0200
@@ -1,0 +2,8 @@
+Wed May 16 20:36:25 UTC 2018 - [email protected]
+
+- 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.
+
+-------------------------------------------------------------------

New:
----
  eds-correct-some-public-headers.patch
  eds-fix-fails-to-parse-Google-OAuth2.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ evolution-data-server.spec ++++++
--- /var/tmp/diff_new_pack.LEBjFN/_old  2018-06-02 11:54:48.986128205 +0200
+++ /var/tmp/diff_new_pack.LEBjFN/_new  2018-06-02 11:54:48.986128205 +0200
@@ -38,6 +38,11 @@
 URL:            https://wiki.gnome.org/Apps/Evolution
 Source0:        
http://download.gnome.org/sources/evolution-data-server/%{_evo_version}/%{name}-%{version}.tar.xz
 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:  db-devel
 BuildRequires:  fdupes
@@ -266,7 +271,7 @@
 %lang_package
 
 %prep
-%setup -q
+%autosetup -p1
 translation-update-upstream
 
 %build

++++++ eds-correct-some-public-headers.patch ++++++
>From 3d7ee164c1c598f302729e0bd24a86418f245f2c Mon Sep 17 00:00:00 2001
From: Milan Crha <[email protected]>
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

++++++ eds-fix-fails-to-parse-Google-OAuth2.patch ++++++
>From 5c6b22b8eb72ccac07c7e5867aa6074347f7fd78 Mon Sep 17 00:00:00 2001
From: Milan Crha <[email protected]>
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


Reply via email to