diff options
author | Jose <jose@zeroc.com> | 2014-10-10 22:19:29 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2014-10-10 22:19:29 +0200 |
commit | a0a7d662f0e6afca4041745d7ebbb7e87d20935c (patch) | |
tree | 302acc3b7841e045ed257b8499f292e29fec4be0 | |
parent | icegridadmin now converts file contents using the current Windows console CP ... (diff) | |
download | ice-a0a7d662f0e6afca4041745d7ebbb7e87d20935c.tar.bz2 ice-a0a7d662f0e6afca4041745d7ebbb7e87d20935c.tar.xz ice-a0a7d662f0e6afca4041745d7ebbb7e87d20935c.zip |
Fixed (ICE-5709) - IceSSL/configuration failure on Windows
-rw-r--r-- | cpp/src/IceSSL/SChannelTransceiverI.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cpp/src/IceSSL/SChannelTransceiverI.cpp b/cpp/src/IceSSL/SChannelTransceiverI.cpp index 108a130af12..3f7c9e68077 100644 --- a/cpp/src/IceSSL/SChannelTransceiverI.cpp +++ b/cpp/src/IceSSL/SChannelTransceiverI.cpp @@ -245,12 +245,12 @@ IceSSL::TransceiverI::sslHandshake() err = InitializeSecurityContext(&_credentials, 0, const_cast<char *>(_host.c_str()), flags, 0, 0, 0, 0, &_ssl, &outBufferDesc, &ctxFlags, 0); - _sslInitialized = true; if(err != SEC_E_OK && err != SEC_I_CONTINUE_NEEDED) { throw SecurityException(__FILE__, __LINE__, "IceSSL: handshake failure:\n" + IceUtilInternal::lastErrorToString()); } + _sslInitialized = true; // // Copy the data to the write buffer @@ -294,7 +294,10 @@ IceSSL::TransceiverI::sslHandshake() { err = AcceptSecurityContext(&_credentials, (_sslInitialized ? &_ssl : 0), &inBufferDesc, flags, 0, &_ssl, &outBufferDesc, &ctxFlags, 0); - _sslInitialized = true; + if(err == SEC_I_CONTINUE_NEEDED || err == SEC_E_OK) + { + _sslInitialized = true; + } } else { |