tManage ssl errors with GTlsCertificateFlags - surf - customized build of surf,… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 58c4e189758d829c418bd3a0e30646e533131487 | |
parent e9ec482049972d8b6b0c73faf452666b3cc32520 | |
Author: Quentin Rameau <[email protected]> | |
Date: Wed, 18 Nov 2015 18:44:25 +0100 | |
Manage ssl errors with GTlsCertificateFlags | |
Keep a GTlsCertificateFlags in Client for TLS errors. | |
If we don't use a ssl connection, set it to a value greater than maximum | |
error flag value (which is G_TLS_CERTIFICATE_VALIDATE_ALL for all | |
possible errors). | |
Diffstat: | |
M surf.c | 11 +++++------ | |
1 file changed, 5 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -60,11 +60,12 @@ typedef struct Client { | |
WebKitWebView *view; | |
WebKitWebInspector *inspector; | |
WebKitHitTestResult *mousepos; | |
+ GTlsCertificateFlags tlsflags; | |
const char *title, *targeturi; | |
const char *needle; | |
gint progress; | |
struct Client *next; | |
- gboolean zoomed, fullscreen, isinspecting, sslfailed; | |
+ gboolean zoomed, fullscreen, isinspecting; | |
} Client; | |
typedef struct { | |
t@@ -896,6 +897,7 @@ newclient(Client *rc) | |
clients = c; | |
c->view = newview(c, rc ? rc->view : NULL); | |
+ c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1; | |
return c; | |
} | |
t@@ -1518,11 +1520,8 @@ getpagestat(Client *c) | |
{ | |
const char *uri = geturi(c); | |
- if (strstr(uri, "https://") == uri) | |
- pagestat[0] = c->sslfailed ? 'U' : 'T'; | |
- else | |
- pagestat[0] = '-'; | |
- | |
+ pagestats[0] = c->tlsflags > G_TLS_CERTIFICATE_VALIDATE_ALL ? '-' : | |
+ c->tlsflags > 0 ? 'U' : 'T'; | |
pagestat[1] = '\0'; | |
} | |