diff options
Diffstat (limited to 'cpp/src/IceSSL/Context.cpp')
-rw-r--r-- | cpp/src/IceSSL/Context.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/Context.cpp b/cpp/src/IceSSL/Context.cpp index 9b8dfe52e51..0eb4c530023 100644 --- a/cpp/src/IceSSL/Context.cpp +++ b/cpp/src/IceSSL/Context.cpp @@ -105,6 +105,14 @@ IceSSL::Context::Context(const InstancePtr& instance, const string& propPrefix, // SSL_CTX_set_ex_data(_ctx, 0, this); + // + // This is necessary for successful interop with Java. Without it, a Java + // client would fail to reestablish a connection: the server gets the + // error "session id context uninitialized" and the client receives + // "SSLHandshakeException: Remote host closed connection during handshake". + // + SSL_CTX_set_session_cache_mode(_ctx, SSL_SESS_CACHE_OFF); + PropertiesPtr properties = _instance->communicator()->getProperties(); // |