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

Side by Side Diff: components/cronet/url_request_context_config.cc

Issue 2097123002: QUIC - Race Cert Verification with host resolution if certs are (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Race cert verification. Created 4 years, 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/cronet/url_request_context_config.h" 5 #include "components/cronet/url_request_context_config.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 "idle_connection_timeout_seconds"; 42 "idle_connection_timeout_seconds";
43 const char kQuicHostWhitelist[] = "host_whitelist"; 43 const char kQuicHostWhitelist[] = "host_whitelist";
44 const char kQuicCloseSessionsOnIpChange[] = "close_sessions_on_ip_change"; 44 const char kQuicCloseSessionsOnIpChange[] = "close_sessions_on_ip_change";
45 const char kQuicMigrateSessionsOnNetworkChange[] = 45 const char kQuicMigrateSessionsOnNetworkChange[] =
46 "migrate_sessions_on_network_change"; 46 "migrate_sessions_on_network_change";
47 const char kQuicPreferAes[] = "prefer_aes"; 47 const char kQuicPreferAes[] = "prefer_aes";
48 const char kQuicUserAgentId[] = "user_agent_id"; 48 const char kQuicUserAgentId[] = "user_agent_id";
49 const char kQuicMigrateSessionsEarly[] = "migrate_sessions_early"; 49 const char kQuicMigrateSessionsEarly[] = "migrate_sessions_early";
50 const char kQuicDisableBidirectionalStreams[] = 50 const char kQuicDisableBidirectionalStreams[] =
51 "quic_disable_bidirectional_streams"; 51 "quic_disable_bidirectional_streams";
52 const char kQuicRaceCertVerification[] = "race_cert_verification";
52 53
53 // AsyncDNS experiment dictionary name. 54 // AsyncDNS experiment dictionary name.
54 const char kAsyncDnsFieldTrialName[] = "AsyncDNS"; 55 const char kAsyncDnsFieldTrialName[] = "AsyncDNS";
55 // Name of boolean to enable AsyncDNS experiment. 56 // Name of boolean to enable AsyncDNS experiment.
56 const char kAsyncDnsEnable[] = "enable"; 57 const char kAsyncDnsEnable[] = "enable";
57 58
58 const char kSSLKeyLogFile[] = "ssl_key_log_file"; 59 const char kSSLKeyLogFile[] = "ssl_key_log_file";
59 60
60 void ParseAndSetExperimentalOptions( 61 void ParseAndSetExperimentalOptions(
61 const std::string& experimental_options, 62 const std::string& experimental_options,
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 context_builder->set_quic_migrate_sessions_early( 177 context_builder->set_quic_migrate_sessions_early(
177 quic_migrate_sessions_early); 178 quic_migrate_sessions_early);
178 } 179 }
179 180
180 bool quic_disable_bidirectional_streams = false; 181 bool quic_disable_bidirectional_streams = false;
181 if (quic_args->GetBoolean(kQuicDisableBidirectionalStreams, 182 if (quic_args->GetBoolean(kQuicDisableBidirectionalStreams,
182 &quic_disable_bidirectional_streams)) { 183 &quic_disable_bidirectional_streams)) {
183 context_builder->set_quic_disable_bidirectional_streams( 184 context_builder->set_quic_disable_bidirectional_streams(
184 quic_disable_bidirectional_streams); 185 quic_disable_bidirectional_streams);
185 } 186 }
187
188 bool quic_race_cert_verification = true;
189 // TODO(rtenneti): Don't enable by default.
190 context_builder->set_quic_race_cert_verification(
191 quic_race_cert_verification);
192 if (quic_args->GetBoolean(kQuicRaceCertVerification,
193 &quic_race_cert_verification)) {
194 context_builder->set_quic_race_cert_verification(
195 quic_race_cert_verification);
196 }
186 } 197 }
187 198
188 const base::DictionaryValue* async_dns_args = nullptr; 199 const base::DictionaryValue* async_dns_args = nullptr;
189 if (dict->GetDictionary(kAsyncDnsFieldTrialName, &async_dns_args)) { 200 if (dict->GetDictionary(kAsyncDnsFieldTrialName, &async_dns_args)) {
190 bool async_dns_enable = false; 201 bool async_dns_enable = false;
191 if (async_dns_args->GetBoolean(kAsyncDnsEnable, &async_dns_enable) && 202 if (async_dns_args->GetBoolean(kAsyncDnsEnable, &async_dns_enable) &&
192 async_dns_enable) { 203 async_dns_enable) {
193 if (net_log == nullptr) { 204 if (net_log == nullptr) {
194 DCHECK(false) << "AsyncDNS experiment requires NetLog."; 205 DCHECK(false) << "AsyncDNS experiment requires NetLog.";
195 } else { 206 } else {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 311
301 ParseAndSetExperimentalOptions(experimental_options, context_builder, net_log, 312 ParseAndSetExperimentalOptions(experimental_options, context_builder, net_log,
302 file_task_runner); 313 file_task_runner);
303 314
304 if (mock_cert_verifier) 315 if (mock_cert_verifier)
305 context_builder->SetCertVerifier(std::move(mock_cert_verifier)); 316 context_builder->SetCertVerifier(std::move(mock_cert_verifier));
306 // TODO(mef): Use |config| to set cookies. 317 // TODO(mef): Use |config| to set cookies.
307 } 318 }
308 319
309 } // namespace cronet 320 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698