瀏覽代碼

check if default user policy is enabled

abhishek9686 2 周之前
父節點
當前提交
2f3f94575a
共有 2 個文件被更改,包括 15 次插入9 次删除
  1. 0 1
      logic/egress.go
  2. 15 8
      logic/extpeers.go

+ 0 - 1
logic/egress.go

@@ -37,7 +37,6 @@ func ValidateEgressReq(e *schema.Egress) error {
 }
 }
 
 
 func DoesUserHaveAccessToEgress(user *models.User, e *schema.Egress, acls []models.Acl) bool {
 func DoesUserHaveAccessToEgress(user *models.User, e *schema.Egress, acls []models.Acl) bool {
-
 	if !e.Status {
 	if !e.Status {
 		return false
 		return false
 	}
 	}

+ 15 - 8
logic/extpeers.go

@@ -73,6 +73,8 @@ func GetEgressRangesOnNetwork(client *models.ExtClient) ([]string, error) {
 	eli, _ := (&schema.Egress{Network: client.Network}).ListByNetwork(db.WithContext(context.TODO()))
 	eli, _ := (&schema.Egress{Network: client.Network}).ListByNetwork(db.WithContext(context.TODO()))
 	staticNode := client.ConvertToStaticNode()
 	staticNode := client.ConvertToStaticNode()
 	userPolicies := ListUserPolicies(models.NetworkID(client.Network))
 	userPolicies := ListUserPolicies(models.NetworkID(client.Network))
+	defaultUserPolicy, _ := GetDefaultPolicy(models.NetworkID(client.Network), models.UserPolicy)
+
 	for _, eI := range eli {
 	for _, eI := range eli {
 		if !eI.Status {
 		if !eI.Status {
 			continue
 			continue
@@ -89,17 +91,22 @@ func GetEgressRangesOnNetwork(client *models.ExtClient) ([]string, error) {
 		} else {
 		} else {
 			rangesToBeAdded = append(rangesToBeAdded, eI.Range)
 			rangesToBeAdded = append(rangesToBeAdded, eI.Range)
 		}
 		}
-		if staticNode.IsUserNode && staticNode.StaticNode.OwnerID != "" {
-			user, err := GetUser(staticNode.StaticNode.OwnerID)
-			if err != nil {
-				return []string{}, errors.New("user not found")
-			}
-			if DoesUserHaveAccessToEgress(user, &eI, userPolicies) {
+		if defaultUserPolicy.Enabled {
+			result = append(result, rangesToBeAdded...)
+		} else {
+			if staticNode.IsUserNode && staticNode.StaticNode.OwnerID != "" {
+				user, err := GetUser(staticNode.StaticNode.OwnerID)
+				if err != nil {
+					return []string{}, errors.New("user not found")
+				}
+				if DoesUserHaveAccessToEgress(user, &eI, userPolicies) {
+					result = append(result, rangesToBeAdded...)
+				}
+			} else {
 				result = append(result, rangesToBeAdded...)
 				result = append(result, rangesToBeAdded...)
 			}
 			}
-		} else {
-			result = append(result, rangesToBeAdded...)
 		}
 		}
+
 	}
 	}
 	extclients, _ := GetNetworkExtClients(client.Network)
 	extclients, _ := GetNetworkExtClients(client.Network)
 	for _, extclient := range extclients {
 	for _, extclient := range extclients {