Browse Source

Merge pull request #1609 from gravitl/bugfix_v0.16.1_egress_relay

add egress range to allowed ips if relay of relayed node is egress ga…
Alex Feiszli 2 years ago
parent
commit
8ac1692490
1 changed files with 11 additions and 0 deletions
  1. 11 0
      logic/peers.go

+ 11 - 0
logic/peers.go

@@ -445,6 +445,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)
 	if err != nil {