mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-22 01:57:43 +00:00
The parser recently changed how/where deny information is applied. commit 1fa45b7c1 ("parser: dfa minimization prepare for extended permissions") removed the implicit filtering of explicit denies during the minimization pass. The implicit clear allowed the explicit information to be carried into the minimization pass and merged with implicit denies. The end result being a minimized dfa with the explicit deny information available to be applied post minimization, and then dropped later at permission encoding in the accept entries. Extended permission however enable carrying explicit deny information into the kernel to fix certain bugs like complain mode not being able to distinguish between implicit and explicit deny rules (ie. deny rules get ignored in complain mode). However keeping explicit deny information when unnecessary result in a larger state machine than necessary and slower compiles. commit 179c1c1ba ("parser: fix minimization check for filtering_deny") Moved the explicit apply_and_clear_deny() pass to before minimization to restore mnimization's ability to create a minimized dfa with explicit and implicit deny information merged but this also cleared the explicit deny information that used to be carried through minimization. This meant that when the deny information was applied post minimization it resulted in the audit and quiet information being cleared. This resulted in the query_label tests failing as they are checking for the expected audit infomation in the permissions. Fixes: 179c1c1ba ("parser: fix minimization check for filtering_deny") Bug: https://gitlab.com/apparmor/apparmor/-/issues/461 Signed-off-by: John Johansen <john.johansen@canonical.com> MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/1408 Approved-by: Ryan Lee <rlee287@yahoo.com> Approved-by: John Johansen <john@jjmx.net> Merged-by: John Johansen <john@jjmx.net> (cherry picked from commit eb365b374df7b85c13a0119063a807743771bf5a) Signed-off-by: John Johansen <john.johansen@canonical.com>
The apparmor_parser allows you to add, replace, and remove AppArmor policy through the use of command line options. The default is to add. `apparmor_parser --help` shows what the command line options are. You can also find more information at https://wiki.apparmor.net -- The AppArmor development team