recommended fixes [2 of 2]

pull/429/head
Karmanyaah Malhotra 2022-10-07 16:24:11 -05:00
parent de2ca33700
commit 511d3f6aaf
1 changed files with 11 additions and 10 deletions

View File

@ -314,18 +314,19 @@ func parseIPHostPrefix(host string) (prefixes []netip.Prefix, err error) {
}
// not a prefix, parse as host or IP
// LookupHost forwards through if it's an IP
// LookupHost passes through an IP as is
ips, err := net.LookupHost(host)
if err == nil {
for _, i := range ips {
ip, err := netip.ParseAddr(i)
if err == nil {
prefix, err := ip.Prefix(ip.BitLen())
if err != nil {
return prefixes, errors.New(fmt.Sprint("ip", ip, " successfully parsed as IP but unable to turn into prefix. THIS SHOULD NEVER HAPPEN. err:", err.Error()))
}
prefixes = append(prefixes, prefix.Masked()) //also masked canonical ip
if err != nil {
return nil, err
}
for _, i := range ips {
ip, err := netip.ParseAddr(i)
if err == nil {
prefix, err := ip.Prefix(ip.BitLen())
if err != nil {
return nil, fmt.Errorf("%s successfully parsed but unable to make prefix: %s", ip.String(), err.Error())
}
prefixes = append(prefixes, prefix.Masked()) //also masked canonical ip
}
}
return