components/golang/patches/0014-release-branch.go1.5-net-restore-LookupPort-for-inte.patch
changeset 5331 9c955076ffe3
equal deleted inserted replaced
5330:c36e3195e3e9 5331:9c955076ffe3
       
     1 From a7e30ce9312e8ebfa89194bc899c8afdffa14906 Mon Sep 17 00:00:00 2001
       
     2 From: Russ Cox <[email protected]>
       
     3 Date: Tue, 25 Aug 2015 11:25:46 -0400
       
     4 Subject: [PATCH 14/63] [release-branch.go1.5] net: restore LookupPort for
       
     5  integer strings
       
     6 
       
     7 This worked in Go 1.4 but was lost in the "pure Go" lookup
       
     8 routines substituted late in the Go 1.5 cycle.
       
     9 
       
    10 Fixes #12263.
       
    11 
       
    12 Change-Id: I77ec9d97cd8e67ace99d6ac965e5bc16c151ba83
       
    13 Reviewed-on: https://go-review.googlesource.com/13915
       
    14 Reviewed-by: Brad Fitzpatrick <[email protected]>
       
    15 Reviewed-on: https://go-review.googlesource.com/14243
       
    16 Reviewed-by: Ian Lance Taylor <[email protected]>
       
    17 ---
       
    18  src/net/lookup.go    | 3 +++
       
    19  src/net/port_test.go | 2 ++
       
    20  2 files changed, 5 insertions(+)
       
    21 
       
    22 diff --git a/src/net/lookup.go b/src/net/lookup.go
       
    23 index a7ceee8..9008322 100644
       
    24 --- a/src/net/lookup.go
       
    25 +++ b/src/net/lookup.go
       
    26 @@ -123,6 +123,9 @@ func lookupIPDeadline(host string, deadline time.Time) (addrs []IPAddr, err erro
       
    27  
       
    28  // LookupPort looks up the port for the given network and service.
       
    29  func LookupPort(network, service string) (port int, err error) {
       
    30 +	if n, i, ok := dtoi(service, 0); ok && i == len(service) {
       
    31 +		return n, nil
       
    32 +	}
       
    33  	return lookupPort(network, service)
       
    34  }
       
    35  
       
    36 diff --git a/src/net/port_test.go b/src/net/port_test.go
       
    37 index 2dacd97..258a5bd 100644
       
    38 --- a/src/net/port_test.go
       
    39 +++ b/src/net/port_test.go
       
    40 @@ -27,6 +27,7 @@ var portTests = []struct {
       
    41  	{"tcp", "time", 37, true},
       
    42  	{"tcp", "domain", 53, true},
       
    43  	{"tcp", "finger", 79, true},
       
    44 +	{"tcp", "42", 42, true},
       
    45  
       
    46  	{"udp", "echo", 7, true},
       
    47  	{"udp", "tftp", 69, true},
       
    48 @@ -36,6 +37,7 @@ var portTests = []struct {
       
    49  	{"udp", "ntp", 123, true},
       
    50  	{"udp", "snmp", 161, true},
       
    51  	{"udp", "syslog", 514, true},
       
    52 +	{"udp", "42", 42, true},
       
    53  
       
    54  	{"--badnet--", "zzz", 0, false},
       
    55  	{"tcp", "--badport--", 0, false},
       
    56 -- 
       
    57 2.6.1
       
    58