From f632f043fe88698f292a9a78cd7a2612c0159e5f Mon Sep 17 00:00:00 2001 From: afeiszli Date: Tue, 14 Jun 2022 16:48:39 -0400 Subject: [PATCH] adding check for relay --- logic/peers.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/logic/peers.go b/logic/peers.go index 01a12acb..b1b1a730 100644 --- a/logic/peers.go +++ b/logic/peers.go @@ -14,6 +14,7 @@ import ( "github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logic/acls/nodeacls" "github.com/gravitl/netmaker/models" + "github.com/gravitl/netmaker/netclient/ncutils" "github.com/gravitl/netmaker/servercfg" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" ) @@ -47,14 +48,15 @@ func GetPeerUpdate(node *models.Node) (models.PeerUpdate, error) { continue } if peer.IsRelayed == "yes" { - //skip -- willl be added to relay - continue + if !(node.IsRelay == "yes" && ncutils.StringSliceContains(node.RelayAddrs, peer.PrimaryAddress())) { + //skip -- willl be added to relay + continue + } } if !nodeacls.AreNodesAllowed(nodeacls.NetworkID(node.Network), nodeacls.NodeID(node.ID), nodeacls.NodeID(peer.ID)) { //skip if not permitted by acl continue } - pubkey, err := wgtypes.ParseKey(peer.PublicKey) if err != nil { return models.PeerUpdate{}, err