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

Side by Side Diff: net/socket_stream/socket_stream.cc

Issue 9617039: Change Origin bound certs -> Domain bound certs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « net/socket_stream/socket_stream.h ('k') | net/spdy/spdy_http_stream_spdy2_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // TODO(ukai): code is similar with http_network_transaction.cc. We should 5 // TODO(ukai): code is similar with http_network_transaction.cc. We should
6 // think about ways to share code, if possible. 6 // think about ways to share code, if possible.
7 7
8 #include "net/socket_stream/socket_stream.h" 8 #include "net/socket_stream/socket_stream.h"
9 9
10 #include <set> 10 #include <set>
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 51
52 SocketStream::ResponseHeaders::~ResponseHeaders() { data_ = NULL; } 52 SocketStream::ResponseHeaders::~ResponseHeaders() { data_ = NULL; }
53 53
54 SocketStream::SocketStream(const GURL& url, Delegate* delegate) 54 SocketStream::SocketStream(const GURL& url, Delegate* delegate)
55 : delegate_(delegate), 55 : delegate_(delegate),
56 url_(url), 56 url_(url),
57 max_pending_send_allowed_(kMaxPendingSendAllowed), 57 max_pending_send_allowed_(kMaxPendingSendAllowed),
58 next_state_(STATE_NONE), 58 next_state_(STATE_NONE),
59 host_resolver_(NULL), 59 host_resolver_(NULL),
60 cert_verifier_(NULL), 60 cert_verifier_(NULL),
61 origin_bound_cert_service_(NULL), 61 server_bound_cert_service_(NULL),
62 http_auth_handler_factory_(NULL), 62 http_auth_handler_factory_(NULL),
63 factory_(ClientSocketFactory::GetDefaultFactory()), 63 factory_(ClientSocketFactory::GetDefaultFactory()),
64 proxy_mode_(kDirectConnection), 64 proxy_mode_(kDirectConnection),
65 proxy_url_(url), 65 proxy_url_(url),
66 pac_request_(NULL), 66 pac_request_(NULL),
67 // Unretained() is required; without it, Bind() creates a circular 67 // Unretained() is required; without it, Bind() creates a circular
68 // dependency and the SocketStream object will not be freed. 68 // dependency and the SocketStream object will not be freed.
69 ALLOW_THIS_IN_INITIALIZER_LIST( 69 ALLOW_THIS_IN_INITIALIZER_LIST(
70 io_callback_(base::Bind(&SocketStream::OnIOCompleted, 70 io_callback_(base::Bind(&SocketStream::OnIOCompleted,
71 base::Unretained(this)))), 71 base::Unretained(this)))),
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 context->net_log(), 119 context->net_log(),
120 NetLog::SOURCE_SOCKET_STREAM); 120 NetLog::SOURCE_SOCKET_STREAM);
121 121
122 net_log_.BeginEvent(NetLog::TYPE_REQUEST_ALIVE, NULL); 122 net_log_.BeginEvent(NetLog::TYPE_REQUEST_ALIVE, NULL);
123 } 123 }
124 } 124 }
125 125
126 if (context_) { 126 if (context_) {
127 host_resolver_ = context_->host_resolver(); 127 host_resolver_ = context_->host_resolver();
128 cert_verifier_ = context_->cert_verifier(); 128 cert_verifier_ = context_->cert_verifier();
129 origin_bound_cert_service_ = context_->origin_bound_cert_service(); 129 server_bound_cert_service_ = context_->server_bound_cert_service();
130 http_auth_handler_factory_ = context_->http_auth_handler_factory(); 130 http_auth_handler_factory_ = context_->http_auth_handler_factory();
131 } 131 }
132 } 132 }
133 133
134 void SocketStream::Connect() { 134 void SocketStream::Connect() {
135 DCHECK(MessageLoop::current()) << 135 DCHECK(MessageLoop::current()) <<
136 "The current MessageLoop must exist"; 136 "The current MessageLoop must exist";
137 DCHECK_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type()) << 137 DCHECK_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type()) <<
138 "The current MessageLoop must be TYPE_IO"; 138 "The current MessageLoop must be TYPE_IO";
139 if (context_) { 139 if (context_) {
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 } else { 916 } else {
917 next_state_ = STATE_CLOSE; 917 next_state_ = STATE_CLOSE;
918 } 918 }
919 return result; 919 return result;
920 } 920 }
921 921
922 int SocketStream::DoSecureProxyConnect() { 922 int SocketStream::DoSecureProxyConnect() {
923 DCHECK(factory_); 923 DCHECK(factory_);
924 SSLClientSocketContext ssl_context; 924 SSLClientSocketContext ssl_context;
925 ssl_context.cert_verifier = cert_verifier_; 925 ssl_context.cert_verifier = cert_verifier_;
926 ssl_context.origin_bound_cert_service = origin_bound_cert_service_; 926 ssl_context.server_bound_cert_service = server_bound_cert_service_;
927 // TODO(agl): look into plumbing SSLHostInfo here. 927 // TODO(agl): look into plumbing SSLHostInfo here.
928 socket_.reset(factory_->CreateSSLClientSocket( 928 socket_.reset(factory_->CreateSSLClientSocket(
929 socket_.release(), 929 socket_.release(),
930 proxy_info_.proxy_server().host_port_pair(), 930 proxy_info_.proxy_server().host_port_pair(),
931 proxy_ssl_config_, 931 proxy_ssl_config_,
932 NULL /* ssl_host_info */, 932 NULL /* ssl_host_info */,
933 ssl_context)); 933 ssl_context));
934 next_state_ = STATE_SECURE_PROXY_CONNECT_COMPLETE; 934 next_state_ = STATE_SECURE_PROXY_CONNECT_COMPLETE;
935 metrics_->OnCountConnectionType(SocketStreamMetrics::SECURE_PROXY_CONNECTION); 935 metrics_->OnCountConnectionType(SocketStreamMetrics::SECURE_PROXY_CONNECTION);
936 return socket_->Connect(io_callback_); 936 return socket_->Connect(io_callback_);
(...skipping 10 matching lines...) Expand all
947 next_state_ = STATE_WRITE_TUNNEL_HEADERS; 947 next_state_ = STATE_WRITE_TUNNEL_HEADERS;
948 else 948 else
949 next_state_ = STATE_CLOSE; 949 next_state_ = STATE_CLOSE;
950 return result; 950 return result;
951 } 951 }
952 952
953 int SocketStream::DoSSLConnect() { 953 int SocketStream::DoSSLConnect() {
954 DCHECK(factory_); 954 DCHECK(factory_);
955 SSLClientSocketContext ssl_context; 955 SSLClientSocketContext ssl_context;
956 ssl_context.cert_verifier = cert_verifier_; 956 ssl_context.cert_verifier = cert_verifier_;
957 ssl_context.origin_bound_cert_service = origin_bound_cert_service_; 957 ssl_context.server_bound_cert_service = server_bound_cert_service_;
958 // TODO(agl): look into plumbing SSLHostInfo here. 958 // TODO(agl): look into plumbing SSLHostInfo here.
959 socket_.reset(factory_->CreateSSLClientSocket(socket_.release(), 959 socket_.reset(factory_->CreateSSLClientSocket(socket_.release(),
960 HostPortPair::FromURL(url_), 960 HostPortPair::FromURL(url_),
961 server_ssl_config_, 961 server_ssl_config_,
962 NULL /* ssl_host_info */, 962 NULL /* ssl_host_info */,
963 ssl_context)); 963 ssl_context));
964 next_state_ = STATE_SSL_CONNECT_COMPLETE; 964 next_state_ = STATE_SSL_CONNECT_COMPLETE;
965 metrics_->OnCountConnectionType(SocketStreamMetrics::SSL_CONNECTION); 965 metrics_->OnCountConnectionType(SocketStreamMetrics::SSL_CONNECTION);
966 return socket_->Connect(io_callback_); 966 return socket_->Connect(io_callback_);
967 } 967 }
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 1207
1208 SSLConfigService* SocketStream::ssl_config_service() const { 1208 SSLConfigService* SocketStream::ssl_config_service() const {
1209 return context_->ssl_config_service(); 1209 return context_->ssl_config_service();
1210 } 1210 }
1211 1211
1212 ProxyService* SocketStream::proxy_service() const { 1212 ProxyService* SocketStream::proxy_service() const {
1213 return context_->proxy_service(); 1213 return context_->proxy_service();
1214 } 1214 }
1215 1215
1216 } // namespace net 1216 } // namespace net
OLDNEW
« no previous file with comments | « net/socket_stream/socket_stream.h ('k') | net/spdy/spdy_http_stream_spdy2_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698