pub enum PrincipalClaim {
Account,
AttributionFailed,
Unrecognized,
}Expand description
What a stored caller_principal string claims about who acted.
Three outcomes rather than a bool, because “names an account”, “says it
could not name one”, and “cannot be read at all” call for three different
lines in an audit report. Collapsing the last two would report a corrupt or
future-encoded principal as an honest attribution failure.
Variants§
Account
A known scheme with a non-empty value: uid:1000, token:vsock.
Names an account, which is not the same as naming a person. See the
caveats in SECURITY.md: a uid is only as strong as account hygiene,
and token:vsock proves possession of a file.
AttributionFailed
Exactly the string the daemon signs when attribution failed.
Unrecognized
Anything else. Not an account, and not a recognised admission either.
Trait Implementations§
Source§impl Clone for PrincipalClaim
impl Clone for PrincipalClaim
Source§fn clone(&self) -> PrincipalClaim
fn clone(&self) -> PrincipalClaim
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PrincipalClaim
Source§impl Debug for PrincipalClaim
impl Debug for PrincipalClaim
impl Eq for PrincipalClaim
Source§impl PartialEq for PrincipalClaim
impl PartialEq for PrincipalClaim
impl StructuralPartialEq for PrincipalClaim
Auto Trait Implementations§
impl Freeze for PrincipalClaim
impl RefUnwindSafe for PrincipalClaim
impl Send for PrincipalClaim
impl Sync for PrincipalClaim
impl Unpin for PrincipalClaim
impl UnsafeUnpin for PrincipalClaim
impl UnwindSafe for PrincipalClaim
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
Mutably borrows from an owned value. Read more
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
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> ⓘ
Converts
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> ⓘ
Converts
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