Просмотр исходного кода

Merge pull request #2322 from calmh/colons

Don't naively join host and port using colon (fixes #2316)
Audrius Butkevicius 10 лет назад
Родитель
Сommit
ad2c05c3f5
1 измененных файлов с 3 добавлено и 3 удалено
  1. 3 3
      lib/discover/local.go

+ 3 - 3
lib/discover/local.go

@@ -218,7 +218,7 @@ func (c *localClient) registerDevice(src net.Addr, device Device) bool {
 			if err != nil {
 			if err != nil {
 				continue
 				continue
 			}
 			}
-			u.Host = fmt.Sprintf("%s:%d", host, tcpAddr.Port)
+			u.Host = net.JoinHostPort(host, strconv.Itoa(tcpAddr.Port))
 			validAddresses = append(validAddresses, u.String())
 			validAddresses = append(validAddresses, u.String())
 		} else {
 		} else {
 			validAddresses = append(validAddresses, addr.URL)
 			validAddresses = append(validAddresses, addr.URL)
@@ -247,9 +247,9 @@ func addrToAddr(addr *net.TCPAddr) string {
 	if len(addr.IP) == 0 || addr.IP.IsUnspecified() {
 	if len(addr.IP) == 0 || addr.IP.IsUnspecified() {
 		return fmt.Sprintf(":%c", addr.Port)
 		return fmt.Sprintf(":%c", addr.Port)
 	} else if bs := addr.IP.To4(); bs != nil {
 	} else if bs := addr.IP.To4(); bs != nil {
-		return fmt.Sprintf("%s:%c", bs.String(), addr.Port)
+		return net.JoinHostPort(bs.String(), strconv.Itoa(addr.Port))
 	} else if bs := addr.IP.To16(); bs != nil {
 	} else if bs := addr.IP.To16(); bs != nil {
-		return fmt.Sprintf("[%s]:%c", bs.String(), addr.Port)
+		return net.JoinHostPort(bs.String(), strconv.Itoa(addr.Port))
 	}
 	}
 	return ""
 	return ""
 }
 }