pub enum FilesystemRestriction {
Advisory,
Enforced,
Absent,
}Expand description
What the filesystem mechanism this session installs restricts, as a stable wire name.
Keyed on [crate::sandbox::applied_tier] — the host tier capped by the declared containment
floor, which is the same value [crate::sandbox::ShellEnforcement::resolve] installs the
session’s mechanisms from. The achieved containment class answers a different question (“what
can this host back”), and a capsule declaring less than sealed on a sealed-capable host is
where the two part company: it is reported achieved: sealed and runs Landlock-scoped.
Variants§
Advisory
No kernel mechanism mediates the filesystem, so a path outside the workdir is reachable.
Enforced
Landlock refuses the open, and the path outside the granted set still exists.
Absent
A composed root, where the path outside the capsule is not there to open.
Trait Implementations§
Source§impl Clone for FilesystemRestriction
impl Clone for FilesystemRestriction
impl Copy for FilesystemRestriction
Source§impl Debug for FilesystemRestriction
impl Debug for FilesystemRestriction
impl Eq for FilesystemRestriction
Source§impl PartialEq for FilesystemRestriction
impl PartialEq for FilesystemRestriction
Source§impl Serialize for FilesystemRestriction
impl Serialize for FilesystemRestriction
impl StructuralPartialEq for FilesystemRestriction
Auto Trait Implementations§
impl Freeze for FilesystemRestriction
impl RefUnwindSafe for FilesystemRestriction
impl Send for FilesystemRestriction
impl Sync for FilesystemRestriction
impl Unpin for FilesystemRestriction
impl UnsafeUnpin for FilesystemRestriction
impl UnwindSafe for FilesystemRestriction
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