pub enum Route {
Shell,
PlanShellSteps,
WasmTools,
Drivers,
Hooks,
ProcessHarness,
HarnessTools,
}Expand description
One route a capsule can run code on, as RouteReport::route names it.
Variants§
Shell
A capabilities.shell.allow command the model runs.
PlanShellSteps
A plan’s shell step.
WasmTools
A WASM runtime: tool artifact, declared or pulled.
Drivers
A runtime: driver artifact.
Hooks
A runtime: hook artifact.
ProcessHarness
The coding harness inference.transport: process runs.
HarnessTools
The tools that harness runs on its own.
Implementations§
Source§impl Route
impl Route
Sourcepub const ALL: [Self; 7]
pub const ALL: [Self; 7]
Every route, in the order route_table reports them.
Sourcepub fn label(self) -> &'static str
pub fn label(self) -> &'static str
The route’s name in --explain-scope’s text, mur doctor and W-SEC-034.
Sourcepub fn under_class(self) -> bool
pub fn under_class(self) -> bool
Whether the session’s class covers this route: exactly the routes spawned through
sandbox::prepare_enforcement, the one path that installs the session’s tier. This follows
where each route is spawned, not a policy: confining another route means flipping its arm
here.
Sourcepub fn runs_unconfined(self) -> bool
pub fn runs_unconfined(self) -> bool
Whether an unconfined session runs this route as the operator: the routes
UNCONFINED_APPLIES_TO names.
Sourcepub fn note(self) -> Option<&'static str>
pub fn note(self) -> Option<&'static str>
What an uncovered route does run under, as RouteReport::note states it; None for a
covered route, which the tier’s mechanism holds.
Trait Implementations§
impl Copy for Route
impl Eq for Route
impl StructuralPartialEq for Route
Auto Trait Implementations§
impl Forget for Route
impl Freeze for Route
impl RefUnwindSafe for Route
impl Send for Route
impl Sync for Route
impl Unpin for Route
impl UnsafeUnpin for Route
impl UnwindSafe for Route
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