I'm working with aiocoap, which uses the AI_V4MAPPED flag to use IPv4-mapped addresses for dual-stack support. When trying to run on Windows, creating a connection fails, because the socket option IPV6_V6ONLY is set to true per default on Windows, whereas the value is configurable on Linux. I've attached a file that should reproduce the error.
A possible fix would be calling socket.setsockopt(socket.IPPROTO_IPV6,
socket.IPV6_V6ONLY, False) when V4-mapped addresses have been requested
(this bug can also appear on Linux when /proc/sys/net/ipv6/bindv6only
contains 1).
If you require any more information, feel free to contact me! |