diff options
Diffstat (limited to 'src/lib/syscall/socket_darwin.go')
-rw-r--r-- | src/lib/syscall/socket_darwin.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/syscall/socket_darwin.go b/src/lib/syscall/socket_darwin.go index dc76b9bea..ba640e956 100644 --- a/src/lib/syscall/socket_darwin.go +++ b/src/lib/syscall/socket_darwin.go @@ -12,12 +12,19 @@ import ( "unsafe"; ) +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + func SockaddrToSockaddrInet4(s *Sockaddr) *SockaddrInet4; func SockaddrToSockaddrInet6(s *Sockaddr) *SockaddrInet6; func SockaddrInet4ToSockaddr(s *SockaddrInet4) *Sockaddr; func SockaddrInet6ToSockaddr(s *SockaddrInet6) *Sockaddr; func Socket(domain, proto, typ int64) (ret int64, err int64) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } r1, r2, e := Syscall(SYS_SOCKET, domain, proto, typ); return r1, e } |