pub enum FsDecision {
NotRequested,
Confine,
RunUnconfinedWithWarning {
reason: String,
},
Refuse {
reason: String,
},
}Expand description
What to do about filesystem confinement for one subprocess spawn.
Variants§
NotRequested
The tier is DangerFullAccess, or the OS backstop isn’t active for
this call (enabled resolves to false) — no confinement is even
attempted. Byte-identical to pre-P5-10 behavior.
Confine
Confinement IS available on this platform/kernel — apply it for
real (the caller installs the pre_exec closure).
RunUnconfinedWithWarning
Confinement was requested but this platform/kernel cannot provide
it, and escalation says to proceed anyway (allow, or ask with
an approving handler) — run UNCONFINED, with reason surfaced as a
loud, one-time warning.
Fields
Refuse
Confinement was requested, this platform/kernel cannot provide it,
and escalation says to refuse (deny, the default; or ask with
no handler installed / a denying handler). The subprocess is NOT
spawned at all.
Trait Implementations§
Source§impl Clone for FsDecision
impl Clone for FsDecision
Source§fn clone(&self) -> FsDecision
fn clone(&self) -> FsDecision
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FsDecision
impl Debug for FsDecision
impl Eq for FsDecision
Source§impl PartialEq for FsDecision
impl PartialEq for FsDecision
impl StructuralPartialEq for FsDecision
Auto Trait Implementations§
impl Freeze for FsDecision
impl RefUnwindSafe for FsDecision
impl Send for FsDecision
impl Sync for FsDecision
impl Unpin for FsDecision
impl UnsafeUnpin for FsDecision
impl UnwindSafe for FsDecision
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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.