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

Side by Side Diff: net/socket/ssl_client_socket_pool.cc

Issue 869393005: Perform ClientHello padding if the field trial is enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@net_connection_error_uma
Patch Set: Created 5 years, 10 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 (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 4
5 #include "net/socket/ssl_client_socket_pool.h" 5 #include "net/socket/ssl_client_socket_pool.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 socks_pool_(socks_pool), 191 socks_pool_(socks_pool),
192 http_proxy_pool_(http_proxy_pool), 192 http_proxy_pool_(http_proxy_pool),
193 client_socket_factory_(client_socket_factory), 193 client_socket_factory_(client_socket_factory),
194 context_(context.cert_verifier, 194 context_(context.cert_verifier,
195 context.channel_id_service, 195 context.channel_id_service,
196 context.transport_security_state, 196 context.transport_security_state,
197 context.cert_transparency_verifier, 197 context.cert_transparency_verifier,
198 context.cert_policy_enforcer, 198 context.cert_policy_enforcer,
199 (params->privacy_mode() == PRIVACY_MODE_ENABLED 199 (params->privacy_mode() == PRIVACY_MODE_ENABLED
200 ? "pm/" + context.ssl_session_cache_shard 200 ? "pm/" + context.ssl_session_cache_shard
201 : context.ssl_session_cache_shard)), 201 : context.ssl_session_cache_shard),
202 context.ssl_socket_config_service),
202 io_callback_( 203 io_callback_(
203 base::Bind(&SSLConnectJob::OnIOComplete, base::Unretained(this))), 204 base::Bind(&SSLConnectJob::OnIOComplete, base::Unretained(this))),
204 messenger_(NULL), 205 messenger_(NULL),
205 get_messenger_callback_(get_messenger_callback), 206 get_messenger_callback_(get_messenger_callback),
206 weak_factory_(this) { 207 weak_factory_(this) {
207 } 208 }
208 209
209 SSLConnectJob::~SSLConnectJob() { 210 SSLConnectJob::~SSLConnectJob() {
210 if (ssl_socket_.get() && messenger_) 211 if (ssl_socket_.get() && messenger_)
211 messenger_->RemovePendingSocket(ssl_socket_.get()); 212 messenger_->RemovePendingSocket(ssl_socket_.get());
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 TransportSecurityState* transport_security_state, 632 TransportSecurityState* transport_security_state,
632 CTVerifier* cert_transparency_verifier, 633 CTVerifier* cert_transparency_verifier,
633 CertPolicyEnforcer* cert_policy_enforcer, 634 CertPolicyEnforcer* cert_policy_enforcer,
634 const std::string& ssl_session_cache_shard, 635 const std::string& ssl_session_cache_shard,
635 ClientSocketFactory* client_socket_factory, 636 ClientSocketFactory* client_socket_factory,
636 TransportClientSocketPool* transport_pool, 637 TransportClientSocketPool* transport_pool,
637 SOCKSClientSocketPool* socks_pool, 638 SOCKSClientSocketPool* socks_pool,
638 HttpProxyClientSocketPool* http_proxy_pool, 639 HttpProxyClientSocketPool* http_proxy_pool,
639 SSLConfigService* ssl_config_service, 640 SSLConfigService* ssl_config_service,
640 bool enable_ssl_connect_job_waiting, 641 bool enable_ssl_connect_job_waiting,
641 NetLog* net_log) 642 NetLog* net_log,
643 SSLSocketConfigService* ssl_socket_config_service)
642 : transport_pool_(transport_pool), 644 : transport_pool_(transport_pool),
643 socks_pool_(socks_pool), 645 socks_pool_(socks_pool),
644 http_proxy_pool_(http_proxy_pool), 646 http_proxy_pool_(http_proxy_pool),
645 base_(this, 647 base_(this,
646 max_sockets, 648 max_sockets,
647 max_sockets_per_group, 649 max_sockets_per_group,
648 histograms, 650 histograms,
649 ClientSocketPool::unused_idle_socket_timeout(), 651 ClientSocketPool::unused_idle_socket_timeout(),
650 ClientSocketPool::used_idle_socket_timeout(), 652 ClientSocketPool::used_idle_socket_timeout(),
651 new SSLConnectJobFactory( 653 new SSLConnectJobFactory(
652 transport_pool, 654 transport_pool,
653 socks_pool, 655 socks_pool,
654 http_proxy_pool, 656 http_proxy_pool,
655 client_socket_factory, 657 client_socket_factory,
656 SSLClientSocketContext(cert_verifier, 658 SSLClientSocketContext(cert_verifier,
657 channel_id_service, 659 channel_id_service,
658 transport_security_state, 660 transport_security_state,
659 cert_transparency_verifier, 661 cert_transparency_verifier,
660 cert_policy_enforcer, 662 cert_policy_enforcer,
661 ssl_session_cache_shard), 663 ssl_session_cache_shard,
664 ssl_socket_config_service),
662 base::Bind( 665 base::Bind(
663 &SSLClientSocketPool::GetOrCreateSSLConnectJobMessenger, 666 &SSLClientSocketPool::GetOrCreateSSLConnectJobMessenger,
664 base::Unretained(this)), 667 base::Unretained(this)),
665 net_log)), 668 net_log)),
666 ssl_config_service_(ssl_config_service), 669 ssl_config_service_(ssl_config_service),
667 enable_ssl_connect_job_waiting_(enable_ssl_connect_job_waiting) { 670 enable_ssl_connect_job_waiting_(enable_ssl_connect_job_waiting) {
668 if (ssl_config_service_.get()) 671 if (ssl_config_service_.get())
669 ssl_config_service_->AddObserver(this); 672 ssl_config_service_->AddObserver(this);
670 if (transport_pool_) 673 if (transport_pool_)
671 base_.AddLowerLayeredPool(transport_pool_); 674 base_.AddLowerLayeredPool(transport_pool_);
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 CHECK(it != messenger_map_.end()); 843 CHECK(it != messenger_map_.end());
841 delete it->second; 844 delete it->second;
842 messenger_map_.erase(it); 845 messenger_map_.erase(it);
843 } 846 }
844 847
845 void SSLClientSocketPool::OnSSLConfigChanged() { 848 void SSLClientSocketPool::OnSSLConfigChanged() {
846 FlushWithError(ERR_NETWORK_CHANGED); 849 FlushWithError(ERR_NETWORK_CHANGED);
847 } 850 }
848 851
849 } // namespace net 852 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698