| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "components/ssl_config/ssl_config_service_manager.h" | 4 #include "components/ssl_config/ssl_config_service_manager.h" |
| 5 | 5 |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 } else if (version_str == switches::kSSLVersionTLSv11) { | 78 } else if (version_str == switches::kSSLVersionTLSv11) { |
| 79 version = net::SSL_PROTOCOL_VERSION_TLS1_1; | 79 version = net::SSL_PROTOCOL_VERSION_TLS1_1; |
| 80 } else if (version_str == switches::kSSLVersionTLSv12) { | 80 } else if (version_str == switches::kSSLVersionTLSv12) { |
| 81 version = net::SSL_PROTOCOL_VERSION_TLS1_2; | 81 version = net::SSL_PROTOCOL_VERSION_TLS1_2; |
| 82 } else if (version_str == switches::kSSLVersionTLSv13) { | 82 } else if (version_str == switches::kSSLVersionTLSv13) { |
| 83 version = net::SSL_PROTOCOL_VERSION_TLS1_3; | 83 version = net::SSL_PROTOCOL_VERSION_TLS1_3; |
| 84 } | 84 } |
| 85 return version; | 85 return version; |
| 86 } | 86 } |
| 87 | 87 |
| 88 const base::Feature kDHECiphersFeature{ | |
| 89 "DHECiphers", base::FEATURE_DISABLED_BY_DEFAULT, | |
| 90 }; | |
| 91 | |
| 92 const base::Feature kTLS13Feature{ | 88 const base::Feature kTLS13Feature{ |
| 93 "NegotiateTLS13", base::FEATURE_DISABLED_BY_DEFAULT, | 89 "NegotiateTLS13", base::FEATURE_DISABLED_BY_DEFAULT, |
| 94 }; | 90 }; |
| 95 | 91 |
| 96 } // namespace | 92 } // namespace |
| 97 | 93 |
| 98 //////////////////////////////////////////////////////////////////////////////// | 94 //////////////////////////////////////////////////////////////////////////////// |
| 99 // SSLConfigServicePref | 95 // SSLConfigServicePref |
| 100 | 96 |
| 101 // An SSLConfigService which stores a cached version of the current SSLConfig | 97 // An SSLConfigService which stores a cached version of the current SSLConfig |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 DISALLOW_COPY_AND_ASSIGN(SSLConfigServiceManagerPref); | 187 DISALLOW_COPY_AND_ASSIGN(SSLConfigServiceManagerPref); |
| 192 }; | 188 }; |
| 193 | 189 |
| 194 SSLConfigServiceManagerPref::SSLConfigServiceManagerPref( | 190 SSLConfigServiceManagerPref::SSLConfigServiceManagerPref( |
| 195 PrefService* local_state, | 191 PrefService* local_state, |
| 196 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) | 192 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) |
| 197 : ssl_config_service_(new SSLConfigServicePref(io_task_runner)), | 193 : ssl_config_service_(new SSLConfigServicePref(io_task_runner)), |
| 198 io_task_runner_(io_task_runner) { | 194 io_task_runner_(io_task_runner) { |
| 199 DCHECK(local_state); | 195 DCHECK(local_state); |
| 200 | 196 |
| 201 // Restore DHE-based ciphers if enabled via features. | |
| 202 // TODO(davidben): Remove this when the removal has succeeded. | |
| 203 // https://crbug.com/619194. | |
| 204 if (base::FeatureList::IsEnabled(kDHECiphersFeature)) { | |
| 205 local_state->SetDefaultPrefValue(ssl_config::prefs::kDHEEnabled, | |
| 206 new base::FundamentalValue(true)); | |
| 207 } | |
| 208 | |
| 209 if (base::FeatureList::IsEnabled(kTLS13Feature)) { | 197 if (base::FeatureList::IsEnabled(kTLS13Feature)) { |
| 210 local_state->SetDefaultPrefValue( | 198 local_state->SetDefaultPrefValue( |
| 211 ssl_config::prefs::kSSLVersionMax, | 199 ssl_config::prefs::kSSLVersionMax, |
| 212 new base::StringValue(switches::kSSLVersionTLSv13)); | 200 new base::StringValue(switches::kSSLVersionTLSv13)); |
| 213 } | 201 } |
| 214 | 202 |
| 215 PrefChangeRegistrar::NamedChangeCallback local_state_callback = | 203 PrefChangeRegistrar::NamedChangeCallback local_state_callback = |
| 216 base::Bind(&SSLConfigServiceManagerPref::OnPreferenceChanged, | 204 base::Bind(&SSLConfigServiceManagerPref::OnPreferenceChanged, |
| 217 base::Unretained(this), local_state); | 205 base::Unretained(this), local_state); |
| 218 | 206 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 PrefService* local_state, | 314 PrefService* local_state, |
| 327 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) { | 315 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) { |
| 328 return new SSLConfigServiceManagerPref(local_state, io_task_runner); | 316 return new SSLConfigServiceManagerPref(local_state, io_task_runner); |
| 329 } | 317 } |
| 330 | 318 |
| 331 // static | 319 // static |
| 332 void SSLConfigServiceManager::RegisterPrefs(PrefRegistrySimple* registry) { | 320 void SSLConfigServiceManager::RegisterPrefs(PrefRegistrySimple* registry) { |
| 333 SSLConfigServiceManagerPref::RegisterPrefs(registry); | 321 SSLConfigServiceManagerPref::RegisterPrefs(registry); |
| 334 } | 322 } |
| 335 } // namespace ssl_config | 323 } // namespace ssl_config |
| OLD | NEW |