Browse Source

fixed ee user pwd change err, fixed ee license free tier limit err

0xdcarns 2 years ago
parent
commit
8b49ea7fa5
4 changed files with 8 additions and 5 deletions
  1. 3 0
      ee/initialize.go
  2. 1 0
      ee/types.go
  3. 1 2
      logic/pro/networkuser.go
  4. 3 3
      logic/security.go

+ 3 - 0
ee/initialize.go

@@ -48,6 +48,9 @@ func setControllerLimits() {
 	logic.Clients_Limit = Limits.Clients
 	logic.Free_Tier = Limits.FreeTier
 	servercfg.Is_EE = true
+	if logic.Free_Tier {
+		logic.Networks_Limit = 3
+	}
 }
 
 func resetFailover() {

+ 1 - 0
ee/types.go

@@ -17,6 +17,7 @@ var Limits = GlobalLimits{
 	Users:    0,
 	Nodes:    0,
 	Clients:  0,
+	Networks: 0,
 	FreeTier: false,
 }
 

+ 1 - 2
logic/pro/networkuser.go

@@ -217,10 +217,9 @@ func IsUserClientAllowed(clients []models.ExtClient, network, userID, clientID s
 
 // IsUserNetAdmin - checks if a user is a net admin or not
 func IsUserNetAdmin(network, userID string) bool {
-	var isAdmin bool
 	user, err := GetNetworkUser(network, promodels.NetworkUserID(userID))
 	if err != nil {
-		return isAdmin
+		return false
 	}
 	return user.AccessLevel == NET_ADMIN
 }

+ 3 - 3
logic/security.go

@@ -159,10 +159,10 @@ func UserPermissions(reqAdmin bool, netname string, token string) ([]string, str
 		return []string{ALL_NETWORK_ACCESS}, username, nil
 	}
 	// check network admin access
-	if len(netname) > 0 && (!authenticateNetworkUser(netname, userNetworks) || len(userNetworks) == 0) {
+	if len(netname) > 0 && (len(userNetworks) == 0 || !authenticateNetworkUser(netname, userNetworks)) {
 		return nil, username, Unauthorized_Err
 	}
-	if isEE && !pro.IsUserNetAdmin(netname, username) {
+	if isEE && len(netname) > 0 && !pro.IsUserNetAdmin(netname, username) {
 		return nil, "", Unauthorized_Err
 	}
 	return userNetworks, username, nil
@@ -181,7 +181,7 @@ func authenticateNetworkUser(network string, userNetworks []string) bool {
 	return StringSliceContains(userNetworks, network)
 }
 
-//Consider a more secure way of setting master key
+// Consider a more secure way of setting master key
 func authenticateDNSToken(tokenString string) bool {
 	tokens := strings.Split(tokenString, " ")
 	if len(tokens) < 2 {