diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-25 00:11:23 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-25 00:11:23 +0000 |
commit | 848080bffa1d80a18b9e0c11698e2e087a4ac32d (patch) | |
tree | 7a19e52578bfe8f815b1dd21a2950c66e5deccbd /net/socket/client_socket_pool_manager.h | |
parent | c1add6e37884157dc76375962f0f17d2e8916898 (diff) | |
download | chromium_src-848080bffa1d80a18b9e0c11698e2e087a4ac32d.zip chromium_src-848080bffa1d80a18b9e0c11698e2e087a4ac32d.tar.gz chromium_src-848080bffa1d80a18b9e0c11698e2e087a4ac32d.tar.bz2 |
Allow chrome to handle 407 auth challenges to CONNECT requests
through HTTPS Proxies. This also changes the mechanism used
to restart HttpProxyClientSocket requests with auth. Previously
the transport socket would be Disconnected, and then re-Connected
(which was not implemented for SSLClientSockets). However, the
approach was problematic in the face of, for example, ipv6. The
new approach is to close the HttpProxyClientSocket, and request
a new socket from the pool.
Initially was http://codereview.chromium.org/8502024
which turned out to have problems with NTLM auth.
Review URL: http://codereview.chromium.org/9148011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118950 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/client_socket_pool_manager.h')
-rw-r--r-- | net/socket/client_socket_pool_manager.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/socket/client_socket_pool_manager.h b/net/socket/client_socket_pool_manager.h index 7c1f865..f025e56 100644 --- a/net/socket/client_socket_pool_manager.h +++ b/net/socket/client_socket_pool_manager.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. // @@ -13,6 +13,7 @@ #include "net/base/completion_callback.h" #include "net/base/net_export.h" #include "net/base/request_priority.h" +#include "net/http/http_proxy_client_socket_pool.h" class GURL; @@ -26,7 +27,6 @@ class BoundNetLog; class ClientSocketHandle; class HostPortPair; class HttpNetworkSession; -class HttpProxyClientSocketPool; class HttpRequestHeaders; class ProxyInfo; class TransportClientSocketPool; @@ -88,6 +88,7 @@ int InitSocketHandleForHttpRequest( const SSLConfig& ssl_config_for_proxy, const BoundNetLog& net_log, ClientSocketHandle* socket_handle, + TunnelAuthCallback auth_needed_callback, const CompletionCallback& callback); // A helper method that uses the passed in proxy information to initialize a @@ -102,6 +103,7 @@ NET_EXPORT int InitSocketHandleForRawConnect( const SSLConfig& ssl_config_for_proxy, const BoundNetLog& net_log, ClientSocketHandle* socket_handle, + TunnelAuthCallback auth_needed_callback, const CompletionCallback& callback); // Similar to InitSocketHandleForHttpRequest except that it initiates the @@ -118,7 +120,8 @@ int PreconnectSocketsForHttpRequest( const SSLConfig& ssl_config_for_origin, const SSLConfig& ssl_config_for_proxy, const BoundNetLog& net_log, - int num_preconnect_streams); + int num_preconnect_streams, + TunnelAuthCallback auth_needed_callback); } // namespace net |