From a0c61c9492723dd31681f878f9c68c92817a476d Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Tue, 5 Jul 2016 15:16:36 +0100 Subject: libbb: set new listening sockets to dual-stack mode IPv6 sockets are created in IPv6-only mode on Microsoft Windows. The IPv6 socket option IPV6_V6ONLY needs to be turned off to permit dual-stack operation. Without this change netcat only listens on IPv6 addresses when run with no explicit IP address argument. --- libbb/xconnect.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libbb/xconnect.c b/libbb/xconnect.c index 0a4d8f128..c318af419 100644 --- a/libbb/xconnect.c +++ b/libbb/xconnect.c @@ -353,6 +353,10 @@ int FAST_FUNC xsocket_type(len_and_sockaddr **lsap, int family, int sock_type) #if ENABLE_FEATURE_IPV6 fd = socket(AF_INET6, sock_type, 0); if (fd >= 0) { +#if ENABLE_PLATFORM_MINGW32 + DWORD buffer = 0; + setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &buffer, sizeof(DWORD)); +#endif family = AF_INET6; goto done; } -- cgit v1.2.3-55-g6feb