reverted some old logic

This commit is contained in:
0xdcarns 2022-04-22 16:40:36 -04:00
parent 9d365c9c28
commit cee0ed1c39
2 changed files with 29 additions and 48 deletions

View file

@ -98,7 +98,6 @@ func GetNodePeers(network *models.Network, nodeid string, excludeRelayed bool, i
peer.AllowedIPs = append(peer.AllowedIPs, currentExtClients[i].Address) peer.AllowedIPs = append(peer.AllowedIPs, currentExtClients[i].Address)
} }
if network.IsIPv6 == "yes" && currentExtClients[i].Address6 != "" { if network.IsIPv6 == "yes" && currentExtClients[i].Address6 != "" {
fmt.Printf("append ext client address6 %s \n", currentExtClients[i].Address6)
peer.AllowedIPs = append(peer.AllowedIPs, currentExtClients[i].Address6) peer.AllowedIPs = append(peer.AllowedIPs, currentExtClients[i].Address6)
} }
} }
@ -324,20 +323,16 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet {
IP: net.ParseIP(peer.Address), IP: net.ParseIP(peer.Address),
Mask: net.CIDRMask(32, 32), Mask: net.CIDRMask(32, 32),
} }
if peeraddr.IP != nil && peeraddr.Mask != nil {
allowedips = append(allowedips, peeraddr) allowedips = append(allowedips, peeraddr)
} }
}
if peer.Address6 != "" { if peer.Address6 != "" {
var addr6 = net.IPNet{ var addr6 = net.IPNet{
IP: net.ParseIP(peer.Address6), IP: net.ParseIP(peer.Address6),
Mask: net.CIDRMask(128, 128), Mask: net.CIDRMask(128, 128),
} }
if addr6.IP != nil && addr6.Mask != nil {
allowedips = append(allowedips, addr6) allowedips = append(allowedips, addr6)
} }
}
// handle manually set peers // handle manually set peers
for _, allowedIp := range peer.AllowedIPs { for _, allowedIp := range peer.AllowedIPs {
@ -360,11 +355,9 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet {
IP: net.ParseIP(allowedIp), IP: net.ParseIP(allowedIp),
Mask: net.CIDRMask(128, 128), Mask: net.CIDRMask(128, 128),
} }
if ipnet.IP != nil && ipnet.Mask != nil {
allowedips = append(allowedips, ipnet) allowedips = append(allowedips, ipnet)
} }
} }
}
// handle egress gateway peers // handle egress gateway peers
if peer.IsEgressGateway == "yes" { if peer.IsEgressGateway == "yes" {
//hasGateway = true //hasGateway = true
@ -375,8 +368,6 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet {
logger.Log(1, "could not parse gateway IP range. Not adding ", iprange) logger.Log(1, "could not parse gateway IP range. Not adding ", iprange)
continue // if can't parse CIDR continue // if can't parse CIDR
} }
currentAddr := ipaddr.NewIPAddressString(ipnet.String()).GetAddress()
if currentAddr.IsIPv4() {
nodeEndpointArr := strings.Split(peer.Endpoint, ":") // getting the public ip of node nodeEndpointArr := strings.Split(peer.Endpoint, ":") // getting the public ip of node
if ipnet.Contains(net.ParseIP(nodeEndpointArr[0])) { // ensuring egress gateway range does not contain endpoint of node if ipnet.Contains(net.ParseIP(nodeEndpointArr[0])) { // ensuring egress gateway range does not contain endpoint of node
logger.Log(2, "egress IP range of ", iprange, " overlaps with ", node.Endpoint, ", omitting") logger.Log(2, "egress IP range of ", iprange, " overlaps with ", node.Endpoint, ", omitting")
@ -392,9 +383,6 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet {
} else { } else {
allowedips = append(allowedips, *ipnet) allowedips = append(allowedips, *ipnet)
} }
} else if currentAddr.IsIPv6() {
allowedips = append(allowedips, *ipnet)
}
} }
} }
return allowedips return allowedips

View file

@ -293,8 +293,6 @@ func GetServerPeers(serverNode *models.Node) ([]wgtypes.PeerConfig, bool, []stri
logger.Log(1, "could not parse gateway IP range. Not adding", iprange) logger.Log(1, "could not parse gateway IP range. Not adding", iprange)
continue // if can't parse CIDR continue // if can't parse CIDR
} }
currentAddr := ipaddr.NewIPAddressString(ipnet.String()).GetAddress()
if currentAddr.IsIPv4() {
nodeEndpointArr := strings.Split(node.Endpoint, ":") // getting the public ip of node nodeEndpointArr := strings.Split(node.Endpoint, ":") // getting the public ip of node
if ipnet.Contains(net.ParseIP(nodeEndpointArr[0])) { // ensuring egress gateway range does not contain public ip of node if ipnet.Contains(net.ParseIP(nodeEndpointArr[0])) { // ensuring egress gateway range does not contain public ip of node
logger.Log(2, "egress IP range of", iprange, "overlaps with", node.Endpoint, ", omitting") logger.Log(2, "egress IP range of", iprange, "overlaps with", node.Endpoint, ", omitting")
@ -310,12 +308,8 @@ func GetServerPeers(serverNode *models.Node) ([]wgtypes.PeerConfig, bool, []stri
} else { } else {
allowedips = append(allowedips, *ipnet) allowedips = append(allowedips, *ipnet)
} }
} else if currentAddr.IsIPv6() {
allowedips = append(allowedips, *ipnet)
} }
} }
ranges = nil
}
peer = wgtypes.PeerConfig{ peer = wgtypes.PeerConfig{
PublicKey: pubkey, PublicKey: pubkey,
@ -402,7 +396,6 @@ func GetServerExtPeers(serverNode *models.Node) ([]wgtypes.PeerConfig, error) {
} }
tempPeers = nil tempPeers = nil
extPeers = nil extPeers = nil
fmt.Printf("appended peers: %v \n", peers)
return peers, err return peers, err
} }