Browse Source

add egress range to allowed ips if relay of relayed node is egress gateway

Matthew R. Kasun 2 years ago
parent
commit
be3be45981
1 changed files with 11 additions and 0 deletions
  1. 11 0
      logic/peers.go

+ 11 - 0
logic/peers.go

@@ -466,6 +466,17 @@ func GetPeerUpdateForRelayedNode(node *models.Node, udppeers map[string]string)
 			}
 			}
 		}
 		}
 	}
 	}
+	//add egress range if relay is egress
+	if relay.IsEgressGateway == "yes" {
+		var ip *net.IPNet
+		for _, cidr := range relay.EgressGatewayRanges {
+			_, ip, err = net.ParseCIDR(cidr)
+			if err != nil {
+				continue
+			}
+		}
+		allowedips = append(allowedips, *ip)
+	}
 
 
 	pubkey, err := wgtypes.ParseKey(relay.PublicKey)
 	pubkey, err := wgtypes.ParseKey(relay.PublicKey)
 	if err != nil {
 	if err != nil {