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]
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>
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]
fn send(&self, message: Message) -> Box<Future<Item=Message, Error=ClientError>>
Send a message via the channel in the client Read more
fn query(&self,
name: Name,
query_class: DNSClass,
query_type: RecordType)
-> Box<Future<Item=Message, Error=ClientError>>
name: Name,
query_class: DNSClass,
query_type: RecordType)
-> Box<Future<Item=Message, Error=ClientError>>
A classic DNS query Read more
fn create(&self,
record: Record,
zone_origin: Name)
-> Box<Future<Item=Message, Error=ClientError>>
record: Record,
zone_origin: Name)
-> Box<Future<Item=Message, Error=ClientError>>
Sends a record to create on the server, this will fail if the record exists (atomicity depends on the server) Read more
fn append(&self,
record: Record,
zone_origin: Name,
must_exist: bool)
-> Box<Future<Item=Message, Error=ClientError>>
record: Record,
zone_origin: Name,
must_exist: bool)
-> Box<Future<Item=Message, Error=ClientError>>
Appends a record to an existing rrset, optionally require the rrset to exis (atomicity depends on the server) Read more
fn compare_and_swap(&self,
current: Record,
new: Record,
zone_origin: Name)
-> Box<Future<Item=Message, Error=ClientError>>
current: Record,
new: Record,
zone_origin: Name)
-> Box<Future<Item=Message, Error=ClientError>>
Compares and if it matches, swaps it for the new value (atomicity depends on the server) Read more
fn delete_by_rdata(&self,
record: Record,
zone_origin: Name)
-> Box<Future<Item=Message, Error=ClientError>>
record: Record,
zone_origin: Name)
-> Box<Future<Item=Message, Error=ClientError>>
Deletes a record (by rdata) from an rrset, optionally require the rrset to exist. Read more
fn delete_rrset(&self,
record: Record,
zone_origin: Name)
-> Box<Future<Item=Message, Error=ClientError>>
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(&self,
name_of_records: Name,
zone_origin: Name,
dns_class: DNSClass)
-> Box<Future<Item=Message, Error=ClientError>>
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