X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=7b71f0eb572a1d190b175b0ddc523b6baf589438;hb=e4869357f1c625a2b56ca1327ed8c89864341d77;hp=d970f7f4f1315211d065e10f99c70f0cda55a905;hpb=432f45a85213a78da207c63890ed7f85afff5478;p=surf.git diff --git a/surf.c b/surf.c index d970f7f..7b71f0e 100644 --- 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 */