pub struct EnvelopeViolation {
pub axis: EnvelopeAxis,
pub entry: String,
pub parent_entry: Option<String>,
}Expand description
The first axis a child exceeded its parent on, with the exact declaration that did it.
Carries one offending entry rather than every difference: the operator’s next action is to edit one line, and a comparison that stops at the first failure cannot be read as an exhaustive audit of what else would have been refused.
Fields§
§axis: EnvelopeAxis§entry: StringThe child declaration that exceeded, rendered as the operator wrote it: one allow-list
entry, one install entry, one filesystem scope, one store name, one containment class, or
the literal true for a boolean widening.
Empty on the one axis where the offending declaration is an absence: a child that
declares no capabilities.filesystem.scope under a parent that declares one reaches the
whole workdir, which is wider than the parent’s scope.
parent_entry: Option<String>The parent’s own value, on the two axes that hold a single value rather than a list: the
parent’s capabilities.filesystem.scope and its containment floor. None on every list
axis and on the two boolean ones, where the parent’s value is implied by the refusal itself
— it does not hold the entry, and the boolean is false.
Trait Implementations§
Source§impl Clone for EnvelopeViolation
impl Clone for EnvelopeViolation
Source§impl Debug for EnvelopeViolation
impl Debug for EnvelopeViolation
Source§impl Display for EnvelopeViolation
impl Display for EnvelopeViolation
impl Eq for EnvelopeViolation
Source§impl PartialEq for EnvelopeViolation
impl PartialEq for EnvelopeViolation
impl StructuralPartialEq for EnvelopeViolation
Auto Trait Implementations§
impl Forget for EnvelopeViolation
impl Freeze for EnvelopeViolation
impl Move for EnvelopeViolation
impl RefUnwindSafe for EnvelopeViolation
impl Send for EnvelopeViolation
impl Sync for EnvelopeViolation
impl Unpin for EnvelopeViolation
impl UnsafeUnpin for EnvelopeViolation
impl UnwindSafe for EnvelopeViolation
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