diff --git a/src/share/classes/com/sun/jndi/ldap/Connection.java b/src/share/classes/com/sun/jndi/ldap/Connection.java index d9a31884ca0fb9c1673057fc01dd76f6af6e6d9a..0c059f5bfac06ed3819af738d5493174aa1eaea6 100644 --- a/src/share/classes/com/sun/jndi/ldap/Connection.java +++ b/src/share/classes/com/sun/jndi/ldap/Connection.java @@ -382,17 +382,17 @@ public final class Connection implements Runnable { // then reset the timeout. if (socket instanceof SSLSocket) { SSLSocket sslSocket = (SSLSocket) socket; - int socketTimeout = sslSocket.getSoTimeout(); if (!IS_HOSTNAME_VERIFICATION_DISABLED) { SSLParameters param = sslSocket.getSSLParameters(); param.setEndpointIdentificationAlgorithm("LDAPS"); sslSocket.setSSLParameters(param); } if (connectTimeout > 0) { + int socketTimeout = sslSocket.getSoTimeout(); sslSocket.setSoTimeout(connectTimeout); // reuse full timeout value + sslSocket.startHandshake(); + sslSocket.setSoTimeout(socketTimeout); } - sslSocket.startHandshake(); - sslSocket.setSoTimeout(socketTimeout); } return socket; }