Merge pull request #230 from sbaildon/mesh-local-ip

filter local IP addresses when scanning for ips resolved by hostname
This commit is contained in:
Lucas Servén Marín 2021-08-22 15:49:06 +02:00 committed by GitHub
commit cad15d9961
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -59,6 +59,7 @@ func getIP(hostname string, ignoreIfaces ...int) (*net.IPNet, *net.IPNet, error)
ignore[oneAddressCIDR(ip.IP).String()] = struct{}{} ignore[oneAddressCIDR(ip.IP).String()] = struct{}{}
} }
} }
var hostPriv, hostPub []*net.IPNet var hostPriv, hostPub []*net.IPNet
{ {
// Check IPs to which hostname resolves first. // Check IPs to which hostname resolves first.
@ -71,6 +72,9 @@ func getIP(hostname string, ignoreIfaces ...int) (*net.IPNet, *net.IPNet, error)
if !ok { if !ok {
continue continue
} }
if isLocal(ip.IP) {
continue
}
ip.Mask = mask ip.Mask = mask
if isPublic(ip.IP) { if isPublic(ip.IP) {
hostPub = append(hostPub, ip) hostPub = append(hostPub, ip)