Index: chrome/browser/net/ssl_config_service_manager_pref.cc |
diff --git a/chrome/browser/net/ssl_config_service_manager_pref.cc b/chrome/browser/net/ssl_config_service_manager_pref.cc |
index c193463d0d4287968998f13cc0e32041685b386a..4c10655144b02856dbabecb9d0b7edbf0a614d25 100644 |
--- a/chrome/browser/net/ssl_config_service_manager_pref.cc |
+++ b/chrome/browser/net/ssl_config_service_manager_pref.cc |
@@ -62,40 +62,6 @@ std::vector<uint16> ParseCipherSuites( |
return cipher_suites; |
} |
-// Returns the string representation of an SSL protocol version. Returns an |
-// empty string on error. |
-std::string SSLProtocolVersionToString(uint16 version) { |
- switch (version) { |
- case net::SSL_PROTOCOL_VERSION_SSL3: |
- return "ssl3"; |
- case net::SSL_PROTOCOL_VERSION_TLS1: |
- return "tls1"; |
- case net::SSL_PROTOCOL_VERSION_TLS1_1: |
- return "tls1.1"; |
- case net::SSL_PROTOCOL_VERSION_TLS1_2: |
- return "tls1.2"; |
- default: |
- NOTREACHED(); |
- return std::string(); |
- } |
-} |
- |
-// Returns the SSL protocol version (as a uint16) represented by a string. |
-// Returns 0 if the string is invalid. |
-uint16 SSLProtocolVersionFromString(const std::string& version_str) { |
- uint16 version = 0; // Invalid. |
- if (version_str == "ssl3") { |
- version = net::SSL_PROTOCOL_VERSION_SSL3; |
- } else if (version_str == "tls1") { |
- version = net::SSL_PROTOCOL_VERSION_TLS1; |
- } else if (version_str == "tls1.1") { |
- version = net::SSL_PROTOCOL_VERSION_TLS1_1; |
- } else if (version_str == "tls1.2") { |
- version = net::SSL_PROTOCOL_VERSION_TLS1_2; |
- } |
- return version; |
-} |
- |
} // namespace |
//////////////////////////////////////////////////////////////////////////////// |
@@ -180,6 +146,7 @@ class SSLConfigServiceManagerPref |
StringPrefMember ssl_version_max_; |
BooleanPrefMember channel_id_enabled_; |
BooleanPrefMember ssl_record_splitting_disabled_; |
+ BooleanPrefMember ssl_version_min_preloaded_disabled_; |
// The cached list of disabled SSL cipher suites. |
std::vector<uint16> disabled_cipher_suites_; |
@@ -219,6 +186,8 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref( |
prefs::kEnableOriginBoundCerts, local_state, local_state_callback); |
ssl_record_splitting_disabled_.Init( |
prefs::kDisableSSLRecordSplitting, local_state, local_state_callback); |
+ ssl_version_min_preloaded_disabled_.Init( |
+ prefs::kDisableSSLVersionMinPreloaded, local_state, local_state_callback); |
local_state_change_registrar_.Init(local_state); |
local_state_change_registrar_.Add( |
@@ -251,15 +220,18 @@ void SSLConfigServiceManagerPref::RegisterPrefs(PrefRegistrySimple* registry) { |
registry->RegisterBooleanPref(prefs::kCertRevocationCheckingEnabled, |
default_config.rev_checking_enabled); |
std::string version_min_str = |
- SSLProtocolVersionToString(default_config.version_min); |
+ net::SSLConfig::SSLProtocolVersionToString(default_config.version_min); |
std::string version_max_str = |
- SSLProtocolVersionToString(default_config.version_max); |
+ net::SSLConfig::SSLProtocolVersionToString(default_config.version_max); |
registry->RegisterStringPref(prefs::kSSLVersionMin, version_min_str); |
registry->RegisterStringPref(prefs::kSSLVersionMax, version_max_str); |
registry->RegisterBooleanPref(prefs::kEnableOriginBoundCerts, |
default_config.channel_id_enabled); |
registry->RegisterBooleanPref(prefs::kDisableSSLRecordSplitting, |
!default_config.false_start_enabled); |
+ registry->RegisterBooleanPref( |
+ prefs::kDisableSSLVersionMinPreloaded, |
+ default_config.ssl_version_min_preloaded_disabled); |
registry->RegisterListPref(prefs::kCipherSuiteBlacklist); |
} |
@@ -298,8 +270,10 @@ void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs( |
std::string version_max_str = ssl_version_max_.GetValue(); |
config->version_min = net::SSLConfigService::default_version_min(); |
config->version_max = net::SSLConfigService::default_version_max(); |
- uint16 version_min = SSLProtocolVersionFromString(version_min_str); |
- uint16 version_max = SSLProtocolVersionFromString(version_max_str); |
+ uint16 version_min = net::SSLConfig::SSLProtocolVersionFromString( |
+ version_min_str); |
+ uint16 version_max = net::SSLConfig::SSLProtocolVersionFromString( |
+ version_max_str); |
if (version_min) { |
// TODO(wtc): get the minimum SSL protocol version supported by the |
// SSLClientSocket class. Right now it happens to be the same as the |
@@ -321,6 +295,8 @@ void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs( |
config->channel_id_enabled = false; |
// disabling False Start also happens to disable record splitting. |
config->false_start_enabled = !ssl_record_splitting_disabled_.GetValue(); |
+ config->ssl_version_min_preloaded_disabled = |
+ ssl_version_min_preloaded_disabled_.GetValue(); |
SSLConfigServicePref::SetSSLConfigFlags(config); |
} |