]> spindle.queued.net Git - midori/commitdiff
Conditionalize SSL validation on libsoup 2.29.91
authorChristian Dywan <christian@twotoasts.de>
Wed, 14 Apr 2010 20:38:21 +0000 (22:38 +0200)
committerChristian Dywan <christian@twotoasts.de>
Wed, 14 Apr 2010 20:41:24 +0000 (22:41 +0200)
The flag in the SoupMessage to verify secure connections is
only available in recent versions of libsoup. So we continue
to be oblivious to certificates with older versions.

midori/main.c
midori/midori-view.c
wscript

index d8b73f70a377595b6c80a2bd99c611abfcd71cf6..2d43bd407e3b2f19915050d68620307a47782ffd 100644 (file)
@@ -849,6 +849,10 @@ midori_soup_session_prepare (SoupSession*       session,
                              SoupCookieJar*     cookie_jar,
                              MidoriWebSettings* settings)
 {
+    SoupSessionFeature* feature;
+    gchar* config_file;
+
+    #if WEBKIT_CHECK_VERSION (1, 1, 14) && defined (HAVE_LIBSOUP_2_29_91)
     const gchar* certificate_files[] =
     {
         "/etc/pki/tls/certs/ca-bundle.crt",
@@ -856,8 +860,6 @@ midori_soup_session_prepare (SoupSession*       session,
         NULL
     };
     guint i;
-    SoupSessionFeature* feature;
-    gchar* config_file;
 
     for (i = 0; i < G_N_ELEMENTS (certificate_files); i++)
         if (g_access (certificate_files[i], F_OK) == 0)
@@ -871,6 +873,7 @@ midori_soup_session_prepare (SoupSession*       session,
     if (i == G_N_ELEMENTS (certificate_files))
         g_warning (_("No root certificate file is available. "
                      "SSL certificates cannot be verified."));
+    #endif
 
     soup_session_settings_notify_http_proxy_cb (settings, NULL, session);
     g_signal_connect (settings, "notify::http-proxy",
index 7a31e3f4662761e18c28f4f4edf73f950bcef2d0..310a5ca805b2562d218814a7d4328b74b6d60782 100644 (file)
@@ -1050,6 +1050,7 @@ webkit_web_view_load_committed_cb (WebKitWebView*  web_view,
 
     if (!strncmp (uri, "https", 5))
     {
+#if WEBKIT_CHECK_VERSION (1, 1, 14) && defined (HAVE_LIBSOUP_2_29_91)
         WebKitWebDataSource *source;
         WebKitNetworkRequest *request;
         SoupMessage *message;
@@ -1062,6 +1063,7 @@ webkit_web_view_load_committed_cb (WebKitWebView*  web_view,
          && soup_message_get_flags (message) & SOUP_MESSAGE_CERTIFICATE_TRUSTED)
             view->security = MIDORI_SECURITY_TRUSTED;
         else
+#endif
             view->security = MIDORI_SECURITY_UNKNOWN;
     }
     else
diff --git a/wscript b/wscript
index a64c9bf2fa2ed52ef9b2531a32abe630fdbbaa3e..8b85f295c1aadf60dc89454a46c48ebc4a713b53 100644 (file)
--- a/wscript
+++ b/wscript
@@ -217,6 +217,7 @@ def configure (conf):
     conf.define ('HAVE_LIBSOUP_2_25_2', 1)
     check_pkg ('libsoup-2.4', '2.27.90', False, var='LIBSOUP_2_27_90')
     check_pkg ('libsoup-2.4', '2.29.3', False, var='LIBSOUP_2_29_3')
+    check_pkg ('libsoup-2.4', '2.29.91', False, var='LIBSOUP_2_29_91')
     check_pkg ('libxml-2.0', '2.6')
 
     if conf.env['HAVE_LIBSOUP_2_27_90']: