diff options
Diffstat (limited to 'cpp/src/IceSSL/SecureTransportTransceiverI.cpp')
-rw-r--r-- | cpp/src/IceSSL/SecureTransportTransceiverI.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp index 38f9e4cc70a..a8f491db570 100644 --- a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +++ b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp @@ -224,6 +224,13 @@ IceSSL::TransceiverI::initialize(IceInternal::Buffer& readBuffer, IceInternal::B { assert(!_trust); err = SSLCopyPeerTrust(_ssl, &_trust); + if(_incoming && err == errSSLBadCert && _engine->getVerifyPeer() == 1) + { + // This happens in 10.10 when the client doesn't provide + // a certificate and the server is configured to try + // authenticate + continue; + } if(err == noErr) { checkTrustResult(_trust, _engine, _instance); |