diff options
author | Vincent Sanders <vince@kyllikki.org> | 2016-07-31 01:24:57 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2016-07-31 13:25:20 +0100 |
commit | b939afe3fc70be446d9ffd6e6071a4af5cf98a8a (patch) | |
tree | 65c10f7b9d363f20621e2b4429f4eb3c958fa986 /frontends/riscos | |
parent | 51725592c96b3cb94aa70761b10960c738815534 (diff) | |
download | netsurf-b939afe3fc70be446d9ffd6e6071a4af5cf98a8a.tar.gz netsurf-b939afe3fc70be446d9ffd6e6071a4af5cf98a8a.tar.bz2 |
Allow certificate verification user prompt creation to return errors
Diffstat (limited to 'frontends/riscos')
-rw-r--r-- | frontends/riscos/gui.h | 2 | ||||
-rw-r--r-- | frontends/riscos/sslcert.c | 22 |
2 files changed, 13 insertions, 11 deletions
diff --git a/frontends/riscos/gui.h b/frontends/riscos/gui.h index 624f9e2fb..505e8e755 100644 --- a/frontends/riscos/gui.h +++ b/frontends/riscos/gui.h @@ -212,7 +212,7 @@ extern int ro_plot_origin_y; bool ro_gui_theme_install_apply(wimp_w w); /* in sslcert.c */ -void gui_cert_verify(struct nsurl *url, +nserror gui_cert_verify(struct nsurl *url, const struct ssl_cert_info *certs, unsigned long num, nserror (*cb)(bool proceed, void *pw), void *cbpw); diff --git a/frontends/riscos/sslcert.c b/frontends/riscos/sslcert.c index c7b8db431..8a8ddfb5b 100644 --- a/frontends/riscos/sslcert.c +++ b/frontends/riscos/sslcert.c @@ -101,7 +101,7 @@ void ro_gui_cert_postinitialise(void) * \param cb Callback upon user decision. * \param cbpw Context pointer passed to cb */ -void gui_cert_verify(nsurl *url, +nserror gui_cert_verify(nsurl *url, const struct ssl_cert_info *certs, unsigned long num, nserror (*cb)(bool proceed, void *pw), void *cbpw) { @@ -117,7 +117,7 @@ void gui_cert_verify(nsurl *url, sslcert_window = malloc(sizeof(struct ro_sslcert)); if (sslcert_window == NULL) { LOG("Failed to allocate memory for SSL Cert Dialog"); - return; + return NSERROR_NOMEM; } /* Create the SSL window and its pane. */ @@ -127,7 +127,7 @@ void gui_cert_verify(nsurl *url, if (error) { LOG("xwimp_create_window: 0x%x: %s", error->errnum, error->errmess); free(sslcert_window); - return; + return NSERROR_INIT_FAILED; } error = xwimp_create_window(ro_gui_cert_tree_template, @@ -135,7 +135,7 @@ void gui_cert_verify(nsurl *url, if (error) { LOG("xwimp_create_window: 0x%x: %s", error->errnum, error->errmess); free(sslcert_window); - return; + return NSERROR_INIT_FAILED; } /* Create the SSL data and build a tree from it. */ @@ -148,7 +148,7 @@ void gui_cert_verify(nsurl *url, if (sslcert_window->tv == NULL) { LOG("Failed to allocate treeview"); free(sslcert_window); - return; + return NSERROR_NOMEM; } /* Set up the certificate window event handling. @@ -182,7 +182,7 @@ void gui_cert_verify(nsurl *url, if (error) { ro_gui_cert_release_window(sslcert_window); LOG("xwimp_get_window_info: 0x%x: %s", error->errnum, error->errmess); - return; + return NSERROR_INIT_FAILED; } state.w = sslcert_window->window; @@ -190,7 +190,7 @@ void gui_cert_verify(nsurl *url, if (error) { ro_gui_cert_release_window(sslcert_window); LOG("xwimp_get_window_state: 0x%x: %s", error->errnum, error->errmess); - return; + return NSERROR_INIT_FAILED; } istate.w = sslcert_window->window; @@ -199,7 +199,7 @@ void gui_cert_verify(nsurl *url, if (error) { ro_gui_cert_release_window(sslcert_window); LOG("xwimp_get_icon_state: 0x%x: %s", error->errnum, error->errmess); - return; + return NSERROR_INIT_FAILED; } state.w = sslcert_window->pane; @@ -230,7 +230,7 @@ void gui_cert_verify(nsurl *url, if (error) { ro_gui_cert_release_window(sslcert_window); LOG("xwimp_set_extent: 0x%x: %s", error->errnum, error->errmess); - return; + return NSERROR_INIT_FAILED; } } @@ -248,10 +248,12 @@ void gui_cert_verify(nsurl *url, ro_gui_cert_release_window(sslcert_window); LOG("xwimp_open_window_nested: 0x%x: %s", error->errnum, error->errmess); ro_gui_cert_release_window(sslcert_window); - return; + return NSERROR_INIT_FAILED; } ro_treeview_set_origin(sslcert_window->tv, 0, 0); + + return NSERROR_OK; } /** |