• Paul Marks's avatar
    net: Make Listen(":port") use IPv6 when IPv4 is not supported. · 5a3ff6c8
    Paul Marks authored
    When running an experimental kernel with IPv4 disabled, Listen(":port")
    currently tries to create an AF_INET socket, and fails.  Instead, it
    should see !supportsIPv4, and use an AF_INET6 socket.
    
    This sort of environment is quite esoteric at the moment, but I can
    force the tests to fail on regular Linux using the following tweaks:
    
    - net/net.go: supportsIPv4, supportsIPv6, supportsIPv4map = false, true, false
    - net/sockopt_linux.go: ipv6only=true
    - net/ipsock_posix.go: Revert this fix
    - ./make.bash && ../bin/go test net
    
    Also, make the arrows in server_test.go point to the left, because
    server<-client is easier to read.
    
    Fixes #12510
    
    Change-Id: I0cc3b6b08d5e6908d2fbf8594f652ba19815aa4b
    Reviewed-on: https://go-review.googlesource.com/14334
    Run-TryBot: Paul Marks <pmarks@google.com>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    5a3ff6c8
server_test.go 11 KB