resolve merge conflicts

This commit is contained in:
abhishek9686 2025-02-19 09:33:23 +04:00
commit 9590f9e5a4
2 changed files with 9 additions and 3 deletions

View file

@ -371,7 +371,7 @@ func hostUpdateFallback(w http.ResponseWriter, r *http.Request) {
var hostUpdate models.HostUpdate
err = json.NewDecoder(r.Body).Decode(&hostUpdate)
if err != nil {
slog.Error("failed to update a host:", "user", r.Header.Get("user"), "error", err.Error())
slog.Error("failed to update a host:", "user", r.Header.Get("user"), "error", err.Error(), "host", currentHost.Name)
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
return
}

View file

@ -17,6 +17,7 @@ import (
var (
aclCacheMutex = &sync.RWMutex{}
aclCacheMap = make(map[string]models.Acl)
aclTagsMutex = &sync.RWMutex{}
)
func MigrateAclPolicies() {
@ -619,8 +620,10 @@ func IsPeerAllowed(node, peer models.Node, checkDefaultPolicy bool) bool {
} else {
peerId = peer.ID.String()
}
aclTagsMutex.RLock()
peerTags := maps.Clone(peer.Tags)
nodeTags := maps.Clone(node.Tags)
aclTagsMutex.RUnlock()
nodeTags[models.TagID(nodeId)] = struct{}{}
peerTags[models.TagID(peerId)] = struct{}{}
if checkDefaultPolicy {
@ -835,10 +838,13 @@ func IsNodeAllowedToCommunicate(node, peer models.Node, checkDefaultPolicy bool)
} else {
peerId = peer.ID.String()
}
node.Tags[models.TagID(nodeId)] = struct{}{}
peer.Tags[models.TagID(peerId)] = struct{}{}
aclTagsMutex.RLock()
peerTags := maps.Clone(peer.Tags)
nodeTags := maps.Clone(node.Tags)
aclTagsMutex.RUnlock()
nodeTags[models.TagID(nodeId)] = struct{}{}
peerTags[models.TagID(peerId)] = struct{}{}
if checkDefaultPolicy {
// check default policy if all allowed return true
defaultPolicy, err := GetDefaultPolicy(models.NetworkID(node.Network), models.DevicePolicy)