def AaParse.cp_applies
import bend-osdev-apparmor@0.1.0.0/parse.bend as Parseimport Base
import bend-osdev-apparmor@0.1.0.0/perm.bend as P
import bend-osdev-apparmor@0.1.0.0/rule_change_profile.bend as RX
1499# change_profile rules with exec conditions must agree on safe and unsafe
1500# (apparmor_parser 4.0.1 refuses overlapping ones that differ; the package,
1501# which does not intersect patterns, refuses any allow rules that differ)
1502def AaParse.cp_applies(r: RX.AaChangeRule) -> Bool:
1503 match r:
1504 case RX.AaChangeRule{q, e, s, tg}:
1505 match e:
1506 case None{}:
1507 False{}
1508 case Some{g}:
1509 Bool.not(P.AaQual.deny(q))