Index: webrtc/base/opensslstreamadapter.cc |
diff --git a/webrtc/base/opensslstreamadapter.cc b/webrtc/base/opensslstreamadapter.cc |
index b856f3cdb31c8ee222621ce53a16e11271894c75..4b40c389049c326ee5cc4330077ea0cead954e57 100644 |
--- a/webrtc/base/opensslstreamadapter.cc |
+++ b/webrtc/base/opensslstreamadapter.cc |
@@ -839,6 +839,12 @@ int OpenSSLStreamAdapter::ContinueSSL() { |
case SSL_ERROR_ZERO_RETURN: |
default: |
LOG(LS_VERBOSE) << " -- error " << code; |
+ SSLHandshakeError ssl_handshake_err = SSLHandshakeError::UNKNOWN; |
+ int err_code = ERR_peek_last_error(); |
+ if (err_code != 0 && ERR_GET_REASON(err_code) == SSL_R_NO_SHARED_CIPHER) { |
+ ssl_handshake_err = SSLHandshakeError::INCOMPATIBLE_CIPHERSUITE; |
+ } |
+ SignalSSLHandshakeError(ssl_handshake_err); |
return (ssl_error != 0) ? ssl_error : -1; |
} |