pub struct SealedShortfall {
pub blocker: SealedBlocker,
pub failed_call: Option<String>,
pub errno: Option<i32>,
pub userns_grant: UsernsGrant,
pub attachment: ProfileAttachment,
pub profile_gap: ProfileGap,
}Expand description
Why this host cannot back sealed: the blocker, and, when a probe attempt failed, the call it
saw fail and the readings the refusal is worded with.
Self::reason is the text under E-CAP-003 for sealed, so the floor refusal,
--explain-scope and mur doctor cannot explain one host two ways.
Fields§
§blocker: SealedBlockerDecided by the attempts and Landlock alone; the readings below never change whether there is a shortfall.
failed_call: Option<String>The probe’s call that failed, in its step’s words (unshare(CLONE_NEWUSER | CLONE_NEWNET),
pivot_root(2), …), or, for SealedBlocker::ProbeUnavailable, the runtime’s account of
why the probe could not run. None when no attempt failed: SealedBlocker::NotLinux and
SealedBlocker::LandlockUnavailable.
errno: Option<i32>The errno the failed call left. None when no call failed, and for
SealedBlocker::ProbeUnavailable.
userns_grant: UsernsGrantAppArmor’s unprivileged-userns restriction as read with the attempts.
attachment: ProfileAttachmentThe profile the kernel reports as confining this process, read with the attempts.
profile_gap: ProfileGapWhy no mur-sealed profile confines this process, read with the attempts. Words the
remedy of SealedBlocker::AppArmorProfileMissing; decides nothing.
Implementations§
Source§impl SealedShortfall
impl SealedShortfall
Sourcepub fn reason(&self) -> String
pub fn reason(&self) -> String
SealedBlocker::reason; then, when an attempt failed, The probe's <call> failed with <ERRNO> (<words>). (or The probe could not run: <account>.); then, last, the same Host readings: … line E-CAP-005 ends with.
For SealedBlocker::AppArmorProfileMissing with a ProfileGap other than
ProfileGap::Undetermined, the blocker’s generic remedy is replaced by
profile_gap_remedy for that gap, the text E-CAP-005 names it with.
Trait Implementations§
Source§impl Clone for SealedShortfall
impl Clone for SealedShortfall
Source§impl Debug for SealedShortfall
impl Debug for SealedShortfall
impl Eq for SealedShortfall
Source§impl PartialEq for SealedShortfall
impl PartialEq for SealedShortfall
impl StructuralPartialEq for SealedShortfall
Auto Trait Implementations§
impl Forget for SealedShortfall
impl Freeze for SealedShortfall
impl Move for SealedShortfall
impl RefUnwindSafe for SealedShortfall
impl Send for SealedShortfall
impl Sync for SealedShortfall
impl Unpin for SealedShortfall
impl UnsafeUnpin for SealedShortfall
impl UnwindSafe for SealedShortfall
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