RFR: 6914801: IPv6 unavailable if stdin is a socket
Daniel Jeliński
djelinski at openjdk.org
Mon Jan 2 08:14:53 UTC 2023
On Mon, 12 Dec 2022 20:30:05 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> This patch reenables IPv6 stack when stdin is an IPv4 socket.
>
> The code that blocked IPv6 was introduced in JDK-4673940 back when JDK could only operate with either IPv4 or IPv6 sockets, and was using `IPv6_available` to determine which socket type was in use. Now that JDK is able to operate with both IPv4 and IPv6 sockets at the same time, the check for IPv4 stdin is no longer relevant.
>
> Included test passes with the changes applied, fails without them. Other tier1-3 tests also pass.
Happy new year!
Thanks Alan for checking this. Can I get a more formal review?
The test I added is basically a copy of EchoTest, except that 1) it runs only if an IPv6 socket can be opened by the harness, 2) the started application works only if it can open an IPv6 socket.
I also modified the tests to use IPv4 sockets for communication when they are available. If IPv4 is not available, the test will use platform-default socket type, and should still pass.
-------------
PR: https://git.openjdk.org/jdk/pull/11638
More information about the nio-dev
mailing list