Replacing the deprecated ssl-ca-file with tls-database.
[surf.git] / surf.c
diff --git a/surf.c b/surf.c
index d970f7f..7b71f0e 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -80,6 +80,7 @@ static char winid[64];
 static gboolean usingproxy = 0;
 static char togglestat[7];
 static char pagestat[3];
+static GTlsDatabase *tlsdb;
 
 static void addaccelgroup(Client *c);
 static void beforerequest(WebKitWebView *w, WebKitWebFrame *f,
@@ -601,8 +602,8 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c) {
                        src = webkit_web_frame_get_data_source(frame);
                        request = webkit_web_data_source_get_request(src);
                        msg = webkit_network_request_get_message(request);
-                       c->sslfailed = soup_message_get_flags(msg)
-                                      ^ SOUP_MESSAGE_CERTIFICATE_TRUSTED;
+                       c->sslfailed = !(soup_message_get_flags(msg)
+                                       & SOUP_MESSAGE_CERTIFICATE_TRUSTED);
                }
                setatom(c, AtomUri, uri);
                break;
@@ -635,6 +636,8 @@ loaduri(Client *c, const Arg *arg) {
                        : g_strdup_printf("http://%s", uri);
        }
 
+       setatom(c, AtomUri, uri);
+
        /* prevents endless loop */
        if(strcmp(u, geturi(c)) == 0) {
                reload(c, &a);
@@ -1042,6 +1045,7 @@ setup(void) {
        char *new_proxy;
        SoupURI *puri;
        SoupSession *s;
+       GError *error = NULL;
 
        /* clean up any zombies immediately */
        sigchld(0);
@@ -1068,7 +1072,13 @@ setup(void) {
                                        FALSE)));
 
        /* ssl */
-       g_object_set(G_OBJECT(s), "ssl-ca-file", cafile, NULL);
+       tlsdb = g_tls_file_database_new(cafile, &error);
+
+       if (error) {
+               g_warning("Error loading SSL database %s: %s", cafile, error->message);
+               g_error_free(error);
+       }
+       g_object_set(G_OBJECT(s), "tls-database", tlsdb, NULL);
        g_object_set(G_OBJECT(s), "ssl-strict", strictssl, NULL);
 
        /* proxy */