diff options
author | Russ Cox <rsc@golang.org> | 2016-10-26 21:07:52 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2016-11-02 19:15:11 +0000 |
commit | 1a0b1cca4c26d41fe7508ffdb355de78b4ea2a19 (patch) | |
tree | 8f6ba9523e2668d150914683a018650908752d93 /src/net/dial_test.go | |
parent | c56cc9b3b5727647c2afb3d57f5793151558a0a7 (diff) | |
download | go-1a0b1cca4c26d41fe7508ffdb355de78b4ea2a19.tar.gz go-1a0b1cca4c26d41fe7508ffdb355de78b4ea2a19.zip |
net: fix Dial(":80") on Windows
Windows sockets allow bind to 0.0.0.0:80 but not connect to it.
To make Listen(":80") / Dial(":80") work as documented on Windows,
connect to 127.0.0.1 or ::1 (depending on network) in place of 0.0.0.0.
Fixes #6290.
Change-Id: Ia27537067276871648546678fbe0f1b8478329fe
Reviewed-on: https://go-review.googlesource.com/32101
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
Diffstat (limited to 'src/net/dial_test.go')
-rw-r--r-- | src/net/dial_test.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/net/dial_test.go b/src/net/dial_test.go index 8b21e6b088..6ba8e950b8 100644 --- a/src/net/dial_test.go +++ b/src/net/dial_test.go @@ -55,6 +55,23 @@ func TestProhibitionaryDialArg(t *testing.T) { } } +func TestDialLocal(t *testing.T) { + ln, err := newLocalListener("tcp") + if err != nil { + t.Fatal(err) + } + defer ln.Close() + _, port, err := SplitHostPort(ln.Addr().String()) + if err != nil { + t.Fatal(err) + } + c, err := Dial("tcp", JoinHostPort("", port)) + if err != nil { + t.Fatal(err) + } + c.Close() +} + func TestDialTimeoutFDLeak(t *testing.T) { switch runtime.GOOS { case "plan9": |