From b28d3c267510d2e80e4730f71ff1fa5f61795499 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Fri, 22 May 2020 10:37:15 +0100 Subject: query/ssl: Include link to view certificate details Signed-off-by: Daniel Silverstone --- desktop/browser_window.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'desktop') diff --git a/desktop/browser_window.c b/desktop/browser_window.c index 60f8d8947..2dcd0791d 100644 --- a/desktop/browser_window.c +++ b/desktop/browser_window.c @@ -1125,6 +1125,7 @@ browser_window__handle_bad_certs(struct browser_window *bw, /* Initially we don't know WHY the SSL cert was bad */ const char *reason = messages_get_sslcode(SSL_CERT_ERR_UNKNOWN); size_t depth; + nsurl *chainurl = NULL; memset(¶ms, 0, sizeof(params)); @@ -1157,6 +1158,20 @@ browser_window__handle_bad_certs(struct browser_window *bw, goto out; } + err = cert_chain_to_query(bw->loading_cert_chain, &chainurl); + + if (err != NSERROR_OK) { + goto out; + } + + err = fetch_multipart_data_new_kv(¶ms.post_multipart, + "chainurl", + nsurl_access(chainurl)); + + if (err != NSERROR_OK) { + goto out; + } + /* Now we issue the fetch */ bw->internal_nav = true; err = browser_window__navigate_internal(bw, ¶ms); @@ -1166,6 +1181,8 @@ browser_window__handle_bad_certs(struct browser_window *bw, out: browser_window__free_fetch_parameters(¶ms); + if (chainurl != NULL) + nsurl_unref(chainurl); return err; } -- cgit v1.2.3