|
@@ -3,6 +3,7 @@ package nodeacls
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
+ "maps"
|
|
|
"sync"
|
|
|
|
|
|
"github.com/gravitl/netmaker/logic/acls"
|
|
@@ -20,8 +21,9 @@ func AreNodesAllowed(networkID NetworkID, node1, node2 NodeID) bool {
|
|
|
}
|
|
|
var allowed bool
|
|
|
acls.AclMutex.Lock()
|
|
|
- currNetworkACLNode1 := currentNetworkACL[acls.AclID(node1)]
|
|
|
- currNetworkACLNode2 := currentNetworkACL[acls.AclID(node2)]
|
|
|
+ currNetAclCopy := maps.Clone(currentNetworkACL)
|
|
|
+ currNetworkACLNode1 := currNetAclCopy[acls.AclID(node1)]
|
|
|
+ currNetworkACLNode2 := currNetAclCopy[acls.AclID(node2)]
|
|
|
acls.AclMutex.Unlock()
|
|
|
allowed = currNetworkACLNode1.IsAllowed(acls.AclID(node2)) && currNetworkACLNode2.IsAllowed(acls.AclID(node1))
|
|
|
return allowed
|