On Sat, 19 Aug 2023 02:15:06 GMT, Weibing Xiao <d...@openjdk.org> wrote:

>> Please refer to JDK-8314063.
>> 
>> The failure scenario is due to the setting of connection timeout. It is 
>> either too small or not an optimal value for the system. When the client 
>> tries to connect to the server with LDAPs protocol. It requires the 
>> handshake after the socket is created and connected, but it fails due to 
>> connection timeout and leaves the socket open. It is not closed properly due 
>> to the exception handling in the JDK code.
>> 
>> The change is adding a try/catch block and closing the socket in the catch 
>> block,  and the format of the code got changed consequently.
>
> Weibing Xiao has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   refactor the code and test cases

test/jdk/com/sun/jndi/ldap/LdapSSLHandshakeFailureTest.java line 84:

> 82:             }
> 83:         }
> 84:         TestServer server = new TestServer( serverSlowDown );

The server instance can be used in try-with-resouces:

        try (TestServer server = new TestServer(serverSlowDown)) {
            server.start();
            env.put(Context.PROVIDER_URL, URIBuilder.newBuilder()
                    .scheme("ldaps")
                    .loopback()
                    .port(server.getPortNumber())
                    .buildUnchecked().toString());

test/jdk/com/sun/jndi/ldap/LdapSSLHandshakeFailureTest.java line 94:

> 92:                 .buildUnchecked().toString());
> 93:         if (args.length == 2 &&
> 94:                 args[0].contains("LdapSSLHandshakeFailureTest")) {

This `arg[0]` check is done twice in the test - it can be save to a boolean 
variable:

boolean hasCustomSocketFactory = args[0]
        .equals("LdapSSLHandshakeFailureTest$CustomSocketFactory");

and then used to the checks

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15294#discussion_r1300088395
PR Review Comment: https://git.openjdk.org/jdk/pull/15294#discussion_r1300086412

Reply via email to