Struct hickory_proto::xfer::dnssec_dns_handle::DnssecDnsHandle
source · pub struct DnssecDnsHandle<H>{ /* private fields */ }
Available on crate feature
dnssec
only.Expand description
Performs DNSSEC validation of all DNS responses from the wrapped DnsHandle
This wraps a DnsHandle, changing the implementation send()
to validate all
message responses for Query operations. Update operation responses are not validated by
this process.
Implementations§
source§impl<H> DnssecDnsHandle<H>
impl<H> DnssecDnsHandle<H>
sourcepub fn new(handle: H) -> Self
pub fn new(handle: H) -> Self
Create a new DnssecDnsHandle wrapping the specified handle.
This uses the compiled in TrustAnchor default trusted keys.
§Arguments
handle
- handle to use for all connections to a remote server.
sourcepub fn with_trust_anchor(handle: H, trust_anchor: Arc<TrustAnchor>) -> Self
pub fn with_trust_anchor(handle: H, trust_anchor: Arc<TrustAnchor>) -> Self
Create a new DnssecDnsHandle wrapping the specified handle.
This allows a custom TrustAnchor to be define.
§Arguments
handle
- handle to use for all connections to a remote server.trust_anchor
- custom DNSKEYs that will be trusted, can be used to pin trusted keys.
Trait Implementations§
source§impl<H> Clone for DnssecDnsHandle<H>
impl<H> Clone for DnssecDnsHandle<H>
source§fn clone(&self) -> DnssecDnsHandle<H>
fn clone(&self) -> DnssecDnsHandle<H>
Returns a copy 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 moresource§impl<H> DnsHandle for DnssecDnsHandle<H>
impl<H> DnsHandle for DnssecDnsHandle<H>
§type Response = Pin<Box<dyn Stream<Item = Result<DnsResponse, ProtoError>> + Send>>
type Response = Pin<Box<dyn Stream<Item = Result<DnsResponse, ProtoError>> + Send>>
The associated response from the response stream, this should resolve to the Response messages
source§fn is_verifying_dnssec(&self) -> bool
fn is_verifying_dnssec(&self) -> bool
Only returns true if and only if this DNS handle is validating DNSSEC. Read more
source§fn send<R: Into<DnsRequest>>(&self, request: R) -> Self::Response
fn send<R: Into<DnsRequest>>(&self, request: R) -> Self::Response
Send a message via the channel in the client Read more
source§fn is_using_edns(&self) -> bool
fn is_using_edns(&self) -> bool
Allow for disabling EDNS
Auto Trait Implementations§
impl<H> Freeze for DnssecDnsHandle<H>where
H: Freeze,
impl<H> RefUnwindSafe for DnssecDnsHandle<H>where
H: RefUnwindSafe,
impl<H> Send for DnssecDnsHandle<H>
impl<H> Sync for DnssecDnsHandle<H>
impl<H> Unpin for DnssecDnsHandle<H>
impl<H> UnwindSafe for DnssecDnsHandle<H>where
H: UnwindSafe,
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)