def file.law

bend-osdev-apparmor@0.1.0.0 · PROOF.bend:3528

import bend-osdev-apparmor@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-apparmor@0.1.0.0/options.bend as O
import bend-osdev-apparmor@0.1.0.0/profile.bend as PR
import bend-osdev-apparmor@0.1.0.0/eval.bend as V
import bend-osdev-apparmor@0.1.0.0/rule_file.bend as F

3528def file.law(+opts: O.AaOptions, +p: PR.AaProfile, +r: PR.AaRules, +q: F.AaFileQuery) -> {V.AaEval.file(opts, PR.AaProfile.include(PR.AaProfile.include(p, r), r), q) == V.AaEval.file(opts, PR.AaProfile.include(p, r), q) : V.AaDecision}:
3529  match p:
3530    case PR.AaProfile{n, a, f, r0, c, h}:
3531      match r0:
3532        case PR.AaRules{f0, c0, n0, s0, p0, m0, d0, x0}:
3533          match r:
3534            case PR.AaRules{f1, c1, n1, s1, p1, m1, d1, x1}:
3535              match q:
3536                case F.AaFileQuery{path, owner, req}:
3537                  file.inc(opts, f, req, f0, f1, F.AaFileQuery{path, owner, req})

Uses (8)

Used by (1)