RuleNetwork.AaNet.proto_ok: def of bend-osdev-apparmor@0.1.0.0 Import: import bend-osdev-apparmor@0.1.0.0/rule_network.bend as RuleNetwork Lines 115-126 of bend-osdev-apparmor@0.1.0.0/rule_network.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-apparmor@0.1.0.0/rule_network.bend&start_line=115&end_line=126 import Base import bend-osdev-apparmor@0.1.0.0/text.bend as X # a protocol needs the inet or inet6 domain, or none, and icmp is not inet6's # (apparmor_parser 4.0.1: "Invalid network entry" otherwise) def AaNet.proto_ok(d: Maybe<&2, List<&2, U32>>, pr: Maybe<&2, List<&2, U32>>) -> Bool: match d: case None{}: True{} case Some{+x}: match pr: case None{}: True{} case Some{+y}: Bool.or(X.AaText.is(x, "inet"), Bool.and(X.AaText.is(x, "inet6"), Bool.not(X.AaText.is(y, "icmp")))) Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.not https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/text.bend&name=AaText.is