diff options
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/401login.h | 2 | ||||
-rw-r--r-- | desktop/browser.c | 25 | ||||
-rw-r--r-- | desktop/gui.h | 8 | ||||
-rw-r--r-- | desktop/options.c | 3 | ||||
-rw-r--r-- | desktop/options.h | 1 |
5 files changed, 32 insertions, 7 deletions
diff --git a/desktop/401login.h b/desktop/401login.h index fc94d971b..9e6030ab4 100644 --- a/desktop/401login.h +++ b/desktop/401login.h @@ -15,7 +15,7 @@ #ifdef WITH_AUTH void gui_401login_open(struct browser_window *bw, struct content *c, - char *realm); + const char *realm); #endif diff --git a/desktop/browser.c b/desktop/browser.c index 8440bbaba..61d2cc490 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -60,7 +60,7 @@ static void browser_window_stop_throbber(struct browser_window *bw); static void browser_window_set_status(struct browser_window *bw, const char *text); static void browser_window_set_pointer(gui_pointer_shape shape); -static void download_window_callback(fetch_msg msg, void *p, const char *data, +static void download_window_callback(fetch_msg msg, void *p, const void *data, unsigned long size); static void browser_window_mouse_action_html(struct browser_window *bw, browser_mouse_state mouse, int x, int y); @@ -429,6 +429,24 @@ void browser_window_callback(content_msg msg, struct content *c, break; #endif +#ifdef WITH_SSL + case CONTENT_MSG_SSL: + gui_cert_verify(bw, c, data.ssl.certs, data.ssl.num); + if (c == bw->loading_content) + bw->loading_content = 0; + else if (c == bw->current_content) { + bw->current_content = 0; + bw->caret_callback = NULL; + bw->paste_callback = NULL; + bw->scrolling_box = NULL; + selection_init(bw->sel, NULL); + } + browser_window_stop_throbber(bw); + free(bw->referer); + bw->referer = 0; + break; +#endif + case CONTENT_MSG_REFRESH: schedule(data.delay * 100, browser_window_refresh, bw); @@ -689,7 +707,7 @@ void browser_window_destroy(struct browser_window *bw) * Callback for fetch for download window fetches. */ -void download_window_callback(fetch_msg msg, void *p, const char *data, +void download_window_callback(fetch_msg msg, void *p, const void *data, unsigned long size) { struct gui_download_window *download_window = p; @@ -713,6 +731,9 @@ void download_window_callback(fetch_msg msg, void *p, const char *data, case FETCH_REDIRECT: case FETCH_NOTMODIFIED: case FETCH_AUTH: +#ifdef WITH_SSL + case FETCH_CERT_ERR: +#endif default: /* not possible */ assert(0); diff --git a/desktop/gui.h b/desktop/gui.h index dd7486e80..8016fefd7 100644 --- a/desktop/gui.h +++ b/desktop/gui.h @@ -38,6 +38,7 @@ typedef enum { GUI_POINTER_DEFAULT, GUI_POINTER_POINT, GUI_POINTER_CARET, GUI_POINTER_MOVE } gui_pointer_shape; #include <stdbool.h> +#include "netsurf/utils/config.h" #include "netsurf/content/content.h" #include "netsurf/desktop/browser.h" @@ -106,5 +107,12 @@ bool gui_search_term_highlighted(struct gui_window *g, unsigned start_offset, unsigned end_offset, unsigned *start_idx, unsigned *end_idx); +#ifdef WITH_SSL +struct ssl_cert_info; + +void gui_cert_verify(struct browser_window *bw, struct content *c, + const struct ssl_cert_info *certs, unsigned long num); +#endif + #endif diff --git a/desktop/options.c b/desktop/options.c index 5ae615703..0aa3fc065 100644 --- a/desktop/options.c +++ b/desktop/options.c @@ -54,8 +54,6 @@ int option_font_size = 100; int option_font_min_size = 70; /** Accept-Language header. */ char *option_accept_language = 0; -/** Enable verification of SSL certificates. */ -bool option_ssl_verify_certificates = true; /** Preferred maximum size of memory cache / bytes. */ int option_memory_cache_size = 2 * 1024 * 1024; /** Preferred expiry age of disc cache / days. */ @@ -96,7 +94,6 @@ struct { { "font_size", OPTION_INTEGER, &option_font_size }, { "font_min_size", OPTION_INTEGER, &option_font_min_size }, { "accept_language", OPTION_STRING, &option_accept_language }, - { "ssl_verify_certificates", OPTION_BOOL, &option_ssl_verify_certificates }, { "memory_cache_size", OPTION_INTEGER, &option_memory_cache_size }, { "disc_cache_age", OPTION_INTEGER, &option_disc_cache_age }, { "block_advertisements", OPTION_BOOL, &option_block_ads }, diff --git a/desktop/options.h b/desktop/options.h index f31be7c45..49d956a0d 100644 --- a/desktop/options.h +++ b/desktop/options.h @@ -38,7 +38,6 @@ extern char *option_http_proxy_auth_pass; extern int option_font_size; extern int option_font_min_size; extern char *option_accept_language; -extern bool option_ssl_verify_certificates; extern int option_memory_cache_size; extern int option_disc_cache_age; extern bool option_block_ads; |