pub enum DkimError {
MissingHeader,
MissingTag(String),
InvalidTag(String),
InvalidBase64(String),
DnsTempError(String),
DnsPermError(String),
InvalidKey(String),
UnsupportedAlgorithm(String),
UnsupportedCanon(String),
BodyHashMismatch,
SignatureMismatch,
Expired,
}Expand description
Internal error category from the parser + verifier.
Variants§
MissingHeader
DKIM-Signature header missing or malformed.
MissingTag(String)
Required tag (v, a, b, bh, d, h, s) missing.
InvalidTag(String)
Tag value couldn’t be parsed.
InvalidBase64(String)
Base64 decode failed for b= or bh=.
DnsTempError(String)
DNS lookup for selector failed.
DnsPermError(String)
DNS returned NXDOMAIN or unparseable TXT for selector.
InvalidKey(String)
Public key TXT record malformed.
UnsupportedAlgorithm(String)
Unsupported algorithm (we support rsa-sha256 in 1.0).
UnsupportedCanon(String)
Unsupported canonicalization combination.
BodyHashMismatch
Body hash (bh=) mismatch — body was modified in transit.
SignatureMismatch
Header signature failed RSA verify — body unchanged but headers / signature don’t match.
Expired
Signature expired (x= tag past).
Implementations§
Source§impl DkimError
impl DkimError
Sourcepub fn to_result(&self) -> DkimResult
pub fn to_result(&self) -> DkimResult
Map an error to the public DkimResult.
Trait Implementations§
Source§impl Error for DkimError
impl Error for DkimError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
impl Eq for DkimError
impl StructuralPartialEq for DkimError
Auto Trait Implementations§
impl Freeze for DkimError
impl RefUnwindSafe for DkimError
impl Send for DkimError
impl Sync for DkimError
impl Unpin for DkimError
impl UnsafeUnpin for DkimError
impl UnwindSafe for DkimError
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<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