Return address in pure IPv4 notation by getAddrString if IPv6 address is IPv4-mapped.
This commit is contained in:
parent
37f50695ee
commit
21ee21cc23
1 changed files with 2 additions and 0 deletions
|
|
@ -339,6 +339,8 @@ proc getAddrString*(sockAddr: ptr SockAddr): string =
|
||||||
var v6addr = cast[ptr Sockaddr_in6](sockAddr).sin6_addr
|
var v6addr = cast[ptr Sockaddr_in6](sockAddr).sin6_addr
|
||||||
result = newString(posix.INET6_ADDRSTRLEN)
|
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)
|
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:
|
else:
|
||||||
raise newException(OSError, "unknown socket family in getAddrString")
|
raise newException(OSError, "unknown socket family in getAddrString")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue