diff options
author | rkn@chromium.org <rkn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-21 16:55:17 +0000 |
---|---|---|
committer | rkn@chromium.org <rkn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-21 16:55:17 +0000 |
commit | feb79bcd1b3f755b1125ba471c4e17c7b7ede66d (patch) | |
tree | 612c11cda543dbb6342d87613274a62aa08d8100 /net/socket_stream | |
parent | 6b4adc7d6f8787274a0fcf080777032521912e0c (diff) | |
download | chromium_src-feb79bcd1b3f755b1125ba471c4e17c7b7ede66d.zip chromium_src-feb79bcd1b3f755b1125ba471c4e17c7b7ede66d.tar.gz chromium_src-feb79bcd1b3f755b1125ba471c4e17c7b7ede66d.tar.bz2 |
Added an OriginBoundCertStore field to the SSLClientSocketNSS class and
did the plumbing to pass this field through the layers. In addition,
this CL groups several fields together into a single struct |SSLClientSocket::Context|.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7315009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93416 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket_stream')
-rw-r--r-- | net/socket_stream/socket_stream.cc | 7 | ||||
-rw-r--r-- | net/socket_stream/socket_stream.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/net/socket_stream/socket_stream.cc b/net/socket_stream/socket_stream.cc index b8e9773..74eabec 100644 --- a/net/socket_stream/socket_stream.cc +++ b/net/socket_stream/socket_stream.cc @@ -53,6 +53,7 @@ SocketStream::SocketStream(const GURL& url, Delegate* delegate) next_state_(STATE_NONE), host_resolver_(NULL), cert_verifier_(NULL), + origin_bound_cert_service_(NULL), http_auth_handler_factory_(NULL), factory_(ClientSocketFactory::GetDefaultFactory()), proxy_mode_(kDirectConnection), @@ -121,6 +122,7 @@ void SocketStream::set_context(URLRequestContext* context) { if (context_) { host_resolver_ = context_->host_resolver(); cert_verifier_ = context_->cert_verifier(); + origin_bound_cert_service_ = context_->origin_bound_cert_service(); http_auth_handler_factory_ = context_->http_auth_handler_factory(); } } @@ -850,12 +852,15 @@ int SocketStream::DoSOCKSConnectComplete(int result) { int SocketStream::DoSSLConnect() { DCHECK(factory_); + SSLClientSocketContext ssl_context; + ssl_context.cert_verifier = cert_verifier_; + ssl_context.origin_bound_cert_service = origin_bound_cert_service_; // TODO(agl): look into plumbing SSLHostInfo here. socket_.reset(factory_->CreateSSLClientSocket(socket_.release(), HostPortPair::FromURL(url_), ssl_config_, NULL /* ssl_host_info */, - cert_verifier_)); + ssl_context)); next_state_ = STATE_SSL_CONNECT_COMPLETE; metrics_->OnCountConnectionType(SocketStreamMetrics::SSL_CONNECTION); return socket_->Connect(&io_callback_); diff --git a/net/socket_stream/socket_stream.h b/net/socket_stream/socket_stream.h index 3cbea0f..19331f4 100644 --- a/net/socket_stream/socket_stream.h +++ b/net/socket_stream/socket_stream.h @@ -304,6 +304,7 @@ class NET_API SocketStream : public base::RefCountedThreadSafe<SocketStream> { State next_state_; HostResolver* host_resolver_; CertVerifier* cert_verifier_; + OriginBoundCertService* origin_bound_cert_service_; HttpAuthHandlerFactory* http_auth_handler_factory_; ClientSocketFactory* factory_; |