From c89069dcdc7655f9861f60d7def48ce80cd81fc8 Mon Sep 17 00:00:00 2001 From: lotodore Date: Fri, 10 Apr 2009 22:15:01 +0000 Subject: [PATCH] Trying to fix getpeername. --- src/net/common/serveracceptthread.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/net/common/serveracceptthread.cpp b/src/net/common/serveracceptthread.cpp index db38e51e..5e798eb8 100644 --- a/src/net/common/serveracceptthread.cpp +++ b/src/net/common/serveracceptthread.cpp @@ -118,8 +118,11 @@ ServerAcceptThread::Listen() int nodelay = 1; setsockopt(context.GetSocket(), SOL_SOCKET, TCP_NODELAY, (char *)&nodelay, sizeof(nodelay)); // Enable dual-stack socket on Windows Vista. - int ipv6only = 0; - setsockopt(context.GetSocket(), IPPROTO_IPV6, IPV6_V6ONLY, (char *)&ipv6only, sizeof(ipv6only)); + if (context.GetAddrFamily() == AF_INET6) + { + int ipv6only = 0; + setsockopt(context.GetSocket(), IPPROTO_IPV6, IPV6_V6ONLY, (char *)&ipv6only, sizeof(ipv6only)); + } context.GetServerSockaddr()->ss_family = context.GetAddrFamily();