Forráskód Böngészése

fix nil error on node tags

abhishek9686 3 hónapja
szülő
commit
0a9b18bed9
3 módosított fájl, 12 hozzáadás és 1 törlés
  1. 0 1
      logic/extpeers.go
  2. 6 0
      models/node.go
  3. 6 0
      pro/logic/acls.go

+ 0 - 1
logic/extpeers.go

@@ -81,7 +81,6 @@ func GetEgressRangesOnNetwork(client *models.ExtClient) ([]string, error) {
 			continue
 		}
 		if currentNode.EgressDetails.IsEgressGateway { // add the egress gateway range(s) to the result
-			fmt.Println("EGRESSS EXTCLEINT: ", currentNode.EgressDetails)
 			if len(currentNode.EgressDetails.EgressGatewayRanges) > 0 {
 				result = append(result, currentNode.EgressDetails.EgressGatewayRanges...)
 			}

+ 6 - 0
models/node.go

@@ -481,6 +481,12 @@ func (newNode *Node) Fill(
 	if newNode.IsFailOver != currentNode.IsFailOver {
 		newNode.IsFailOver = currentNode.IsFailOver
 	}
+	if newNode.Tags == nil {
+		if currentNode.Tags == nil {
+			currentNode.Tags = make(map[TagID]struct{})
+		}
+		newNode.Tags = currentNode.Tags
+	}
 }
 
 // StringWithCharset - returns random string inside defined charset

+ 6 - 0
pro/logic/acls.go

@@ -621,6 +621,9 @@ func IsUserAllowedToCommunicate(userName string, peer models.Node) (bool, []mode
 	} else {
 		peerTags = peer.Tags
 	}
+	if peerTags == nil {
+		peerTags = make(map[models.TagID]struct{})
+	}
 	peerTags[models.TagID(peerId)] = struct{}{}
 	peerTags[models.TagID("*")] = struct{}{}
 	acl, _ := logic.GetDefaultPolicy(models.NetworkID(peer.Network), models.UserPolicy)
@@ -1875,6 +1878,9 @@ func IsNodeUsingInternetGw(node *models.Node) {
 		return
 	}
 	nodeTags := maps.Clone(node.Tags)
+	if nodeTags == nil {
+		nodeTags = make(map[models.TagID]struct{})
+	}
 	nodeTags[models.TagID(node.ID.String())] = struct{}{}
 	acls, _ := logic.ListAclsByNetwork(models.NetworkID(node.Network))
 	var isUsing bool