Fix OpenSSL build
- remapping the unknown protocol error code for consistency with NSS socket.
BUG=None
TEST=SSLClientSocketTest.PrematureApplicationData
Review URL: http://codereview.chromium.org/5593005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68579 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/socket/ssl_client_socket_openssl.cc b/net/socket/ssl_client_socket_openssl.cc
index b290a65f..37ad2cd 100644
--- a/net/socket/ssl_client_socket_openssl.cc
+++ b/net/socket/ssl_client_socket_openssl.cc
@@ -95,9 +95,6 @@
case SSL_R_UNKNOWN_REMOTE_ERROR_TYPE:
case SSL_R_UNKNOWN_SSL_VERSION:
return ERR_NOT_IMPLEMENTED;
- // SSL_R_UNKNOWN_PROTOCOL is reported if all the protocol versions
- // supported by the server were disabled in this socket instance.
- case SSL_R_UNKNOWN_PROTOCOL:
case SSL_R_UNSUPPORTED_SSL_VERSION:
case SSL_R_NO_CIPHER_MATCH:
case SSL_R_NO_SHARED_CIPHER:
@@ -121,6 +118,12 @@
return ERR_SSL_UNSAFE_NEGOTIATION;
case SSL_R_WRONG_NUMBER_OF_KEY_BITS:
return ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY;
+ // SSL_R_UNKNOWN_PROTOCOL is reported if premature application data is
+ // received (see http://crbug.com/42538), and also if all the protocol
+ // versions supported by the server were disabled in this socket instance.
+ // Mapped to ERR_SSL_PROTOCOL_ERROR for compatibility with other SSL sockets
+ // in the former scenario.
+ case SSL_R_UNKNOWN_PROTOCOL:
case SSL_R_SSL_HANDSHAKE_FAILURE:
case SSL_R_DECRYPTION_FAILED:
case SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC: