diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2019-08-05 18:11:13 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2019-08-05 18:12:47 +0100 |
commit | bfb1bb119241d85bb9b400881328496e12a39aed (patch) | |
tree | 4f05e7c9e1d61cb5229895da7d4f318f94ef90f1 /desktop/browser_private.h | |
parent | bccf101714f2ca165b1fd754879f3813993d26ca (diff) | |
download | netsurf-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.h | 19 |
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 { |