From cee0ed1c39df2345c4da8a0f36db0f3f5c219164 Mon Sep 17 00:00:00 2001 From: 0xdcarns Date: Fri, 22 Apr 2022 16:40:36 -0400 Subject: [PATCH] reverted some old logic --- logic/peers.go | 44 ++++++++++++++++---------------------------- logic/server.go | 33 +++++++++++++-------------------- 2 files changed, 29 insertions(+), 48 deletions(-) diff --git a/logic/peers.go b/logic/peers.go index 4f24196c..13af8fa6 100644 --- a/logic/peers.go +++ b/logic/peers.go @@ -98,7 +98,6 @@ func GetNodePeers(network *models.Network, nodeid string, excludeRelayed bool, i peer.AllowedIPs = append(peer.AllowedIPs, currentExtClients[i].Address) } 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) } } @@ -324,9 +323,7 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet { IP: net.ParseIP(peer.Address), Mask: net.CIDRMask(32, 32), } - if peeraddr.IP != nil && peeraddr.Mask != nil { - allowedips = append(allowedips, peeraddr) - } + allowedips = append(allowedips, peeraddr) } if peer.Address6 != "" { @@ -334,9 +331,7 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet { IP: net.ParseIP(peer.Address6), Mask: net.CIDRMask(128, 128), } - if addr6.IP != nil && addr6.Mask != nil { - allowedips = append(allowedips, addr6) - } + allowedips = append(allowedips, addr6) } // handle manually set peers @@ -360,9 +355,7 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet { IP: net.ParseIP(allowedIp), Mask: net.CIDRMask(128, 128), } - if ipnet.IP != nil && ipnet.Mask != nil { - allowedips = append(allowedips, ipnet) - } + allowedips = append(allowedips, ipnet) } } // handle egress gateway peers @@ -375,24 +368,19 @@ func GetAllowedIPs(node, peer *models.Node) []net.IPNet { logger.Log(1, "could not parse gateway IP range. Not adding ", iprange) 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 - 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") - continue // skip adding egress range if overlaps with node's ip - } - // TODO: Could put in a lot of great logic to avoid conflicts / bad routes - if ipnet.Contains(net.ParseIP(node.LocalAddress)) { // ensuring egress gateway range does not contain public ip of node - logger.Log(2, "egress IP range of ", iprange, " overlaps with ", node.LocalAddress, ", omitting") - continue // skip adding egress range if overlaps with node's local ip - } - if err != nil { - logger.Log(1, "error encountered when setting egress range", err.Error()) - } else { - allowedips = append(allowedips, *ipnet) - } - } else if currentAddr.IsIPv6() { + 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 + logger.Log(2, "egress IP range of ", iprange, " overlaps with ", node.Endpoint, ", omitting") + continue // skip adding egress range if overlaps with node's ip + } + // TODO: Could put in a lot of great logic to avoid conflicts / bad routes + if ipnet.Contains(net.ParseIP(node.LocalAddress)) { // ensuring egress gateway range does not contain public ip of node + logger.Log(2, "egress IP range of ", iprange, " overlaps with ", node.LocalAddress, ", omitting") + continue // skip adding egress range if overlaps with node's local ip + } + if err != nil { + logger.Log(1, "error encountered when setting egress range", err.Error()) + } else { allowedips = append(allowedips, *ipnet) } } diff --git a/logic/server.go b/logic/server.go index 3e1b03ea..7a61a225 100644 --- a/logic/server.go +++ b/logic/server.go @@ -293,28 +293,22 @@ func GetServerPeers(serverNode *models.Node) ([]wgtypes.PeerConfig, bool, []stri logger.Log(1, "could not parse gateway IP range. Not adding", iprange) 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 - 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") - continue // skip adding egress range if overlaps with node's ip - } - if ipnet.Contains(net.ParseIP(serverNode.LocalAddress)) { // ensuring egress gateway range does not contain public ip of node - logger.Log(2, "egress IP range of", iprange, "overlaps with", serverNode.LocalAddress, ", omitting") - continue // skip adding egress range if overlaps with node's local ip - } - gateways = append(gateways, iprange) - if err != nil { - logger.Log(1, "ERROR ENCOUNTERED SETTING GATEWAY:", err.Error()) - } else { - allowedips = append(allowedips, *ipnet) - } - } else if currentAddr.IsIPv6() { + 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 + logger.Log(2, "egress IP range of", iprange, "overlaps with", node.Endpoint, ", omitting") + continue // skip adding egress range if overlaps with node's ip + } + if ipnet.Contains(net.ParseIP(serverNode.LocalAddress)) { // ensuring egress gateway range does not contain public ip of node + logger.Log(2, "egress IP range of", iprange, "overlaps with", serverNode.LocalAddress, ", omitting") + continue // skip adding egress range if overlaps with node's local ip + } + gateways = append(gateways, iprange) + if err != nil { + logger.Log(1, "ERROR ENCOUNTERED SETTING GATEWAY:", err.Error()) + } else { allowedips = append(allowedips, *ipnet) } } - ranges = nil } peer = wgtypes.PeerConfig{ @@ -402,7 +396,6 @@ func GetServerExtPeers(serverNode *models.Node) ([]wgtypes.PeerConfig, error) { } tempPeers = nil extPeers = nil - fmt.Printf("appended peers: %v \n", peers) return peers, err }