Fix name resolution for host names in config (#431)

This commit is contained in:
Nathan Brown 2021-04-01 21:48:41 -05:00 committed by GitHub
parent 64d8e5aa96
commit 1499be3e40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 8 deletions

10
main.go
View File

@ -299,19 +299,17 @@ func Main(config *Config, configTest bool, buildVersion string, logger *logrus.L
if ok {
for _, v := range vals {
ip, port, err := parseIPAndPort(fmt.Sprintf("%v", v))
if err == nil {
lightHouse.AddRemote(ip2int(vpnIp), NewUDPAddr(ip, port), true)
} else {
if err != nil {
return nil, NewContextualError("Static host address could not be parsed", m{"vpnIp": vpnIp}, err)
}
lightHouse.AddRemote(ip2int(vpnIp), NewUDPAddr(ip, port), true)
}
} else {
ip, port, err := parseIPAndPort(fmt.Sprintf("%v", v))
if err == nil {
lightHouse.AddRemote(ip2int(vpnIp), NewUDPAddr(ip, port), true)
} else {
if err != nil {
return nil, NewContextualError("Static host address could not be parsed", m{"vpnIp": vpnIp}, err)
}
lightHouse.AddRemote(ip2int(vpnIp), NewUDPAddr(ip, port), true)
}
}

View File

@ -56,7 +56,15 @@ func parseIPAndPort(s string) (net.IP, uint16, error) {
return nil, 0, err
}
addr, err := net.ResolveIPAddr("ip", rIp)
if err != nil {
return nil, 0, err
}
iPort, err := strconv.Atoi(sPort)
ip := net.ParseIP(rIp)
return ip, uint16(iPort), nil
if err != nil {
return nil, 0, err
}
return addr.IP, uint16(iPort), nil
}