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:
Armon Dadgar 2015-07-22 17:32:00 -07:00
commit dcb5ae783b
1 changed files with 12 additions and 4 deletions

View File

@ -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