浏览代码

avoid getting relay allowed ips if node is using proxy

Abhishek Kondur 2 年之前
父节点
当前提交
728c24c16a
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. 7 4
      logic/peers.go

+ 7 - 4
logic/peers.go

@@ -202,7 +202,7 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
 		return models.PeerUpdate{}, err
 	}
 
-	if node.IsRelayed == "yes" {
+	if node.IsRelayed == "yes" && !node.Proxy {
 		return GetPeerUpdateForRelayedNode(node, udppeers)
 	}
 
@@ -227,7 +227,7 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
 		var setEndpoint = !(node.IsServer == "yes")
 
 		if peer.IsRelayed == "yes" {
-			if !(node.IsRelay == "yes" && ncutils.StringSliceContains(node.RelayAddrs, peer.PrimaryAddress())) {
+			if !peer.Proxy && !(node.IsRelay == "yes" && ncutils.StringSliceContains(node.RelayAddrs, peer.PrimaryAddress())) {
 				//skip -- will be added to relay
 				continue
 			} else if node.IsRelay == "yes" && ncutils.StringSliceContains(node.RelayAddrs, peer.PrimaryAddress()) {
@@ -298,8 +298,11 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) {
 				return models.PeerUpdate{}, err
 			}
 		}
-
-		allowedips := GetAllowedIPs(node, &peer, metrics, true)
+		fetchRelayedIps := true
+		if node.Proxy {
+			fetchRelayedIps = false
+		}
+		allowedips := GetAllowedIPs(node, &peer, metrics, fetchRelayedIps)
 		var keepalive time.Duration
 		if node.PersistentKeepalive != 0 {
 			// set_keepalive