summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2017-04-29 22:16:03 +0200
committerQuentin Rameau <quinq@fifth.space>2017-04-30 11:39:15 +0200
commitedddfbc14ac3a4413f38171e8fd7767ae56e27bf (patch)
treecdfa14736167403ec31644a14e5241e8c4bdb6fc
parent21d81a71cc55ea52c836c49eca351940fefb1287 (diff)
downloadsurf-edddfbc14ac3a4413f38171e8fd7767ae56e27bf.tar.gz
surf-edddfbc14ac3a4413f38171e8fd7767ae56e27bf.tar.bz2
surf-edddfbc14ac3a4413f38171e8fd7767ae56e27bf.zip
setcert: check uri before adding a certificate
Also directly check for https scheme, we won't need a certificate for others.
-rw-r--r--surf.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/surf.c b/surf.c
index d67d09b..785fa0d 100644
--- a/surf.c
+++ b/surf.c
@@ -792,14 +792,16 @@ setcert(Client *c, const char *uri)
return;
}
- uri = strstr(uri, "://") + sizeof("://") - 1;
- host = strndup(uri, strstr(uri, "/") - uri);
+ if ((uri = strstr(uri, "https://"))) {
+ uri += sizeof("https://") - 1;
+ host = g_strndup(uri, strchr(uri, '/') - uri);
+ webkit_web_context_allow_tls_certificate_for_host(
+ webkit_web_view_get_context(c->view), cert, host);
+ g_free(host);
+ }
- webkit_web_context_allow_tls_certificate_for_host(
- webkit_web_view_get_context(c->view), cert, host);
g_object_unref(cert);
- free(host);
}
const char *