8211842 IPv6_supported wrongly returns false when unix domainsocket is bound to fd 0

Michael McMahon michael.x.mcmahon at oracle.com
Thu Nov 29 20:29:44 UTC 2018

Yes, as Alan said the way IPv6 is set up in the JDK means that either 
you have:

AF_INET sockets (which are IPv4 only) or
AF_INET6 sockets (which can be IPv4 or IPv6)

It's not possible to mix the two types. If inetd passes an AF_INET
socket on startup then the VM is stuck in IPv4 mode.

I've updated the webrev after the last comments:


It's really just refactoring. So, unless anyone has a comment I will push
the fix shortly.


On 29/11/2018, 19:03, Alan Bateman wrote:
> On 29/11/2018 18:04, Bernd Eckenfels wrote:
>> Hello,
>> I wonder if that conclusion „stdin = tcp4 -> disable tcp6“ is correct 
>> at all. The started program might serve a v4 connection but it still 
>> could want to do ipv6 client connections.
>> If somebody wants to disable v4 they can do it regularly with the 
>> System property.
> The check is important because the JDK doesn't support having some 
> Socket or SocketChannel objects be created with IPv4 sockets, and 
> others with IPv6 sockets. The only exception to this is 
> DatagramChannel where the protocol family is exposed in the API.  The 
> RDMA socket API under discussion on nio-dev will be another case.
> -Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20181129/0668a2b2/attachment.html>

More information about the net-dev mailing list