summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/rawsockets.nim2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/pure/rawsockets.nim b/lib/pure/rawsockets.nim
index 12ec50ec6..c97718b0a 100644
--- a/lib/pure/rawsockets.nim
+++ b/lib/pure/rawsockets.nim
@@ -339,6 +339,8 @@ proc getAddrString*(sockAddr: ptr SockAddr): string =
     var v6addr = cast[ptr Sockaddr_in6](sockAddr).sin6_addr
     result = newString(posix.INET6_ADDRSTRLEN)
     discard posix.inet_ntop(posix.AF_INET6, addr cast[ptr Sockaddr_in6](sockAddr).sin6_addr, result.cstring, result.len.int32)
+    if posix.IN6_IS_ADDR_V4MAPPED(addr cast[ptr Sockaddr_in6](sockAddr).sin6_addr) != 0:
+      result = result.substr("::ffff:".len)
   else:
     raise newException(OSError, "unknown socket family in getAddrString")