diff options
author | Andrey Mirtchovski <mirtchovski@gmail.com> | 2010-01-25 14:57:04 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-01-25 14:57:04 -0800 |
commit | 3fc41d5e65b339fd450bde1657c9ea48f6e8a5ec (patch) | |
tree | 36845591d29ba13714f910f5178367e3eb886a8f | |
parent | 6d8829e931fa92d9228f6b67e0832195cd477248 (diff) | |
download | go-3fc41d5e65b339fd450bde1657c9ea48f6e8a5ec.tar.gz go-3fc41d5e65b339fd450bde1657c9ea48f6e8a5ec.zip |
net: parse aliases in /etc/hosts correctly
Previous behaviour only picked the first entry (official hostname) but not the aliases.
R=rsc
CC=golang-dev
https://golang.org/cl/193092
-rw-r--r-- | src/pkg/net/hosts.go | 8 | ||||
-rw-r--r-- | src/pkg/net/hosts_test.go | 6 | ||||
-rw-r--r-- | src/pkg/net/hosts_testdata | 2 |
3 files changed, 13 insertions, 3 deletions
diff --git a/src/pkg/net/hosts.go b/src/pkg/net/hosts.go index 5596c9dc72..25af7968db 100644 --- a/src/pkg/net/hosts.go +++ b/src/pkg/net/hosts.go @@ -40,9 +40,11 @@ func readHosts() { if len(f) < 2 || ParseIP(f[0]) == nil { continue } - h := f[1] - old, _ := hs[h] - hs[h] = appendHost(old, f[0]) + for i := 1; i < len(f); i++ { + h := f[i] + old, _ := hs[h] + hs[h] = appendHost(old, f[0]) + } } // Update the data cache. hosts.time, _, _ = os.Time() diff --git a/src/pkg/net/hosts_test.go b/src/pkg/net/hosts_test.go index a05ee10e7c..d0ee2a7acb 100644 --- a/src/pkg/net/hosts_test.go +++ b/src/pkg/net/hosts_test.go @@ -24,6 +24,12 @@ var hosttests = []hostTest{ IPv4(127, 1, 1, 1), }}, hostTest{"loki", []IP{}}, + hostTest{"ullr", []IP{ + IPv4(127, 1, 1, 2), + }}, + hostTest{"ullrhost", []IP{ + IPv4(127, 1, 1, 2), + }}, } func TestLookupStaticHost(t *testing.T) { diff --git a/src/pkg/net/hosts_testdata b/src/pkg/net/hosts_testdata index 7cf6fbbc79..b601763898 100644 --- a/src/pkg/net/hosts_testdata +++ b/src/pkg/net/hosts_testdata @@ -3,6 +3,8 @@ 127.0.0.3 odin # inline comment ::2 odin 127.1.1.1 thor +# aliases +127.1.1.2 ullr ullrhost # Bogus entries that must be ignored. 123.123.123 loki 321.321.321.321 |