Struct trust_dns::client::SecureClientHandle
[−]
[src]
#[must_use = "queries can only be sent through a ClientHandle"]pub struct SecureClientHandle<H: ClientHandle + 'static> { /* fields omitted */ }
Performs DNSSec validation of all DNS responses from the wrapped ClientHandle
This wraps a ClientHandle, changing the implementation send()
to validate all
message responses for Query operations. Update operation responses are not validated by
this process.
Methods
impl<H> SecureClientHandle<H> where
H: ClientHandle + 'static,
[src]
H: ClientHandle + 'static,
fn new(client: H) -> SecureClientHandle<H>
Create a new SecureClientHandle wrapping the speicified client.
This uses the compiled in TrustAnchor default trusted keys.
Arguments
client
- client to use for all connections to a remote server.
fn with_trust_anchor(
client: H,
trust_anchor: TrustAnchor
) -> SecureClientHandle<H>
client: H,
trust_anchor: TrustAnchor
) -> SecureClientHandle<H>
Create a new SecureClientHandle wrapping the speicified client.
This allows a custom TrustAnchor to be define.
Arguments
client
- client 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
impl<H: Clone + ClientHandle + 'static> Clone for SecureClientHandle<H>
[src]
fn clone(&self) -> SecureClientHandle<H>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<H> ClientHandle for SecureClientHandle<H> where
H: ClientHandle + 'static,
[src]
H: ClientHandle + 'static,
fn send(
&mut self,
message: Message
) -> Box<Future<Item = Message, Error = ClientError>>
&mut self,
message: Message
) -> Box<Future<Item = Message, Error = ClientError>>
Send a message via the channel in the client Read more
fn query(
&mut self,
name: Name,
query_class: DNSClass,
query_type: RecordType
) -> Box<Future<Item = Message, Error = ClientError>>
&mut self,
name: Name,
query_class: DNSClass,
query_type: RecordType
) -> Box<Future<Item = Message, Error = ClientError>>
A classic DNS query Read more
fn notify<R>(
&mut self,
name: Name,
query_class: DNSClass,
query_type: RecordType,
rrset: Option<R>
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
&mut self,
name: Name,
query_class: DNSClass,
query_type: RecordType,
rrset: Option<R>
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
Sends a NOTIFY message to the remote system Read more
fn create<R>(
&mut self,
rrset: R,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
&mut self,
rrset: R,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
Sends a record to create on the server, this will fail if the record exists (atomicity depends on the server) Read more
fn append<R>(
&mut self,
rrset: R,
zone_origin: Name,
must_exist: bool
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
&mut self,
rrset: R,
zone_origin: Name,
must_exist: bool
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
Appends a record to an existing rrset, optionally require the rrset to exis (atomicity depends on the server) Read more
fn compare_and_swap<C, N>(
&mut self,
current: C,
new: N,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>> where
C: IntoRecordSet,
N: IntoRecordSet,
&mut self,
current: C,
new: N,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>> where
C: IntoRecordSet,
N: IntoRecordSet,
Compares and if it matches, swaps it for the new value (atomicity depends on the server) Read more
fn delete_by_rdata<R>(
&mut self,
rrset: R,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
&mut self,
rrset: R,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>> where
R: IntoRecordSet,
Deletes a record (by rdata) from an rrset, optionally require the rrset to exist. Read more
fn delete_rrset(
&mut self,
record: Record,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>>
&mut self,
record: Record,
zone_origin: Name
) -> Box<Future<Item = Message, Error = ClientError>>
Deletes an entire rrset, optionally require the rrset to exist. Read more
fn delete_all(
&mut self,
name_of_records: Name,
zone_origin: Name,
dns_class: DNSClass
) -> Box<Future<Item = Message, Error = ClientError>>
&mut self,
name_of_records: Name,
zone_origin: Name,
dns_class: DNSClass
) -> Box<Future<Item = Message, Error = ClientError>>
Deletes all records at the specified name Read more