ソースを参照

remove egressrange from relayed egress allowedips

Matthew R Kasun 3 年 前
コミット
8bd632d0bc
1 ファイル変更9 行追加0 行削除
  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 {