diff options
author | wtc@google.com <wtc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-08 17:28:23 +0000 |
---|---|---|
committer | wtc@google.com <wtc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-08 17:28:23 +0000 |
commit | c5949a3000ca3d6a7bd3a400ebd89206835a740a (patch) | |
tree | 19e5d48d1eab7fdeff3a9f443eead80bd17edb00 /net/base/ssl_client_socket.h | |
parent | db8d02d65496004718bcd0416fcb35326eb08cd5 (diff) | |
download | chromium_src-c5949a3000ca3d6a7bd3a400ebd89206835a740a.zip chromium_src-c5949a3000ca3d6a7bd3a400ebd89206835a740a.tar.gz chromium_src-c5949a3000ca3d6a7bd3a400ebd89206835a740a.tar.bz2 |
Handle TLS-intolerant servers by retrying with TLS 1.0
turned off.
R=darin
BUG=3001
Review URL: http://codereview.chromium.org/5617
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3017 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/ssl_client_socket.h')
-rw-r--r-- | net/base/ssl_client_socket.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/net/base/ssl_client_socket.h b/net/base/ssl_client_socket.h index 5146105..bd72928 100644 --- a/net/base/ssl_client_socket.h +++ b/net/base/ssl_client_socket.h @@ -30,10 +30,20 @@ class SSLInfo; // class SSLClientSocket : public ClientSocket { public: + enum { + SSL2 = 1 << 0, + SSL3 = 1 << 1, + TLS1 = 1 << 2 + }; + // Takes ownership of the transport_socket, which may already be connected. // The given hostname will be compared with the name(s) in the server's - // certificate during the SSL handshake. - SSLClientSocket(ClientSocket* transport_socket, const std::string& hostname); + // certificate during the SSL handshake. protocol_version_mask is a bitwise + // OR of SSL2, SSL3, and TLS1 that specifies which versions of the SSL + // protocol should be enabled. + SSLClientSocket(ClientSocket* transport_socket, + const std::string& hostname, + int protocol_version_mask); ~SSLClientSocket(); // ClientSocket methods: @@ -72,6 +82,7 @@ class SSLClientSocket : public ClientSocket { CompletionCallbackImpl<SSLClientSocket> io_callback_; scoped_ptr<ClientSocket> transport_; std::string hostname_; + int protocol_version_mask_; CompletionCallback* user_callback_; |