aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2015-08-25 11:25:46 -0400
committerChris Broadfoot <cbro@golang.org>2015-09-08 18:01:47 +0000
commita7e30ce9312e8ebfa89194bc899c8afdffa14906 (patch)
treecb7c745e6a660179b0579e20bdd6b2efa72c0849
parent1d11801f40a4c1d61e1766f239e8ea908222f072 (diff)
downloadgo-a7e30ce9312e8ebfa89194bc899c8afdffa14906.tar.gz
go-a7e30ce9312e8ebfa89194bc899c8afdffa14906.zip
[release-branch.go1.5] net: restore LookupPort for integer strings
This worked in Go 1.4 but was lost in the "pure Go" lookup routines substituted late in the Go 1.5 cycle. Fixes #12263. Change-Id: I77ec9d97cd8e67ace99d6ac965e5bc16c151ba83 Reviewed-on: https://go-review.googlesource.com/13915 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/14243 Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r--src/net/lookup.go3
-rw-r--r--src/net/port_test.go2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/net/lookup.go b/src/net/lookup.go
index a7ceee823f..9008322dc5 100644
--- a/src/net/lookup.go
+++ b/src/net/lookup.go
@@ -123,6 +123,9 @@ func lookupIPDeadline(host string, deadline time.Time) (addrs []IPAddr, err erro
// LookupPort looks up the port for the given network and service.
func LookupPort(network, service string) (port int, err error) {
+ if n, i, ok := dtoi(service, 0); ok && i == len(service) {
+ return n, nil
+ }
return lookupPort(network, service)
}
diff --git a/src/net/port_test.go b/src/net/port_test.go
index 2dacd975e7..258a5bda48 100644
--- a/src/net/port_test.go
+++ b/src/net/port_test.go
@@ -27,6 +27,7 @@ var portTests = []struct {
{"tcp", "time", 37, true},
{"tcp", "domain", 53, true},
{"tcp", "finger", 79, true},
+ {"tcp", "42", 42, true},
{"udp", "echo", 7, true},
{"udp", "tftp", 69, true},
@@ -36,6 +37,7 @@ var portTests = []struct {
{"udp", "ntp", 123, true},
{"udp", "snmp", 161, true},
{"udp", "syslog", 514, true},
+ {"udp", "42", 42, true},
{"--badnet--", "zzz", 0, false},
{"tcp", "--badport--", 0, false},