adding check for relay

This commit is contained in:
afeiszli 2022-06-14 16:48:39 -04:00
parent da8bafc35f
commit f632f043fe

View file

@ -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