pub enum NetDecision {
NotRequested,
Confine,
GapWarn {
reason: String,
},
}Expand description
What to do about network confinement for one subprocess spawn. Unlike
FsDecision, this never refuses the whole call — network.enabled is
an independent, best-effort axis (§build brief item 3): “surface the
gap, never claim enforcement you lack”, not a hard fs-style gate. A
caller that ALSO has an FsDecision::Refuse for the same call still
refuses (that decision wins), but a network-only gap never blocks a
call that has no fs confinement problem.
Variants§
NotRequested
network.enabled is false (the default) — nothing to do,
byte-identical to pre-P5-10 behavior.
Confine
A coarse (no domain granularity) network cut-off is available and requested — apply it for real.
GapWarn
network.enabled is true but this platform/kernel can’t deliver
what was asked (domain allow/deny lists — needs the out-of-scope
TLS-MITM proxy — or coarse cut-off itself is unavailable). Never
silently dropped: surfaced as a one-time warning, the subprocess
still runs (network-UNCONFINED, everything else about the call is
unaffected).
Trait Implementations§
Source§impl Clone for NetDecision
impl Clone for NetDecision
Source§fn clone(&self) -> NetDecision
fn clone(&self) -> NetDecision
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 NetDecision
impl Debug for NetDecision
impl Eq for NetDecision
Source§impl PartialEq for NetDecision
impl PartialEq for NetDecision
impl StructuralPartialEq for NetDecision
Auto Trait Implementations§
impl Freeze for NetDecision
impl RefUnwindSafe for NetDecision
impl Send for NetDecision
impl Sync for NetDecision
impl Unpin for NetDecision
impl UnsafeUnpin for NetDecision
impl UnwindSafe for NetDecision
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.