pub struct EgressNamespaceFailure {
pub blocker: EgressNamespaceBlocker,
pub failed_call: String,
pub errno: Option<i32>,
pub userns_grant: UsernsGrant,
pub attachment: ProfileAttachment,
}Expand description
A creation of the capsule network namespace that failed, with what its refusal names.
Every refusal of E-CAP-005 — at staging, at launch, at a session’s first command, in
mur doctor — renders Self::reason, so the places that ask cannot explain one host two
ways.
Fields§
§blocker: EgressNamespaceBlockerDecided by the failed call and its errno alone; the readings below never change it.
failed_call: StringThe call that failed, in CreationStep::describe’s words (unshare(CLONE_NEWUSER | CLONE_NEWNET), writing uid_map/gid_map, …), or, for
EgressNamespaceBlocker::CreatorUnavailable, the runtime’s account of why the creator
could not run.
errno: Option<i32>The errno the failed call left. None exactly for
EgressNamespaceBlocker::CreatorUnavailable, where no creation step ran.
userns_grant: UsernsGrantAppArmor’s unprivileged-userns restriction as this process read it when the failure was observed. Explains the failure; never decides whether there is one.
attachment: ProfileAttachmentThe profile the kernel reports as confining this process, read at the same moment.
Implementations§
Trait Implementations§
Source§impl Clone for EgressNamespaceFailure
impl Clone for EgressNamespaceFailure
Source§impl Debug for EgressNamespaceFailure
impl Debug for EgressNamespaceFailure
impl Eq for EgressNamespaceFailure
Source§impl PartialEq for EgressNamespaceFailure
impl PartialEq for EgressNamespaceFailure
impl StructuralPartialEq for EgressNamespaceFailure
Auto Trait Implementations§
impl Freeze for EgressNamespaceFailure
impl RefUnwindSafe for EgressNamespaceFailure
impl Send for EgressNamespaceFailure
impl Sync for EgressNamespaceFailure
impl Unpin for EgressNamespaceFailure
impl UnsafeUnpin for EgressNamespaceFailure
impl UnwindSafe for EgressNamespaceFailure
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