pub struct MessageAuthenticator(pub TokioResolver);
Tuple Fields§
§0: TokioResolver
Implementations§
Source§impl MessageAuthenticator
impl MessageAuthenticator
Sourcepub async fn verify_arc<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: impl Into<Parameters<'x, &'x AuthenticatedMessage<'x>, TXT, MXX, IPV4, IPV6, PTR>>,
) -> ArcOutput<'x>where
TXT: ResolverCache<String, Txt> + 'x,
MXX: ResolverCache<String, Arc<Vec<MX>>> + 'x,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>> + 'x,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>> + 'x,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>> + 'x,
pub async fn verify_arc<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: impl Into<Parameters<'x, &'x AuthenticatedMessage<'x>, TXT, MXX, IPV4, IPV6, PTR>>,
) -> ArcOutput<'x>where
TXT: ResolverCache<String, Txt> + 'x,
MXX: ResolverCache<String, Arc<Vec<MX>>> + 'x,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>> + 'x,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>> + 'x,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>> + 'x,
Verifies ARC headers of an RFC5322 message.
Source§impl MessageAuthenticator
impl MessageAuthenticator
pub fn new_cloudflare_tls() -> Result<Self, ProtoError>
pub fn new_cloudflare() -> Result<Self, ProtoError>
pub fn new_google() -> Result<Self, ProtoError>
pub fn new_quad9() -> Result<Self, ProtoError>
pub fn new_quad9_tls() -> Result<Self, ProtoError>
pub fn new_system_conf() -> Result<Self, ProtoError>
pub fn new( config: ResolverConfig, options: ResolverOpts, ) -> Result<Self, ProtoError>
pub fn resolver(&self) -> &TokioResolver
pub async fn txt_raw_lookup(&self, key: impl IntoFqdn<'_>) -> Result<Vec<u8>>
pub async fn txt_lookup<'x, T: TxtRecordParser + Into<Txt> + UnwrapTxtRecord>( &self, key: impl IntoFqdn<'x>, cache: Option<&impl ResolverCache<String, Txt>>, ) -> Result<Arc<T>>
pub async fn mx_lookup<'x>( &self, key: impl IntoFqdn<'x>, cache: Option<&impl ResolverCache<String, Arc<Vec<MX>>>>, ) -> Result<Arc<Vec<MX>>>
pub async fn ipv4_lookup<'x>( &self, key: impl IntoFqdn<'x>, cache: Option<&impl ResolverCache<String, Arc<Vec<Ipv4Addr>>>>, ) -> Result<Arc<Vec<Ipv4Addr>>>
pub async fn ipv4_lookup_raw( &self, key: &str, ) -> Result<DnsEntry<Arc<Vec<Ipv4Addr>>>>
pub async fn ipv6_lookup<'x>( &self, key: impl IntoFqdn<'x>, cache: Option<&impl ResolverCache<String, Arc<Vec<Ipv6Addr>>>>, ) -> Result<Arc<Vec<Ipv6Addr>>>
pub async fn ipv6_lookup_raw( &self, key: &str, ) -> Result<DnsEntry<Arc<Vec<Ipv6Addr>>>>
pub async fn ip_lookup( &self, key: &str, strategy: IpLookupStrategy, max_results: usize, cache_ipv4: Option<&impl ResolverCache<String, Arc<Vec<Ipv4Addr>>>>, cache_ipv6: Option<&impl ResolverCache<String, Arc<Vec<Ipv6Addr>>>>, ) -> Result<Vec<IpAddr>>
pub async fn ptr_lookup( &self, addr: IpAddr, cache: Option<&impl ResolverCache<IpAddr, Arc<Vec<String>>>>, ) -> Result<Arc<Vec<String>>>
pub async fn exists<'x>( &self, key: impl IntoFqdn<'x>, cache_ipv4: Option<&impl ResolverCache<String, Arc<Vec<Ipv4Addr>>>>, cache_ipv6: Option<&impl ResolverCache<String, Arc<Vec<Ipv6Addr>>>>, ) -> Result<bool>
Source§impl MessageAuthenticator
impl MessageAuthenticator
pub async fn verify_iprev<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: impl Into<Parameters<'x, IpAddr, TXT, MXX, IPV4, IPV6, PTR>>,
) -> IprevOutputwhere
TXT: ResolverCache<String, Txt> + 'x,
MXX: ResolverCache<String, Arc<Vec<MX>>> + 'x,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>> + 'x,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>> + 'x,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>> + 'x,
Source§impl MessageAuthenticator
impl MessageAuthenticator
Sourcepub async fn verify_dkim<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: impl Into<Parameters<'x, &'x AuthenticatedMessage<'x>, TXT, MXX, IPV4, IPV6, PTR>>,
) -> Vec<DkimOutput<'x>>where
TXT: ResolverCache<String, Txt> + 'x,
MXX: ResolverCache<String, Arc<Vec<MX>>> + 'x,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>> + 'x,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>> + 'x,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>> + 'x,
pub async fn verify_dkim<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: impl Into<Parameters<'x, &'x AuthenticatedMessage<'x>, TXT, MXX, IPV4, IPV6, PTR>>,
) -> Vec<DkimOutput<'x>>where
TXT: ResolverCache<String, Txt> + 'x,
MXX: ResolverCache<String, Arc<Vec<MX>>> + 'x,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>> + 'x,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>> + 'x,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>> + 'x,
Verifies DKIM headers of an RFC5322 message.
Source§impl MessageAuthenticator
impl MessageAuthenticator
Sourcepub async fn verify_dmarc<'x, TXT, MXX, IPV4, IPV6, PTR, F>(
&self,
params: impl Into<Parameters<'x, DmarcParameters<'x, F>, TXT, MXX, IPV4, IPV6, PTR>>,
) -> DmarcOutput
pub async fn verify_dmarc<'x, TXT, MXX, IPV4, IPV6, PTR, F>( &self, params: impl Into<Parameters<'x, DmarcParameters<'x, F>, TXT, MXX, IPV4, IPV6, PTR>>, ) -> DmarcOutput
Verifies the DMARC policy of an RFC5321.MailFrom domain
Source§impl MessageAuthenticator
impl MessageAuthenticator
Sourcepub async fn verify_spf<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: impl Into<Parameters<'x, SpfParameters<'x>, TXT, MXX, IPV4, IPV6, PTR>>,
) -> SpfOutputwhere
TXT: ResolverCache<String, Txt> + 'x,
MXX: ResolverCache<String, Arc<Vec<MX>>> + 'x,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>> + 'x,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>> + 'x,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>> + 'x,
pub async fn verify_spf<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: impl Into<Parameters<'x, SpfParameters<'x>, TXT, MXX, IPV4, IPV6, PTR>>,
) -> SpfOutputwhere
TXT: ResolverCache<String, Txt> + 'x,
MXX: ResolverCache<String, Arc<Vec<MX>>> + 'x,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>> + 'x,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>> + 'x,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>> + 'x,
Verifies the SPF record of a domain
pub async fn check_host<'x, TXT, MXX, IPV4, IPV6, PTR>(
&self,
params: Parameters<'x, SpfParameters<'x>, TXT, MXX, IPV4, IPV6, PTR>,
) -> SpfOutputwhere
TXT: ResolverCache<String, Txt>,
MXX: ResolverCache<String, Arc<Vec<MX>>>,
IPV4: ResolverCache<String, Arc<Vec<Ipv4Addr>>>,
IPV6: ResolverCache<String, Arc<Vec<Ipv6Addr>>>,
PTR: ResolverCache<IpAddr, Arc<Vec<String>>>,
Trait Implementations§
Source§impl Clone for MessageAuthenticator
impl Clone for MessageAuthenticator
Source§fn clone(&self) -> MessageAuthenticator
fn clone(&self) -> MessageAuthenticator
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for MessageAuthenticator
impl !RefUnwindSafe for MessageAuthenticator
impl Send for MessageAuthenticator
impl Sync for MessageAuthenticator
impl Unpin for MessageAuthenticator
impl !UnwindSafe for MessageAuthenticator
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