Explorar o código

fix node id acl validation

abhishek9686 hai 7 meses
pai
achega
1db150c65b
Modificáronse 2 ficheiros con 24 adicións e 9 borrados
  1. 23 8
      logic/acls.go
  2. 1 1
      models/acl.go

+ 23 - 8
logic/acls.go

@@ -290,11 +290,19 @@ func IsAclPolicyValid(acl models.Acl) bool {
 			if srcI.Value == "*" {
 				continue
 			}
-			// check if tag is valid
-			_, err := GetTag(models.TagID(srcI.Value))
-			if err != nil {
-				return false
+			if srcI.ID == models.NodeTagID {
+				// check if tag is valid
+				_, err := GetTag(models.TagID(srcI.Value))
+				if err != nil {
+					return false
+				}
+			} else {
+				_, err := GetNodeByID(srcI.Value)
+				if err != nil {
+					return false
+				}
 			}
+
 		}
 		for _, dstI := range acl.Dst {
 
@@ -307,10 +315,17 @@ func IsAclPolicyValid(acl models.Acl) bool {
 			if dstI.Value == "*" {
 				continue
 			}
-			// check if tag is valid
-			_, err := GetTag(models.TagID(dstI.Value))
-			if err != nil {
-				return false
+			if dstI.ID == models.NodeTagID {
+				// check if tag is valid
+				_, err := GetTag(models.TagID(dstI.Value))
+				if err != nil {
+					return false
+				}
+			} else {
+				_, err := GetNodeByID(dstI.Value)
+				if err != nil {
+					return false
+				}
 			}
 		}
 	}

+ 1 - 1
models/acl.go

@@ -58,7 +58,7 @@ const (
 	UserAclID                AclGroupType = "user"
 	UserGroupAclID           AclGroupType = "user-group"
 	NodeTagID                AclGroupType = "tag"
-	NodeID                   AclGroupType = "node_id"
+	NodeID                   AclGroupType = "device"
 	NetmakerIPAclID          AclGroupType = "ip"
 	NetmakerSubNetRangeAClID AclGroupType = "ipset"
 )