diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-29 00:06:16 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-29 00:06:16 +0000 |
commit | 7fcb858abdbc3c5ed1614e587e8630f5c4c97c35 (patch) | |
tree | a449c766037016b5c56034cfb4625353b1eaf9db /net | |
parent | 4cb07547b8ac9357f6070513ad8ac18d8c38b42e (diff) | |
download | chromium_src-7fcb858abdbc3c5ed1614e587e8630f5c4c97c35.zip chromium_src-7fcb858abdbc3c5ed1614e587e8630f5c4c97c35.tar.gz chromium_src-7fcb858abdbc3c5ed1614e587e8630f5c4c97c35.tar.bz2 |
Map errSSLPeerHandshakeFail to ERR_SSL_PROTOCOL_ERROR.
BUG=http://crbug.com/22623
TEST=Browse to https://www.bankalbilad.com.sa/retail/logon.do. It should fallback from TLS to SSL and thus properly display the page instead of showing an error.
Review URL: http://codereview.chromium.org/347011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30406 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/socket/ssl_client_socket_mac.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/socket/ssl_client_socket_mac.cc b/net/socket/ssl_client_socket_mac.cc index 46ecf5f..5e1cf76 100644 --- a/net/socket/ssl_client_socket_mac.cc +++ b/net/socket/ssl_client_socket_mac.cc @@ -103,6 +103,8 @@ enum { typedef OSStatus (*SSLSetSessionOptionFuncPtr)(SSLContextRef, SSLSetSessionOptionType, Boolean); +// For an explanation of the Mac OS X error codes, please refer to: +// http://developer.apple.com/mac/library/documentation/Security/Reference/secureTransportRef/Reference/reference.html int NetErrorFromOSStatus(OSStatus status) { switch (status) { case errSSLWouldBlock: @@ -122,6 +124,7 @@ int NetErrorFromOSStatus(OSStatus status) { case errSSLIllegalParam: // Received an illegal_parameter alert. case errSSLPeerUnexpectedMsg: // Received an unexpected_message alert. case errSSLProtocol: + case errSSLPeerHandshakeFail: // Received a handshake_failure alert. return ERR_SSL_PROTOCOL_ERROR; case errSSLHostNameMismatch: return ERR_CERT_COMMON_NAME_INVALID; |