Browse Source

update peers to use iplib

Matthew R. Kasun 3 years ago
parent
commit
ef298fa343
1 changed files with 3 additions and 4 deletions
  1. 3 4
      logic/peers.go

+ 3 - 4
logic/peers.go

@@ -8,13 +8,13 @@ import (
 	"strings"
 	"time"
 
+	"github.com/c-robinson/iplib"
 	"github.com/gravitl/netmaker/database"
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logic/acls"
 	"github.com/gravitl/netmaker/logic/acls/nodeacls"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/servercfg"
-	"github.com/seancfoley/ipaddress-go/ipaddr"
 	"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
 )
 
@@ -318,8 +318,7 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet {
 
 	// handle manually set peers
 	for _, allowedIp := range peer.AllowedIPs {
-		currentAddr := ipaddr.NewIPAddressString(allowedIp).GetAddress()
-		if currentAddr.IsIPv4() {
+		if iplib.Version(net.ParseIP(allowedIp)) == 4 {
 			if _, ipnet, err := net.ParseCIDR(allowedIp); err == nil {
 				nodeEndpointArr := strings.Split(node.Endpoint, ":")
 				if !ipnet.Contains(net.IP(nodeEndpointArr[0])) && ipnet.IP.String() != peer.Address { // don't need to add an allowed ip that already exists..
@@ -332,7 +331,7 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet {
 				}
 				allowedips = append(allowedips, ipnet)
 			}
-		} else if currentAddr.IsIPv6() {
+		} else if iplib.Version(net.ParseIP(allowedIp)) == 6 {
 			ipnet := net.IPNet{
 				IP:   net.ParseIP(allowedIp),
 				Mask: net.CIDRMask(128, 128),