def AaAcc.single.go

bend-osdev-apparmor@0.1.0.0 · eval.bend:84

import bend-osdev-apparmor@0.1.0.0/eval.bend as Eval
import Base
import bend-osdev-apparmor@0.1.0.0/perm.bend as P

84# what one grant contributes: allowed or denied; audited, or (for a denial
85# without audit) quieted
86def AaAcc.single.go(audit: Bool, deny: Bool, +p: P.AaPerms) -> AaAcc:
87  match audit:
88    case True{}:
89      match deny:
90        case True{}:
91          AaAcc{P.AaPerms.none(), p, p, P.AaPerms.none()}
92        case False{}:
93          AaAcc{p, P.AaPerms.none(), p, P.AaPerms.none()}
94    case False{}:
95      match deny:
96        case True{}:
97          AaAcc{P.AaPerms.none(), p, P.AaPerms.none(), p}
98        case False{}:
99          AaAcc{p, P.AaPerms.none(), P.AaPerms.none(), P.AaPerms.none()}

Uses (4)

Used by (1)