RFR: 8241372: Several test failures due to javax.net.ssl.SSLException: Connection reset [v3]

Fernando Guallini fguallini at openjdk.java.net
Thu Feb 11 12:11:41 UTC 2021


On Wed, 10 Feb 2021 12:24:15 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

>> Fernando Guallini has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   narrow down connection reset handling
>
> test/jdk/javax/net/ssl/SSLSession/TestEnabledProtocols.java line 142:
> 
>> 140:             if ("Connection reset".equals(ssle.getCause().getMessage())) {
>> 141:                 System.out.println("Client SSLException:");
>> 142:                 ssle.printStackTrace(System.out);
> 
> An SSLException doesn't necessarily have a nested `cause` - so you could get a NPE here.
> I would suggest moving that code to a `private boolean isConnectionReset(SSLException ssle)` method, and possibly checking the type of the `cause` exception as well. I'm guessing it should be a `SocketException`?
> If you check the type then it will also exclude the case where the cause is null and avoid the NPE.
> Additional note: as a general rule, relying on exception message is fragile. But since we don't have a specific subtype for "Connection reset" it's probably the best we can do.

Yes, added the verification to check if it is instanceof SocketException

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

PR: https://git.openjdk.java.net/jdk/pull/2405



More information about the security-dev mailing list