Skip to main content

DkimOutput

Struct DkimOutput 

Source
pub struct DkimOutput<'x> { /* private fields */ }
Expand description

The verification result of one DKIM1 signature.

MessageAuthenticator::verify_dkim returns one output per parsed DKIM-Signature header, plus a neutral output without a signature for each header rejected with an Error::Dkim error (such as an unsupported algorithm or version). Headers that fail to parse for other reasons, such as a missing tag or invalid base64, produce no output. Besides the DkimResult, it records the parsed signature (when the header could be parsed), the RFC 6651 failure report address and whether the result comes from an RFC 6541 ATPS check. Use From<DkimResult> and with_signature to synthesize an output, for example in tests or when feeding DMARC, which needs the signature’s d= domain for alignment.

Implementations§

Source§

impl<'x> DkimOutput<'x>

Source

pub fn with_signature(self, signature: &'x Signature) -> Self

Attaches the signature this result refers to.

Used to build an output outside the verifier, for example from a cached result, so that DMARC can check its d= domain for alignment.

Source

pub fn result(&self) -> &DkimResult

Returns the verification result.

Source

pub fn signature(&self) -> Option<&Signature>

Returns the parsed signature this result refers to, or None when the DKIM-Signature header could not be parsed.

Source

pub fn report_address(&self) -> Option<&str>

Returns the address to send an RFC 6651 failure report to.

Set only when the signature has r=y, did not pass, the signer’s _report._domainkey.<d> record exists, the rp= sampling percentage selected this failure and the rr= tag requests reports for this kind of failure. The address is <ra>@<d>.

Source

pub fn is_atps(&self) -> bool

Returns true when the result comes from an RFC 6541 ATPS check: the signature verified, its atps= domain matched the From domain and the ATPS record lookup determined the result.

Trait Implementations§

Source§

impl<'x> Clone for DkimOutput<'x>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'x> Debug for DkimOutput<'x>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'x> Eq for DkimOutput<'x>

Source§

impl From<DkimResult> for DkimOutput<'_>

Source§

fn from(result: DkimResult) -> Self

Converts to this type from the input type.
Source§

impl<'x> PartialEq for DkimOutput<'x>

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<'x> StructuralPartialEq for DkimOutput<'x>

Auto Trait Implementations§

§

impl<'x> Freeze for DkimOutput<'x>

§

impl<'x> RefUnwindSafe for DkimOutput<'x>

§

impl<'x> Send for DkimOutput<'x>

§

impl<'x> Sync for DkimOutput<'x>

§

impl<'x> Unpin for DkimOutput<'x>

§

impl<'x> UnsafeUnpin for DkimOutput<'x>

§

impl<'x> UnwindSafe for DkimOutput<'x>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more