[gnome-online-accounts] Let authentication webkit window inherit from GNOME proxy settings (bug #658444)



commit 2d79c7275cdf53e7f4aeef896c3b42e2e4def183
Author: Baptiste Mille-Mathias <baptiste millemathias gmail com>
Date:   Thu Sep 8 20:39:43 2011 +0200

    Let authentication webkit window inherit from GNOME proxy settings (bug #658444)
    
    Add a dependency on libsoup-gnome

 configure.ac                       |    4 ++++
 src/goabackend/Makefile.am         |    2 ++
 src/goabackend/goaoauth2provider.c |    6 +++++-
 src/goabackend/goaoauthprovider.c  |    6 +++++-
 4 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 759c1e0..3a4e972 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,6 +43,10 @@ PKG_CHECK_MODULES(WEBKIT_GTK, [webkitgtk-3.0])
 AC_SUBST(WEBKIT_GTK_CFLAGS)
 AC_SUBST(WEBKIT_GTK_LIBS)
 
+PKG_CHECK_MODULES(LIBSOUP, [libsoup-gnome-2.4 >= 2.26])
+AC_SUBST(LIBSOUP_CFLAGS)
+AC_SUBST(LIBSOUP_LIBS)
+
 PKG_CHECK_MODULES(JSON_GLIB, [json-glib-1.0])
 AC_SUBST(JSON_GLIB_CFLAGS)
 AC_SUBST(JSON_GLIB_LIBS)
diff --git a/src/goabackend/Makefile.am b/src/goabackend/Makefile.am
index 231347c..cad5dca 100644
--- a/src/goabackend/Makefile.am
+++ b/src/goabackend/Makefile.am
@@ -86,6 +86,7 @@ libgoa_backend_1_0_la_CFLAGS =					\
 	$(GTK_CFLAGS) 						\
 	$(GNOME_KEYRING_CFLAGS)					\
 	$(REST_CFLAGS)						\
+	$(LIBSOUP_CFLAGS)					\
 	$(NULL)
 
 libgoa_backend_1_0_la_LIBADD = 					\
@@ -95,6 +96,7 @@ libgoa_backend_1_0_la_LIBADD = 					\
 	$(GTK_LIBS) 						\
 	$(GNOME_KEYRING_LIBS)					\
 	$(REST_LIBS)						\
+	$(LIBSOUP_LIBS)						\
 	$(NULL)
 
 # ----------------------------------------------------------------------------------------------------
diff --git a/src/goabackend/goaoauth2provider.c b/src/goabackend/goaoauth2provider.c
index a784e0c..e0ad84b 100644
--- a/src/goabackend/goaoauth2provider.c
+++ b/src/goabackend/goaoauth2provider.c
@@ -25,6 +25,7 @@
 #include <stdlib.h>
 
 #include <rest/oauth2-proxy.h>
+#include <libsoup/soup-gnome.h>
 #include <webkit/webkit.h>
 #include <json-glib/json-glib.h>
 
@@ -683,10 +684,13 @@ get_tokens_and_identity (GoaOAuth2Provider  *provider,
       SoupSession *webkit_soup_session;
       SoupCookieJar *cookie_jar;
 
+      webkit_soup_session = webkit_get_default_session ();
+      /* Get the proxy configuration from the GNOME settings */
+      soup_session_add_feature_by_type (webkit_soup_session, SOUP_TYPE_PROXY_RESOLVER_GNOME);
+
       /* Ensure we use an empty non-persistent cookie to avoid login
        * credentials being reused...
        */
-      webkit_soup_session = webkit_get_default_session ();
       soup_session_remove_feature_by_type (webkit_soup_session, SOUP_TYPE_COOKIE_JAR);
       cookie_jar = soup_cookie_jar_new ();
       soup_session_add_feature (webkit_soup_session, SOUP_SESSION_FEATURE (cookie_jar));
diff --git a/src/goabackend/goaoauthprovider.c b/src/goabackend/goaoauthprovider.c
index 0fe98f2..a31d737 100644
--- a/src/goabackend/goaoauthprovider.c
+++ b/src/goabackend/goaoauthprovider.c
@@ -25,6 +25,7 @@
 #include <stdlib.h>
 
 #include <rest/oauth-proxy.h>
+#include <libsoup/soup-gnome.h>
 #include <webkit/webkit.h>
 #include <json-glib/json-glib.h>
 
@@ -706,10 +707,13 @@ get_tokens_and_identity (GoaOAuthProvider *provider,
       SoupSession *webkit_soup_session;
       SoupCookieJar *cookie_jar;
 
+      webkit_soup_session = webkit_get_default_session ();
+      /* Get the proxy configuration from the GNOME settings */
+      soup_session_add_feature_by_type (webkit_soup_session, SOUP_TYPE_PROXY_RESOLVER_GNOME);
+
       /* Ensure we use an empty non-persistent cookie to avoid login
        * credentials being reused...
        */
-      webkit_soup_session = webkit_get_default_session ();
       soup_session_remove_feature_by_type (webkit_soup_session, SOUP_TYPE_COOKIE_JAR);
       cookie_jar = soup_cookie_jar_new ();
       soup_session_add_feature (webkit_soup_session, SOUP_SESSION_FEATURE (cookie_jar));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]