| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "net/socket/ssl_client_socket_pool.h" | 5 #include "net/socket/ssl_client_socket_pool.h" |
| 6 | 6 |
| 7 #include "base/metrics/field_trial.h" | 7 #include "base/metrics/field_trial.h" |
| 8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "net/base/net_errors.h" | 10 #include "net/base/net_errors.h" |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 DCHECK(transport_pool_); | 187 DCHECK(transport_pool_); |
| 188 | 188 |
| 189 if (context_.ssl_host_info_factory) { | 189 if (context_.ssl_host_info_factory) { |
| 190 ssl_host_info_.reset( | 190 ssl_host_info_.reset( |
| 191 context_.ssl_host_info_factory->GetForHost( | 191 context_.ssl_host_info_factory->GetForHost( |
| 192 params_->host_and_port().host(), | 192 params_->host_and_port().host(), |
| 193 params_->ssl_config())); | 193 params_->ssl_config())); |
| 194 } | 194 } |
| 195 | 195 |
| 196 if (ssl_host_info_.get()) { | 196 if (ssl_host_info_.get()) { |
| 197 if (context_.dnsrr_resolver) | |
| 198 ssl_host_info_->StartDnsLookup(context_.dnsrr_resolver); | |
| 199 | |
| 200 // This starts fetching the SSL host info from the disk cache for early | 197 // This starts fetching the SSL host info from the disk cache for early |
| 201 // certificate verification and the TLS cached information extension. | 198 // certificate verification and the TLS cached information extension. |
| 202 ssl_host_info_->Start(); | 199 ssl_host_info_->Start(); |
| 203 } | 200 } |
| 204 | 201 |
| 205 next_state_ = STATE_TRANSPORT_CONNECT_COMPLETE; | 202 next_state_ = STATE_TRANSPORT_CONNECT_COMPLETE; |
| 206 transport_socket_handle_.reset(new ClientSocketHandle()); | 203 transport_socket_handle_.reset(new ClientSocketHandle()); |
| 207 scoped_refptr<TransportSocketParams> transport_params = | 204 scoped_refptr<TransportSocketParams> transport_params = |
| 208 params_->transport_params(); | 205 params_->transport_params(); |
| 209 return transport_socket_handle_->Init( | 206 return transport_socket_handle_->Init( |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 439 base::TimeDelta::FromSeconds(kSSLHandshakeTimeoutInSeconds); | 436 base::TimeDelta::FromSeconds(kSSLHandshakeTimeoutInSeconds); |
| 440 } | 437 } |
| 441 | 438 |
| 442 SSLClientSocketPool::SSLClientSocketPool( | 439 SSLClientSocketPool::SSLClientSocketPool( |
| 443 int max_sockets, | 440 int max_sockets, |
| 444 int max_sockets_per_group, | 441 int max_sockets_per_group, |
| 445 ClientSocketPoolHistograms* histograms, | 442 ClientSocketPoolHistograms* histograms, |
| 446 HostResolver* host_resolver, | 443 HostResolver* host_resolver, |
| 447 CertVerifier* cert_verifier, | 444 CertVerifier* cert_verifier, |
| 448 OriginBoundCertService* origin_bound_cert_service, | 445 OriginBoundCertService* origin_bound_cert_service, |
| 449 DnsRRResolver* dnsrr_resolver, | 446 TransportSecurityState* transport_security_state, |
| 450 DnsCertProvenanceChecker* dns_cert_checker, | 447 DnsCertProvenanceChecker* dns_cert_checker, |
| 451 SSLHostInfoFactory* ssl_host_info_factory, | 448 SSLHostInfoFactory* ssl_host_info_factory, |
| 452 ClientSocketFactory* client_socket_factory, | 449 ClientSocketFactory* client_socket_factory, |
| 453 TransportClientSocketPool* transport_pool, | 450 TransportClientSocketPool* transport_pool, |
| 454 SOCKSClientSocketPool* socks_pool, | 451 SOCKSClientSocketPool* socks_pool, |
| 455 HttpProxyClientSocketPool* http_proxy_pool, | 452 HttpProxyClientSocketPool* http_proxy_pool, |
| 456 SSLConfigService* ssl_config_service, | 453 SSLConfigService* ssl_config_service, |
| 457 NetLog* net_log) | 454 NetLog* net_log) |
| 458 : transport_pool_(transport_pool), | 455 : transport_pool_(transport_pool), |
| 459 socks_pool_(socks_pool), | 456 socks_pool_(socks_pool), |
| 460 http_proxy_pool_(http_proxy_pool), | 457 http_proxy_pool_(http_proxy_pool), |
| 461 base_(max_sockets, max_sockets_per_group, histograms, | 458 base_(max_sockets, max_sockets_per_group, histograms, |
| 462 ClientSocketPool::unused_idle_socket_timeout(), | 459 ClientSocketPool::unused_idle_socket_timeout(), |
| 463 ClientSocketPool::used_idle_socket_timeout(), | 460 ClientSocketPool::used_idle_socket_timeout(), |
| 464 new SSLConnectJobFactory(transport_pool, | 461 new SSLConnectJobFactory(transport_pool, |
| 465 socks_pool, | 462 socks_pool, |
| 466 http_proxy_pool, | 463 http_proxy_pool, |
| 467 client_socket_factory, | 464 client_socket_factory, |
| 468 host_resolver, | 465 host_resolver, |
| 469 SSLClientSocketContext( | 466 SSLClientSocketContext( |
| 470 cert_verifier, | 467 cert_verifier, |
| 471 origin_bound_cert_service, | 468 origin_bound_cert_service, |
| 472 dnsrr_resolver, | 469 transport_security_state, |
| 473 dns_cert_checker, | 470 dns_cert_checker, |
| 474 ssl_host_info_factory), | 471 ssl_host_info_factory), |
| 475 net_log)), | 472 net_log)), |
| 476 ssl_config_service_(ssl_config_service) { | 473 ssl_config_service_(ssl_config_service) { |
| 477 if (ssl_config_service_) | 474 if (ssl_config_service_) |
| 478 ssl_config_service_->AddObserver(this); | 475 ssl_config_service_->AddObserver(this); |
| 479 } | 476 } |
| 480 | 477 |
| 481 SSLClientSocketPool::~SSLClientSocketPool() { | 478 SSLClientSocketPool::~SSLClientSocketPool() { |
| 482 if (ssl_config_service_) | 479 if (ssl_config_service_) |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 | 579 |
| 583 ClientSocketPoolHistograms* SSLClientSocketPool::histograms() const { | 580 ClientSocketPoolHistograms* SSLClientSocketPool::histograms() const { |
| 584 return base_.histograms(); | 581 return base_.histograms(); |
| 585 } | 582 } |
| 586 | 583 |
| 587 void SSLClientSocketPool::OnSSLConfigChanged() { | 584 void SSLClientSocketPool::OnSSLConfigChanged() { |
| 588 Flush(); | 585 Flush(); |
| 589 } | 586 } |
| 590 | 587 |
| 591 } // namespace net | 588 } // namespace net |
| OLD | NEW |