[utils] DBus rules enforce stricter ordering of dbus attributes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
AppArmor |
Fix Released
|
High
|
Tyler Hicks | ||
apparmor-easyprof-ubuntu (Ubuntu) |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
The DBus rules data strutures added recently (after the 2.10.95 beta 1 release) include a more strcit interpretation of dbus attribute ordering than before and is more strict than the parser:
[parser]$ cat /tmp/aa-
profile t /t {
dbus (receive, send) path=/com/
}
[parser]$ ./apparmor_parser -QK -d /tmp/aa-
----- Debugging built structures -----
Name: t
Profile Mode: Enforce
dbus ( send receive ) bus="session" path="/
[parser]$ ./apparmor_parser --version
AppArmor parser version 2.10.95
Copyright (C) 1999-2008 Novell Inc.
Copyright 2009-2012 Canonical Ltd.
[parser]$ cd ../utils/
[utils]$ PYTHONPATH=. python3 ./aa-logprof -d /tmp/aa-test-dir
Reading log entries from /var/log/syslog.
Updating AppArmor profiles in /tmp/aa-test-dir.
ERROR: Invalid or unknown keywords in 'dbus (receive, send) path=/com/
Related branches
Changed in apparmor: | |
status: | New → Triaged |
importance: | Undecided → Medium |
milestone: | none → 2.11.1 |
Changed in apparmor: | |
status: | Fix Committed → Fix Released |
I'm aware of this. The reason is that the tools use a regex instead of a "real" parser, which also means the parameter order gets enforced.
Changing this will be quite some work, so for now I recommend to use the default parameter order ;-)