On 26/09/2019 13:15, Kurt Miller wrote:
:
Hi Alan,

This one I don't have any insight into. OpenBSD is like Windows
where it does not supportĀ IPv4-mapped IPv6 address at all. There
is no way to enable it with a knob (sysctl). Since the networking
implementation in the JVM on the Unix side of things depends on
this, OpenBSD can't support both IPv4 and IPv6 at the same time.

Ideally the dual socket implementation on the Windows side would
be utilized on the Unix side as well. The would allow for avoiding
the (perhaps debatable) security issues associatedĀ IPv4-mapped
IPv6 addresses that were raised by one of the initial pioneers of
IPv6, Itojun (Jun-ichiro Hagino) [1].

I believe both FreeBSD and NetBSD have sysctl's to enable IPv4-mapped
IPv6 address support, but is a system wide setting and puts an
administrator in the position of having to enable a less secure
setting to gain simultaneous IPv4 and IPv6 support in the JVM.

Sorry I've gone off on a tangent here, but I felt it was related
and perhaps could point out that the dual socket approach
on the Windows side of the JVM networking implementation would
likely be helpful for the Unix side as well.

Thanks anyway. As you brought up Windows, I should mention that Microsoft added support for dual stack sockets in Windows Vista and the JDK uses on that platform too (one only outlier is legacy MulticastSocket where it uses the two stack implementation but that should eventually be replaced). This allows the JDK to use IPv4-mapped IPv6 addresses when interfacing with the operating system (not on the wire of course).

-Alan

Reply via email to