From a0deaecf001cf21b043c968d10200307d4105ec2 Mon Sep 17 00:00:00 2001 From: "davidben@chromium.org" Date: Wed, 18 Aug 2010 23:39:52 +0000 Subject: Add a command-line flag to disable SSL/TLS False Start Some servers are not compatible with False Start. Adding a command-line flag will make it easier to test and verify such cases. Also, blacklist www.picnik.com as incompatible with False Start. BUG=50650 TEST=see bug Review URL: http://codereview.chromium.org/3167015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56622 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/browser_main.cc | 2 ++ chrome/browser/net/ssl_config_service_manager_pref.cc | 1 + chrome/common/chrome_switches.cc | 3 +++ chrome/common/chrome_switches.h | 1 + 4 files changed, 7 insertions(+) (limited to 'chrome') diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc index b5fa926..9730dbe 100644 --- a/chrome/browser/browser_main.cc +++ b/chrome/browser/browser_main.cc @@ -178,6 +178,8 @@ void BrowserMainParts::EarlyInitialization() { if (parsed_command_line().HasSwitch(switches::kEnableDNSSECCerts)) net::SSLConfigService::EnableDNSSEC(); + if (parsed_command_line().HasSwitch(switches::kDisableSSLFalseStart)) + net::SSLConfigService::DisableFalseStart(); PostEarlyInitialization(); } diff --git a/chrome/browser/net/ssl_config_service_manager_pref.cc b/chrome/browser/net/ssl_config_service_manager_pref.cc index c729d0e..23954c1 100644 --- a/chrome/browser/net/ssl_config_service_manager_pref.cc +++ b/chrome/browser/net/ssl_config_service_manager_pref.cc @@ -146,6 +146,7 @@ void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs( config->ssl3_enabled = ssl3_enabled_.GetValue(); config->tls1_enabled = tls1_enabled_.GetValue(); config->dnssec_enabled = net::SSLConfigService::dnssec_enabled(); + config->false_start_enabled = net::SSLConfigService::false_start_enabled(); } //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc index 5dfeb0c..6d55c59 100644 --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc @@ -226,6 +226,9 @@ const char kDisableSharedWorkers[] = "disable-shared-workers"; // Disable site-specific tailoring to compatibility issues in WebKit. const char kDisableSiteSpecificQuirks[] = "disable-site-specific-quirks"; +// Disable False Start in SSL and TLS connections. +const char kDisableSSLFalseStart[] = "disable-ssl-false-start"; + // Disable syncing browser data to a Google Account. const char kDisableSync[] = "disable-sync"; diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h index 770f6d9..a0636d7 100644 --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h @@ -79,6 +79,7 @@ extern const char kDisableRendererAccessibility[]; extern const char kDisableSessionStorage[]; extern const char kDisableSharedWorkers[]; extern const char kDisableSiteSpecificQuirks[]; +extern const char kDisableSSLFalseStart[]; extern const char kDisableSync[]; extern const char kDisableSyncApps[]; extern const char kDisableSyncAutofill[]; -- cgit v1.1