pub struct ContainmentDecision { /* private fields */ }Expand description
A session’s containment, decided once: the tier its commands run on and the class that tier achieves for this capsule.
Every reader of a session’s class or tier takes it from here — the floor refusal, the
ScopeReport (and so --explain-scope and session_start), the /tmp mapping, the
MURMUR.md exec facts, the tier ShellEnforcement installs, the resource plane’s and peer
handoff’s symlink rule, mur doctor and the escape-conformance harness — so no report can name
a class or tier the session’s commands do not run under.
Implementations§
Source§impl ContainmentDecision
impl ContainmentDecision
Sourcepub fn declared(&self) -> ContainmentClass
pub fn declared(&self) -> ContainmentClass
The combined declared floor the decision was made for.
Sourcepub fn achieved(&self) -> ContainmentClass
pub fn achieved(&self) -> ContainmentClass
The class this session’s commands run under.
Sourcepub fn host_containment(&self) -> ContainmentClass
pub fn host_containment(&self) -> ContainmentClass
The class the host could back for a capsule declaring sealed, with no capsule-side cap.
Reported only; nothing decides from it.
Sourcepub fn enforcement_tier(&self) -> &'static str
pub fn enforcement_tier(&self) -> &'static str
The wire name of the tier this session installs, as ScopeReport::enforcement_tier
spells it.
Trait Implementations§
Source§impl Clone for ContainmentDecision
impl Clone for ContainmentDecision
impl Copy for ContainmentDecision
Source§impl Debug for ContainmentDecision
impl Debug for ContainmentDecision
impl Eq for ContainmentDecision
Source§impl PartialEq for ContainmentDecision
impl PartialEq for ContainmentDecision
impl StructuralPartialEq for ContainmentDecision
Auto Trait Implementations§
impl Freeze for ContainmentDecision
impl RefUnwindSafe for ContainmentDecision
impl Send for ContainmentDecision
impl Sync for ContainmentDecision
impl Unpin for ContainmentDecision
impl UnsafeUnpin for ContainmentDecision
impl UnwindSafe for ContainmentDecision
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more