summaryrefslogtreecommitdiff
path: root/surf.c
diff options
context:
space:
mode:
authorQuentin Rameau <quinq@fifth.space>2015-11-18 18:44:25 +0100
committerQuentin Rameau <quinq@fifth.space>2015-11-20 00:34:20 +0100
commit58c4e189758d829c418bd3a0e30646e533131487 (patch)
tree589b4370a3fbb47db29a259d36c7d30048cfe9aa /surf.c
parente9ec482049972d8b6b0c73faf452666b3cc32520 (diff)
downloadsurf-58c4e189758d829c418bd3a0e30646e533131487.tar.gz
surf-58c4e189758d829c418bd3a0e30646e533131487.tar.bz2
surf-58c4e189758d829c418bd3a0e30646e533131487.zip
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 (limited to 'surf.c')
-rw-r--r--surf.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/surf.c b/surf.c
index fecbd98..7ae1e6f 100644
--- a/surf.c
+++ b/surf.c
@@ -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 {
@@ -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;
}
@@ -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';
}