Fixes #1099 by raising an error when we multiple private IPs are found

This commit is contained in:
Travis Truman 2015-07-16 22:24:47 -04:00
parent 53b805949d
commit 182f881d82

View File

@ -161,6 +161,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
@ -179,11 +181,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