feat(aa-log): unify the isOwner function across features.

This commit is contained in:
Alexandre Pujol 2024-10-06 20:17:19 +01:00
parent 856c425dd5
commit 29a1642598
Failed to generate hash of commit
2 changed files with 5 additions and 6 deletions

View file

@ -29,7 +29,7 @@ func init() {
} }
} }
func isOwner(log map[string]string) bool { func IsOwner(log map[string]string) bool {
fsuid, hasFsUID := log["fsuid"] fsuid, hasFsUID := log["fsuid"]
ouid, hasOuUID := log["ouid"] ouid, hasOuUID := log["ouid"]
isDbus := strings.Contains(log["operation"], "dbus") isDbus := strings.Contains(log["operation"], "dbus")
@ -98,7 +98,7 @@ func newFileFromLog(log map[string]string) Rule {
return &File{ return &File{
Base: newBaseFromLog(log), Base: newBaseFromLog(log),
Qualifier: newQualifierFromLog(log), Qualifier: newQualifierFromLog(log),
Owner: isOwner(log), Owner: IsOwner(log),
Path: log["name"], Path: log["name"],
Access: accesses, Access: accesses,
Target: log["target"], Target: log["target"],
@ -262,7 +262,7 @@ func newLinkFromLog(log map[string]string) Rule {
return &Link{ return &Link{
Base: newBaseFromLog(log), Base: newBaseFromLog(log),
Qualifier: newQualifierFromLog(log), Qualifier: newQualifierFromLog(log),
Owner: isOwner(log), Owner: IsOwner(log),
Path: log["name"], Path: log["name"],
Target: log["target"], Target: log["target"],
} }

View file

@ -200,12 +200,11 @@ func (aaLogs AppArmorLogs) String() string {
for _, log := range aaLogs { for _, log := range aaLogs {
seen := map[string]bool{"apparmor": true} seen := map[string]bool{"apparmor": true}
res.WriteString(state[log["apparmor"]]) res.WriteString(state[log["apparmor"]])
fsuid := log["fsuid"] owner := aa.IsOwner(log)
ouid := log["ouid"]
for _, key := range keys { for _, key := range keys {
if item, present := log[key]; present { if item, present := log[key]; present {
if key == "name" && fsuid == ouid && !strings.Contains(log["operation"], "dbus") { if key == "name" && owner {
res.WriteString(template[key] + " owner" + reset) res.WriteString(template[key] + " owner" + reset)
} }
if temp, present := template[key]; present { if temp, present := template[key]; present {