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 |