Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(420)

Side by Side Diff: chrome/renderer/localized_error.cc

Issue 3723001: net: detect and error out with ESET/NetNanny HTTPS interception + False Start (Closed)
Patch Set: ... Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | net/base/net_error_list.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/localized_error.h" 5 #include "chrome/renderer/localized_error.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/i18n/rtl.h" 8 #include "base/i18n/rtl.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
(...skipping 10 matching lines...) Expand all
21 #include "webkit/glue/webkit_glue.h" 21 #include "webkit/glue/webkit_glue.h"
22 22
23 using WebKit::WebURLError; 23 using WebKit::WebURLError;
24 24
25 namespace { 25 namespace {
26 26
27 static const char kRedirectLoopLearnMoreUrl[] = 27 static const char kRedirectLoopLearnMoreUrl[] =
28 "http://www.google.com/support/chrome/bin/answer.py?answer=95626"; 28 "http://www.google.com/support/chrome/bin/answer.py?answer=95626";
29 static const char kWeakDHKeyLearnMoreUrl[] = 29 static const char kWeakDHKeyLearnMoreUrl[] =
30 "http://sites.google.com/a/chromium.org/dev/err_ssl_weak_server_ephemeral_dh _key"; 30 "http://sites.google.com/a/chromium.org/dev/err_ssl_weak_server_ephemeral_dh _key";
31 static const char kESETLearnMoreUrl[] =
32 "http://sites.google.com/a/chromium.org/dev/err_eset_anti_virus_ssl_intercep tion";
33 static const char kNetNannyLearnMoreUrl[] =
34 "http://sites.google.com/a/chromium.org/dev/err_netnanny_ssl_interception";
31 35
32 enum NAV_SUGGESTIONS { 36 enum NAV_SUGGESTIONS {
33 SUGGEST_NONE = 0, 37 SUGGEST_NONE = 0,
34 SUGGEST_RELOAD = 1 << 0, 38 SUGGEST_RELOAD = 1 << 0,
35 SUGGEST_HOSTNAME = 1 << 1, 39 SUGGEST_HOSTNAME = 1 << 1,
36 SUGGEST_LEARNMORE = 1 << 2, 40 SUGGEST_LEARNMORE = 1 << 2,
37 }; 41 };
38 42
39 struct LocalizedErrorMap { 43 struct LocalizedErrorMap {
40 int error_code; 44 int error_code;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 }, 115 },
112 {net::ERR_BAD_SSL_CLIENT_AUTH_CERT, 116 {net::ERR_BAD_SSL_CLIENT_AUTH_CERT,
113 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 117 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
114 IDS_ERRORPAGES_HEADING_BAD_SSL_CLIENT_AUTH_CERT, 118 IDS_ERRORPAGES_HEADING_BAD_SSL_CLIENT_AUTH_CERT,
115 IDS_ERRORPAGES_SUMMARY_BAD_SSL_CLIENT_AUTH_CERT, 119 IDS_ERRORPAGES_SUMMARY_BAD_SSL_CLIENT_AUTH_CERT,
116 IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT, 120 IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT,
117 SUGGEST_NONE, 121 SUGGEST_NONE,
118 }, 122 },
119 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY, 123 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY,
120 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 124 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
121 IDS_ERRORPAGES_HEADING_SSL_PROTOCOL_ERROR, 125 IDS_ERRORPAGES_HEADING_WEAK_SERVER_EPHEMERAL_DH_KEY,
122 IDS_ERRORPAGES_SUMMARY_SSL_PROTOCOL_ERROR, 126 IDS_ERRORPAGES_SUMMARY_WEAK_SERVER_EPHEMERAL_DH_KEY,
123 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR, 127 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
124 SUGGEST_LEARNMORE, 128 SUGGEST_LEARNMORE,
125 }, 129 },
126 {net::ERR_PROXY_CONNECTION_FAILED, 130 {net::ERR_PROXY_CONNECTION_FAILED,
127 IDS_ERRORPAGES_TITLE_PROXY_CONNECTION_FAILED, 131 IDS_ERRORPAGES_TITLE_PROXY_CONNECTION_FAILED,
128 IDS_ERRORPAGES_HEADING_PROXY_CONNECTION_FAILED, 132 IDS_ERRORPAGES_HEADING_PROXY_CONNECTION_FAILED,
129 IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED, 133 IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED,
130 IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED, 134 IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED,
131 SUGGEST_NONE, 135 SUGGEST_NONE,
132 }, 136 },
137 {net::ERR_ESET_ANTI_VIRUS_SSL_INTERCEPTION,
138 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
139 IDS_ERRORPAGES_HEADING_ESET_ANTI_VIRUS_SSL_INTERCEPTION,
140 IDS_ERRORPAGES_SUMMARY_ESET_ANTI_VIRUS_SSL_INTERCEPTION,
141 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
142 SUGGEST_LEARNMORE,
143 },
144 {net::ERR_NETNANNY_SSL_INTERCEPTION,
145 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
146 IDS_ERRORPAGES_HEADING_NETNANNY_SSL_INTERCEPTION,
147 IDS_ERRORPAGES_SUMMARY_NETNANNY_SSL_INTERCEPTION,
148 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
149 SUGGEST_LEARNMORE,
150 },
133 }; 151 };
134 152
135 const LocalizedErrorMap http_error_options[] = { 153 const LocalizedErrorMap http_error_options[] = {
136 {403, 154 {403,
137 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, 155 IDS_ERRORPAGES_TITLE_ACCESS_DENIED,
138 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, 156 IDS_ERRORPAGES_HEADING_ACCESS_DENIED,
139 IDS_ERRORPAGES_SUMMARY_FORBIDDEN, 157 IDS_ERRORPAGES_SUMMARY_FORBIDDEN,
140 IDS_ERRORPAGES_DETAILS_FORBIDDEN, 158 IDS_ERRORPAGES_DETAILS_FORBIDDEN,
141 SUGGEST_NONE, 159 SUGGEST_NONE,
142 }, 160 },
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 394
377 if (options.suggestions & SUGGEST_LEARNMORE) { 395 if (options.suggestions & SUGGEST_LEARNMORE) {
378 GURL learn_more_url; 396 GURL learn_more_url;
379 switch (options.error_code) { 397 switch (options.error_code) {
380 case net::ERR_TOO_MANY_REDIRECTS: 398 case net::ERR_TOO_MANY_REDIRECTS:
381 learn_more_url = GURL(kRedirectLoopLearnMoreUrl); 399 learn_more_url = GURL(kRedirectLoopLearnMoreUrl);
382 break; 400 break;
383 case net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY: 401 case net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY:
384 learn_more_url = GURL(kWeakDHKeyLearnMoreUrl); 402 learn_more_url = GURL(kWeakDHKeyLearnMoreUrl);
385 break; 403 break;
404 case net::ERR_ESET_ANTI_VIRUS_SSL_INTERCEPTION:
405 learn_more_url = GURL(kESETLearnMoreUrl);
406 break;
407 case net::ERR_NETNANNY_SSL_INTERCEPTION:
408 learn_more_url = GURL(kNetNannyLearnMoreUrl);
409 break;
386 default: 410 default:
387 break; 411 break;
388 } 412 }
389 413
390 if (learn_more_url.is_valid()) { 414 if (learn_more_url.is_valid()) {
391 // Add the language parameter to the URL. 415 // Add the language parameter to the URL.
392 std::string query = learn_more_url.query() + "&hl=" + 416 std::string query = learn_more_url.query() + "&hl=" +
393 webkit_glue::GetWebKitLocale(); 417 webkit_glue::GetWebKitLocale();
394 GURL::Replacements repl; 418 GURL::Replacements repl;
395 repl.SetQueryStr(query); 419 repl.SetQueryStr(query);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 error_strings->SetString( 470 error_strings->SetString(
447 "url", l10n_util::GetStringFUTF16(IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 471 "url", l10n_util::GetStringFUTF16(IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
448 failed_url.c_str())); 472 failed_url.c_str()));
449 473
450 error_strings->SetString("title", app->name()); 474 error_strings->SetString("title", app->name());
451 error_strings->SetString("icon", app->icon_url().spec()); 475 error_strings->SetString("icon", app->icon_url().spec());
452 error_strings->SetString("name", app->name()); 476 error_strings->SetString("name", app->name());
453 error_strings->SetString("msg", 477 error_strings->SetString("msg",
454 l10n_util::GetStringUTF16(IDS_ERRORPAGES_APP_WARNING)); 478 l10n_util::GetStringUTF16(IDS_ERRORPAGES_APP_WARNING));
455 } 479 }
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | net/base/net_error_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698