summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket')
-rw-r--r--net/socket/client_socket_pool.h4
-rw-r--r--net/socket/ssl_client_socket_pool.cc5
2 files changed, 5 insertions, 4 deletions
diff --git a/net/socket/client_socket_pool.h b/net/socket/client_socket_pool.h
index 23bb63f..c889ab4 100644
--- a/net/socket/client_socket_pool.h
+++ b/net/socket/client_socket_pool.h
@@ -45,8 +45,8 @@ class ClientSocketPool {
// The caller must recover from the error before using the connection, or
// Disconnect the socket before releasing or resetting the |handle|.
// The current recoverable errors are: the errors accepted by
- // IsCertificateError(err) and PROXY_AUTH_REQUESTED when reported by
- // HttpProxyClientSocketPool.
+ // IsCertificateError(err) and PROXY_AUTH_REQUESTED, or
+ // HTTPS_PROXY_TUNNEL_RESPONSE when reported by HttpProxyClientSocketPool.
//
// If this function returns OK, then |handle| is initialized upon return.
// The |handle|'s is_initialized method will return true in this case. If a
diff --git a/net/socket/ssl_client_socket_pool.cc b/net/socket/ssl_client_socket_pool.cc
index 12c06ed..dca5f40 100644
--- a/net/socket/ssl_client_socket_pool.cc
+++ b/net/socket/ssl_client_socket_pool.cc
@@ -258,11 +258,12 @@ int SSLConnectJob::DoTunnelConnectComplete(int result) {
// |GetAdditionalErrorState|, we can easily set the state.
if (result == ERR_SSL_CLIENT_AUTH_CERT_NEEDED) {
error_response_info_ = transport_socket_handle_->ssl_error_response_info();
- } else if (result == ERR_PROXY_AUTH_REQUESTED) {
+ } else if (result == ERR_PROXY_AUTH_REQUESTED ||
+ result == ERR_HTTPS_PROXY_TUNNEL_RESPONSE) {
ClientSocket* socket = transport_socket_handle_->socket();
HttpProxyClientSocket* tunnel_socket =
static_cast<HttpProxyClientSocket*>(socket);
- error_response_info_ = *tunnel_socket->GetResponseInfo();
+ error_response_info_ = *tunnel_socket->GetConnectResponseInfo();
}
if (result < 0)
return result;