summaryrefslogtreecommitdiff
path: root/content/content.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 /content/content.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 'content/content.h')
-rw-r--r--content/content.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/content/content.h b/content/content.h
index 4fdcaf2c0..6e298e045 100644
--- a/content/content.h
+++ b/content/content.h
@@ -44,6 +44,7 @@ struct object_params;
struct rect;
struct redraw_context;
struct llcache_query_msg;
+struct ssl_cert_info;
/** Status of a content */
typedef enum {
@@ -59,6 +60,7 @@ typedef enum {
/** Used in callbacks to indicate what has occurred. */
typedef enum {
CONTENT_MSG_LOG, /**< Content wishes to log something */
+ CONTENT_MSG_SSL_CERTS, /**< Content is from SSL and this is its chain */
CONTENT_MSG_QUERY, /**< Something under the content has a query */
CONTENT_MSG_QUERY_FINISHED, /**< Something under the content finished its query */
CONTENT_MSG_LOADING, /**< fetching or converting */
@@ -107,6 +109,11 @@ union content_msg_data {
size_t msglen; /**< The length of that message */
browser_window_console_flags flags; /**< The flags of the logging */
} log;
+ /** CONTENT_MSG_SSL_CERTS - The certificate chain from the underlying fetch */
+ struct {
+ const struct ssl_cert_info *certs; /**< The chain */
+ size_t num; /**< The number of certs in the chain */
+ } certs;
/** CONTENT_MSG_QUERY - Query from underlying object somewhere */
const struct llcache_query_msg *query_msg;
/** CONTENT_MSG_QUERY_FINISHED - Query from underlying object finished */