[epiphany] web-view: Fix security level of error pages
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] web-view: Fix security level of error pages
- Date: Sat, 19 Dec 2015 22:21:49 +0000 (UTC)
commit a93481afce9d029fde5e6d6d8df8fec6078660fa
Author: Michael Catanzaro <mcatanzaro igalia com>
Date: Sat Dec 19 16:21:03 2015 -0600
web-view: Fix security level of error pages
Error pages are not insecure (with the exception of the TLS error page)
embed/ephy-web-view.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index 159093b..08499b0 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -110,7 +110,7 @@ struct _EphyWebView {
GTlsCertificate *certificate;
GTlsCertificateFlags tls_errors;
- gboolean loading_tls_error_page;
+ gboolean loading_error_page;
char *tls_error_failing_uri;
/* Web Extension */
@@ -1550,8 +1550,8 @@ update_security_status_for_committed_load (EphyWebView *view,
WebKitSecurityManager *security_manager;
SoupURI *soup_uri;
- if (view->loading_tls_error_page) {
- view->loading_tls_error_page = FALSE;
+ if (view->loading_error_page) {
+ view->loading_error_page = FALSE;
return;
}
@@ -1855,6 +1855,13 @@ ephy_web_view_load_error_page (EphyWebView *view,
const char *custom_class;
GBytes *html_file;
+ view->loading_error_page = TRUE;
+
+ if (page == EPHY_WEB_VIEW_ERROR_INVALID_TLS_CERTIFICATE)
+ ephy_web_view_set_security_level (view, EPHY_SECURITY_LEVEL_UNACCEPTABLE_CERTIFICATE);
+ else
+ ephy_web_view_set_security_level (view, EPHY_SECURITY_LEVEL_LOCAL_PAGE);
+
if (error)
reason = error->message;
else
@@ -2034,11 +2041,9 @@ load_failed_with_tls_error_cb (WebKitWebView *web_view,
g_clear_object (&view->certificate);
g_clear_pointer (&view->tls_error_failing_uri, g_free);
- view->loading_tls_error_page = TRUE;
view->certificate = g_object_ref (certificate);
view->tls_errors = errors;
view->tls_error_failing_uri = g_strdup (uri);
- ephy_web_view_set_security_level (view, EPHY_SECURITY_LEVEL_UNACCEPTABLE_CERTIFICATE);
ephy_web_view_load_error_page (EPHY_WEB_VIEW (web_view), uri,
EPHY_WEB_VIEW_ERROR_INVALID_TLS_CERTIFICATE, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]