mirror of
https://github.com/golang/go
synced 2024-11-22 04:24:39 -07:00
net: disable "tcp" test on openbsd
Doing a socket/listen on an unspecified address with an unspecified address family is likely to result in an AF_INET6 socket on an IPv6 capable system, which under OpenBSD means IPv6 only - not IPv4 *and* IPv6. In this case trying to connect to this socket from an IPv4 loopback address is not going to end well. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4807057
This commit is contained in:
parent
75d337e84b
commit
d130611f45
@ -115,7 +115,9 @@ func doTest(t *testing.T, network, listenaddr, dialaddr string) {
|
||||
}
|
||||
|
||||
func TestTCPServer(t *testing.T) {
|
||||
if syscall.OS != "openbsd" {
|
||||
doTest(t, "tcp", "", "127.0.0.1")
|
||||
}
|
||||
doTest(t, "tcp", "0.0.0.0", "127.0.0.1")
|
||||
doTest(t, "tcp", "127.0.0.1", "127.0.0.1")
|
||||
doTest(t, "tcp4", "", "127.0.0.1")
|
||||
|
@ -12,6 +12,11 @@ import (
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// BUG(rsc): On OpenBSD, listening on the "tcp" network does not listen for
|
||||
// both IPv4 and IPv6 connections. This is due to the fact that IPv4 traffic
|
||||
// will not be routed to an IPv6 socket - two separate sockets are required
|
||||
// if both AFs are to be supported. See inet6(4) on OpenBSD for details.
|
||||
|
||||
func sockaddrToTCP(sa syscall.Sockaddr) Addr {
|
||||
switch sa := sa.(type) {
|
||||
case *syscall.SockaddrInet4:
|
||||
|
Loading…
Reference in New Issue
Block a user