allow all IPv6 to be used

This commit is contained in:
Niko Storni 2020-05-05 20:13:40 +02:00
parent 6e7bb994d0
commit 963c450730

View file

@ -43,15 +43,13 @@ func GetIPPool(stopGrp *stop.Group) (*IPPool, error) {
return nil, errors.Err(err) return nil, errors.Err(err)
} }
var pool []throttledIP var pool []throttledIP
ipv6Added := false
for _, address := range addrs { for _, address := range addrs {
if ipnet, ok := address.(*net.IPNet); ok && ipnet.IP.IsGlobalUnicast() { if ipnet, ok := address.(*net.IPNet); ok && ipnet.IP.IsGlobalUnicast() {
if ipnet.IP.To16() != nil && govalidator.IsIPv6(ipnet.IP.String()) && !ipv6Added { if ipnet.IP.To16() != nil && govalidator.IsIPv6(ipnet.IP.String()) {
pool = append(pool, throttledIP{ pool = append(pool, throttledIP{
IP: ipnet.IP.String(), IP: ipnet.IP.String(),
LastUse: time.Now().Add(-5 * time.Minute), LastUse: time.Now().Add(-5 * time.Minute),
}) })
ipv6Added = true
} else if ipnet.IP.To4() != nil && govalidator.IsIPv4(ipnet.IP.String()) { } else if ipnet.IP.To4() != nil && govalidator.IsIPv4(ipnet.IP.String()) {
pool = append(pool, throttledIP{ pool = append(pool, throttledIP{
IP: ipnet.IP.String(), IP: ipnet.IP.String(),