diff options
Diffstat (limited to 'net/socket')
-rw-r--r-- | net/socket/client_socket_pool.h | 4 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_pool.cc | 5 |
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; |