diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-02 17:10:14 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-02 17:10:14 +0000 |
commit | 102957f8a81d2aeb4e0069603977221a3b93a0bd (patch) | |
tree | a69ebeb9bce5664d399e66e6452ebc62b25993cb /net/http/http_stream_factory_impl.cc | |
parent | 0c9649c6ab1dbc87b133ccd561e8ecfd91cd6c73 (diff) | |
download | chromium_src-102957f8a81d2aeb4e0069603977221a3b93a0bd.zip chromium_src-102957f8a81d2aeb4e0069603977221a3b93a0bd.tar.gz chromium_src-102957f8a81d2aeb4e0069603977221a3b93a0bd.tar.bz2 |
Change HttpNetworkTransaction and HttpStreamFactoryImpl::Job
to keep different SSLConfig objects for HTTPS Proxies vs
HTTPS Servers.
Add an is_proxy field to SSLCertRequest indicating if the
request came from a proxy or from an origin server.
BUG=95071
Review URL: http://codereview.chromium.org/7768002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99392 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_stream_factory_impl.cc')
-rw-r--r-- | net/http/http_stream_factory_impl.cc | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/net/http/http_stream_factory_impl.cc b/net/http/http_stream_factory_impl.cc index dacc2fb..ebb0ec7 100644 --- a/net/http/http_stream_factory_impl.cc +++ b/net/http/http_stream_factory_impl.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -51,7 +51,8 @@ HttpStreamFactoryImpl::~HttpStreamFactoryImpl() { HttpStreamRequest* HttpStreamFactoryImpl::RequestStream( const HttpRequestInfo& request_info, - const SSLConfig& ssl_config, + const SSLConfig& server_ssl_config, + const SSLConfig& proxy_ssl_config, HttpStreamRequest::Delegate* delegate, const BoundNetLog& net_log) { Request* request = new Request(request_info.url, this, delegate, net_log); @@ -64,12 +65,14 @@ HttpStreamRequest* HttpStreamFactoryImpl::RequestStream( HttpRequestInfo alternate_request_info = request_info; alternate_request_info.url = alternate_url; alternate_job = - new Job(this, session_, alternate_request_info, ssl_config, net_log); + new Job(this, session_, alternate_request_info, server_ssl_config, + proxy_ssl_config, net_log); request->AttachJob(alternate_job); alternate_job->MarkAsAlternate(request_info.url); } - Job* job = new Job(this, session_, request_info, ssl_config, net_log); + Job* job = new Job(this, session_, request_info, server_ssl_config, + proxy_ssl_config, net_log); request->AttachJob(job); if (alternate_job) { job->WaitFor(alternate_job); @@ -88,7 +91,8 @@ HttpStreamRequest* HttpStreamFactoryImpl::RequestStream( void HttpStreamFactoryImpl::PreconnectStreams( int num_streams, const HttpRequestInfo& request_info, - const SSLConfig& ssl_config, + const SSLConfig& server_ssl_config, + const SSLConfig& proxy_ssl_config, const BoundNetLog& net_log) { GURL alternate_url; bool has_alternate_protocol = @@ -97,10 +101,12 @@ void HttpStreamFactoryImpl::PreconnectStreams( if (has_alternate_protocol) { HttpRequestInfo alternate_request_info = request_info; alternate_request_info.url = alternate_url; - job = new Job(this, session_, alternate_request_info, ssl_config, net_log); + job = new Job(this, session_, alternate_request_info, server_ssl_config, + proxy_ssl_config, net_log); job->MarkAsAlternate(request_info.url); } else { - job = new Job(this, session_, request_info, ssl_config, net_log); + job = new Job(this, session_, request_info, server_ssl_config, + proxy_ssl_config, net_log); } preconnect_job_set_.insert(job); job->Preconnect(num_streams); |