From e60e47ad57e7ff423c39cff9c88725a7aed85118 Mon Sep 17 00:00:00 2001 From: "vandebo@chromium.org" Date: Wed, 14 Jul 2010 03:37:18 +0000 Subject: Implement SSLClientSocketPool. To support SSLClientSocketPool, ClientSocketPoolBase and ClientSocketHandle require a notion of additional error state reported from the pool. Overtime the error handling may get become more integrated, alleviating the need for some of the additional error state. To support getting Http Proxy credentials from the user, the SSLClientSocketPool will release unauthenticated HttpProxyClientSocket's into the pool as idle. However, it checks their authentication status when receiving one, completing the authentication once the user has provided the credentials. BUG=30357 TEST=existing unit tests, ClientSocketPoolBaseTest.AdditionalErrorState*, SSLClientSocketPoolTest.* Review URL: http://codereview.chromium.org/2870030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52275 0039d316-1c4b-4281-b951-d872f2087c98 --- net/base/load_flags_list.h | 2 ++ net/base/net_error_list.h | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'net/base') diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h index f7be1ff..2bcb23e 100644 --- a/net/base/load_flags_list.h +++ b/net/base/load_flags_list.h @@ -77,3 +77,5 @@ LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 17) // to the server (as opposed to the proxy). LOAD_FLAG(DO_NOT_SEND_AUTH_DATA, 1 << 18) +// This should only be used for testing (set by HttpNetworkTransaction). +LOAD_FLAG(IGNORE_ALL_CERT_ERRORS, 1 << 19) diff --git a/net/base/net_error_list.h b/net/base/net_error_list.h index d834fa5..06dca41 100644 --- a/net/base/net_error_list.h +++ b/net/base/net_error_list.h @@ -139,7 +139,8 @@ NET_ERROR(SOCKS_CONNECTION_FAILED, -120) // because that host is unreachable. NET_ERROR(SOCKS_CONNECTION_HOST_UNREACHABLE, -121) -// Error number -122 is available for use. +// The request to negotiate an alternate protocol failed. +NET_ERROR(NPN_NEGOTIATION_FAILED, -122) // The peer sent an SSL no_renegotiation alert message. NET_ERROR(SSL_NO_RENEGOTIATION, -123) @@ -163,7 +164,9 @@ NET_ERROR(PROXY_AUTH_REQUESTED, -127) // A known TLS strict server didn't offer the renegotiation extension. NET_ERROR(SSL_UNSAFE_NEGOTIATION, -128) -// The socket needs a fresh connection in order to proceed. +// The socket is reporting that we tried to provide new credentials after a +// a failed attempt on a connection without keep alive. We need to +// reestablish the transport socket in order to retry the authentication. NET_ERROR(RETRY_CONNECTION, -129) // Certificate error codes -- cgit v1.1