summaryrefslogtreecommitdiff
path: root/desktop/browser_private.h
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-05 18:11:13 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-05 18:12:47 +0100
commitbfb1bb119241d85bb9b400881328496e12a39aed (patch)
tree4f05e7c9e1d61cb5229895da7d4f318f94ef90f1 /desktop/browser_private.h
parentbccf101714f2ca165b1fd754879f3813993d26ca (diff)
downloadnetsurf-bfb1bb119241d85bb9b400881328496e12a39aed.tar.gz
netsurf-bfb1bb119241d85bb9b400881328496e12a39aed.tar.bz2
Migrate SSL certificate storage to the browser window
* Fetchers now provide the certificates before headers * This is propagated all the way to the browser window * When a query occurs, we retrieve it from there and fire the query with those stored certificates. * The serial number is a bignum, store it as hex. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'desktop/browser_private.h')
-rw-r--r--desktop/browser_private.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/desktop/browser_private.h b/desktop/browser_private.h
index 0883c54ac..7e2d7e76d 100644
--- a/desktop/browser_private.h
+++ b/desktop/browser_private.h
@@ -25,6 +25,7 @@
#ifndef NETSURF_DESKTOP_BROWSER_PRIVATE_H_
#define NETSURF_DESKTOP_BROWSER_PRIVATE_H_
+#include "content/fetch.h"
#include "desktop/frame_types.h"
struct box;
@@ -89,6 +90,14 @@ struct browser_fetch_parameters {
};
/**
+ * The SSL context for a fetch, as provided by the fetchers
+ */
+struct browser_ssl_info {
+ struct ssl_cert_info certs[MAX_SSL_CERTS]; /**< The certificate chain */
+ size_t num; /**< The number of certificates in the chain */
+};
+
+/**
* Browser window data.
*/
struct browser_window {
@@ -104,6 +113,11 @@ struct browser_window {
struct browser_fetch_parameters current_parameters;
/**
+ * The SSL information for the current content
+ */
+ struct browser_ssl_info current_ssl_info;
+
+ /**
* Content handle of page in process of being loaded or NULL
* if no page is being loaded.
*/
@@ -115,6 +129,11 @@ struct browser_window {
struct browser_fetch_parameters loading_parameters;
/**
+ * The SSL information for the loading content
+ */
+ struct browser_ssl_info loading_ssl_info;
+
+ /**
* Favicon
*/
struct {