summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-27 22:19:43 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-27 22:19:43 +0000
commit50234923b292122bb19296952b947d55b1760c62 (patch)
treef5d8631dd9ac83c5da7ce17b88b16ca055b516f7 /src
parent4d471bc5df22eaf338c1ab8f63b504c103056a03 (diff)
Merge commit 'danieldg/out-12'
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10732 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/listensocket.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/listensocket.cpp b/src/listensocket.cpp
index 961156ae6..313396ed7 100644
--- a/src/listensocket.cpp
+++ b/src/listensocket.cpp
@@ -128,6 +128,10 @@ void ListenSocketBase::AcceptInternal()
if (this->family == AF_INET6)
{
inet_ntop(AF_INET6, &((const sockaddr_in6*)client)->sin6_addr, buf, sizeof(buf));
+ if (!strncmp(buf, "::ffff:", 7))
+ {
+ memmove(buf, buf+7, sizeof(buf)-7);
+ }
socklen_t raddrsz = sizeof(sockaddr_in6);
if (getsockname(incomingSockfd, (sockaddr*) raddr, &raddrsz) == 0)
inet_ntop(AF_INET6, &((const sockaddr_in6*)raddr)->sin6_addr, target, sizeof(target));