Index: webrtc/base/opensslstreamadapter.cc |
diff --git a/webrtc/base/opensslstreamadapter.cc b/webrtc/base/opensslstreamadapter.cc |
index e04eb04d67c8d05eee38938f406484ccbe5d5247..257e172065c4a7a192b85341558cffb0afff4f01 100644 |
--- a/webrtc/base/opensslstreamadapter.cc |
+++ b/webrtc/base/opensslstreamadapter.cc |
@@ -854,6 +854,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); |
skvlad
2016/07/27 00:29:18
I wonder if it could be better to directly log the
honghaiz3
2016/07/27 17:11:48
Are we potentially interested in knowing other typ
Zhi Huang
2016/07/27 21:04:13
I will remove the new defined enum and use the err
|
return (ssl_error != 0) ? ssl_error : -1; |
} |