summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/socket/ssl_client_socket_mac.cc3
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;