Introduction
Introduction Statistics Contact Development Disclaimer Help
surf-0.4.1-ssl.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
surf-0.4.1-ssl.diff (2888B)
---
1 diff -r 71388899ac09 config.def.h
2 --- a/config.def.h Tue Jun 08 09:06:10 2010 +0200
3 +++ b/config.def.h Mon Sep 26 22:28:36 2011 +0100
4 @@ -1,11 +1,14 @@
5 /* modifier 0 means no modifier */
6 static char *useragent = "Surf/"VERSION" (X11; U; Unix; en-US) App…
7 -static char *progress = "#FF0000";
8 +static char *progress = "#0066FF";
9 +static char *progress_untrust = "#FF0000";
10 static char *progress_trust = "#00FF00";
11 static char *stylefile = ".surf/style.css";
12 static char *scriptfile = ".surf/script.js";
13 static char *cookiefile = ".surf/cookies.txt";
14 static time_t sessiontime = 3600;
15 +static char *cafile = "/etc/ssl/certs/ca-certificates.crt";
16 +static char *strictssl = FALSE;
17 #define NOBACKGROUND 0
18
19 #define SETPROP(p, q) { .v = (char *[]){ "/bin/sh", "-c", \
20 diff -r 71388899ac09 surf.c
21 --- a/surf.c Tue Jun 08 09:06:10 2010 +0200
22 +++ b/surf.c Mon Sep 26 22:28:36 2011 +0100
23 @@ -38,6 +38,7 @@
24 char *title, *linkhover;
25 const char *uri, *needle;
26 gint progress;
27 + gboolean sslfailed;
28 struct Client *next;
29 gboolean zoomed;
30 } Client;
31 @@ -250,8 +251,11 @@
32 w = c->indicator;
33 width = c->progress * w->allocation.width / 100;
34 gc = gdk_gc_new(w->window);
35 - gdk_color_parse(strstr(uri, "https://") == uri ?
36 - progress_trust : progress, &fg);
37 + if(strstr(uri, "https://") == uri)
38 + gdk_color_parse(c->sslfailed ?
39 + progress_untrust : progress_trust, &fg);
40 + else
41 + gdk_color_parse(progress, &fg);
42 gdk_gc_set_rgb_fg_color(gc, &fg);
43 gdk_draw_rectangle(w->window,
44 w->style->bg_gc[GTK_WIDGET_STATE(w)],
45 @@ -367,9 +371,24 @@
46
47 void
48 loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c) {
49 + WebKitWebFrame *frame;
50 + WebKitWebDataSource *src;
51 + WebKitNetworkRequest *request;
52 + SoupMessage *msg;
53 + char *uri;
54 +
55 switch(webkit_web_view_get_load_status (c->view)) {
56 case WEBKIT_LOAD_COMMITTED:
57 - setatom(c, AtomUri, geturi(c));
58 + uri = geturi(c);
59 + if(strstr(uri, "https://") == uri) {
60 + frame = webkit_web_view_get_main_frame(c->view);
61 + src = webkit_web_frame_get_data_source(frame);
62 + request = webkit_web_data_source_get_request(sr…
63 + msg = webkit_network_request_get_message(reques…
64 + c->sslfailed = soup_message_get_flags(msg)
65 + ^ SOUP_MESSAGE_CERTIFICATE_TRUST…
66 + }
67 + setatom(c, AtomUri, uri);
68 break;
69 case WEBKIT_LOAD_FINISHED:
70 c->progress = 0;
71 @@ -698,6 +717,10 @@
72 soup_session_remove_feature_by_type(s, soup_cookie_jar_get_type…
73 g_signal_connect_after(G_OBJECT(s), "request-started", G_CALLBA…
74
75 + /* ssl */
76 + g_object_set(G_OBJECT(s), "ssl-ca-file", cafile, NULL);
77 + g_object_set(G_OBJECT(s), "ssl-strict", strictssl, NULL);
78 +
79 /* proxy */
80 if((proxy = getenv("http_proxy")) && strcmp(proxy, "")) {
81 new_proxy = g_strrstr(proxy, "http://") ? g_strdup(prox…
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.