Browse Source

Merge branch 'NET-341/dont-panic' of https://github.com/gravitl/netmaker into NET-258-oldupdates

Abhishek Kondur 2 years ago
parent
commit
0c06e2b972
1 changed files with 17 additions and 0 deletions
  1. 17 0
      logic/acls/common.go

+ 17 - 0
logic/acls/common.go

@@ -5,6 +5,7 @@ import (
 	"sync"
 	"sync"
 
 
 	"github.com/gravitl/netmaker/database"
 	"github.com/gravitl/netmaker/database"
+	"golang.org/x/exp/slog"
 )
 )
 
 
 var (
 var (
@@ -77,6 +78,22 @@ func (aclContainer ACLContainer) RemoveACL(ID AclID) ACLContainer {
 
 
 // ACLContainer.ChangeAccess - changes the relationship between two nodes in memory
 // ACLContainer.ChangeAccess - changes the relationship between two nodes in memory
 func (networkACL ACLContainer) ChangeAccess(ID1, ID2 AclID, value byte) {
 func (networkACL ACLContainer) ChangeAccess(ID1, ID2 AclID, value byte) {
+	if _, ok := networkACL[ID1]; !ok {
+		slog.Error("ACL missing for ", "id", ID1)
+		return
+	}
+	if _, ok := networkACL[ID2]; !ok {
+		slog.Error("ACL missing for ", "id", ID2)
+		return
+	}
+	if _, ok := networkACL[ID1][ID2]; !ok {
+		slog.Error("ACL missing for ", "id1", ID1, "id2", ID2)
+		return
+	}
+	if _, ok := networkACL[ID2][ID1]; !ok {
+		slog.Error("ACL missing for ", "id2", ID2, "id1", ID1)
+		return
+	}
 	networkACL[ID1][ID2] = value
 	networkACL[ID1][ID2] = value
 	networkACL[ID2][ID1] = value
 	networkACL[ID2][ID1] = value
 }
 }