Browse Source

remove egressrange from relayed egress allowedips

Matthew R Kasun 3 years ago
parent
commit
317b5c3d5d
1 changed files with 9 additions and 0 deletions
  1. 9 0
      logic/peers.go

+ 9 - 0
logic/peers.go

@@ -416,6 +416,15 @@ func GetPeerUpdateForRelayedNode(node *models.Node, udppeers map[string]string)
 			allowedips = append(allowedips[:i], allowedips[i+1:]...)
 		}
 	}
+	//delete egressrange from allowedip if we are egress gateway
+	if node.IsEgressGateway == "yes" {
+		for i := len(allowedips) - 1; i >= 0; i-- {
+			if StringSliceContains(node.EgressGatewayRanges, allowedips[i].IP.String()) {
+				allowedips = append(allowedips[:i], allowedips[i+1:]...)
+			}
+		}
+
+	}
 
 	pubkey, err := wgtypes.ParseKey(relay.PublicKey)
 	if err != nil {