pub struct XfccEntry {
pub uri: Option<String>,
pub hash: Option<String>,
pub by: Option<String>,
pub subject: Option<String>,
}Expand description
One decoded entry of an X-Forwarded-Client-Cert header. Envoy adds
one per hop; the inner-most (leftmost) entry represents the original
peer the bridge cares about. Field names match the upstream XFCC keys.
Fields§
§uri: Option<String>SPIFFE / URI SAN (XFCC URI=).
hash: Option<String>Hex-encoded fingerprint of the leaf cert (XFCC Hash=).
by: Option<String>Issuer URI (XFCC By=). Often a SPIFFE id of the issuing CA.
subject: Option<String>RFC 2253 leaf subject (XFCC Subject=). When Subject= is
absent but DNS= is set, the parser folds the DNS list into
this field as dns:<comma-separated> so downstream code has
one fallback identity field to look at.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for XfccEntry
impl<'de> Deserialize<'de> for XfccEntry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for XfccEntry
impl StructuralPartialEq for XfccEntry
Auto Trait Implementations§
impl Freeze for XfccEntry
impl RefUnwindSafe for XfccEntry
impl Send for XfccEntry
impl Sync for XfccEntry
impl Unpin for XfccEntry
impl UnsafeUnpin for XfccEntry
impl UnwindSafe for XfccEntry
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
Compare self to
key and return true if they are equal.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