pub struct CaaPolicy {
pub records: Vec<CaaRecord>,
pub effective_domain: Option<String>,
pub has_policy: bool,
pub issuer_match: Option<IssuerCaaMatch>,
pub note: String,
}Expand description
CAA policy collected for a domain, plus the informational note that callers should surface to users.
Fields§
§records: Vec<CaaRecord>Records discovered (may be empty if no policy is set).
effective_domain: Option<String>Domain at which the records were found. Per RFC 8659 the resolver climbs the tree until a CAA RRset is encountered, so this may be a parent of the queried name.
has_policy: boolTrue iff at least one CAA record was found in the tree-walk.
issuer_match: Option<IssuerCaaMatch>Result of comparing a presented cert’s issuer against the policy.
None if no cert was supplied for comparison.
note: StringInformational note about CAA semantics. Always populated.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for CaaPolicy
impl<'de> Deserialize<'de> for CaaPolicy
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
Auto Trait Implementations§
impl Freeze for CaaPolicy
impl RefUnwindSafe for CaaPolicy
impl Send for CaaPolicy
impl Sync for CaaPolicy
impl Unpin for CaaPolicy
impl UnsafeUnpin for CaaPolicy
impl UnwindSafe for CaaPolicy
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,
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