Przeglądaj źródła

fix inet gw and relayed conflict

abhishek9686 1 rok temu
rodzic
commit
e631f68a4f
1 zmienionych plików z 3 dodań i 1 usunięć
  1. 3 1
      logic/peers.go

+ 3 - 1
logic/peers.go

@@ -175,7 +175,9 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
 			_, isFailOverPeer := node.FailOverPeers[peer.ID.String()]
 			if servercfg.IsPro {
 				if (node.IsRelayed && node.RelayedBy != peer.ID.String()) ||
-					(peer.IsRelayed && peer.RelayedBy != node.ID.String()) || isFailOverPeer || (node.InternetGwID != "" && node.InternetGwID != peer.ID.String()) || ((peer.InternetGwID != "" && peer.InternetGwID != node.ID.String()) && (node.IsRelayed && node.RelayedBy != peer.ID.String())) {
+					(peer.IsRelayed && peer.RelayedBy != node.ID.String()) || isFailOverPeer ||
+					(node.InternetGwID != "" && node.InternetGwID != peer.ID.String()) ||
+					(peer.InternetGwID != "" && !(node.IsRelayed && node.RelayedBy == peer.ID.String()) && peer.InternetGwID != node.ID.String()) {
 					// if node is relayed and peer is not the relay, set remove to true
 					if _, ok := peerIndexMap[peerHost.PublicKey.String()]; ok {
 						continue