mirror of https://github.com/status-im/consul.git
Merge pull request #1119 from trumant/multiple_private_IPs
Fixes #1099 by raising an error when we multiple private IPs are found
This commit is contained in:
commit
dcb5ae783b
|
@ -169,6 +169,8 @@ func GetPrivateIP() (net.IP, error) {
|
|||
return nil, fmt.Errorf("Failed to get interface addresses: %v", err)
|
||||
}
|
||||
|
||||
var candidates []net.IP
|
||||
|
||||
// Find private IPv4 address
|
||||
for _, rawAddr := range addresses {
|
||||
var ip net.IP
|
||||
|
@ -187,11 +189,17 @@ func GetPrivateIP() (net.IP, error) {
|
|||
if !isPrivateIP(ip.String()) {
|
||||
continue
|
||||
}
|
||||
|
||||
return ip, nil
|
||||
candidates = append(candidates, ip)
|
||||
}
|
||||
numIps := len(candidates)
|
||||
switch numIps {
|
||||
case 0:
|
||||
return nil, fmt.Errorf("No private IP address found")
|
||||
case 1:
|
||||
return candidates[0], nil
|
||||
default:
|
||||
return nil, fmt.Errorf("Multiple private IPs found. Please configure one.")
|
||||
}
|
||||
|
||||
return nil, fmt.Errorf("No private IP address found")
|
||||
}
|
||||
|
||||
// Converts bytes to an integer
|
||||
|
|
Loading…
Reference in New Issue