mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
Update network.go since To16 converts the IP address ip up to a 16-byte representation. If ip is not an IP address (it is the wrong length), To16 returns nil. (#5134)
This commit is contained in:
parent
97236389e8
commit
838578b55f
|
@ -15,18 +15,13 @@ func DetectedHostAddress() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
if v4Address := selectIpV4(netInterfaces, true); v4Address != "" {
|
||||
if v4Address := selectIpV4(netInterfaces); v4Address != "" {
|
||||
return v4Address
|
||||
}
|
||||
|
||||
if v6Address := selectIpV4(netInterfaces, false); v6Address != "" {
|
||||
return v6Address
|
||||
}
|
||||
|
||||
return "localhost"
|
||||
}
|
||||
|
||||
func selectIpV4(netInterfaces []net.Interface, isIpV4 bool) string {
|
||||
func selectIpV4(netInterfaces []net.Interface) string {
|
||||
for _, netInterface := range netInterfaces {
|
||||
if (netInterface.Flags & net.FlagUp) == 0 {
|
||||
continue
|
||||
|
@ -38,18 +33,12 @@ func selectIpV4(netInterfaces []net.Interface, isIpV4 bool) string {
|
|||
|
||||
for _, a := range addrs {
|
||||
if ipNet, ok := a.(*net.IPNet); ok && !ipNet.IP.IsLoopback() {
|
||||
if isIpV4 {
|
||||
if ipNet.IP.To4() != nil {
|
||||
return ipNet.IP.String()
|
||||
}
|
||||
} else {
|
||||
if ipNet.IP.To16() != nil {
|
||||
return ipNet.IP.String()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue