pub struct RecursiveConfig {
pub roots: PathBuf,
pub ns_cache_size: Option<usize>,
pub record_cache_size: Option<usize>,
pub recursion_limit: u8,
pub ns_recursion_limit: u8,
pub dnssec_policy: DnssecPolicyConfig,
pub allow_server: Vec<IpNet>,
pub deny_server: Vec<IpNet>,
pub avoid_local_udp_ports: HashSet<u16>,
pub cache_policy: TtlConfig,
pub case_randomization: bool,
}recursor only.Expand description
Configuration for file based zones
Fields§
§roots: PathBufFile with roots, aka hints
ns_cache_size: Option<usize>Maximum nameserver cache size
record_cache_size: Option<usize>Maximum DNS record cache size
recursion_limit: u8Maximum recursion depth for queries. Set to 0 for unlimited recursion depth.
ns_recursion_limit: u8Maximum recursion depth for building NS pools. Set to 0 for unlimited recursion depth.
dnssec_policy: DnssecPolicyConfigDNSSEC policy
allow_server: Vec<IpNet>Networks that will be queried during resolution
deny_server: Vec<IpNet>Networks that will not be queried during resolution
avoid_local_udp_ports: HashSet<u16>Local UDP ports to avoid when making outgoing queries
cache_policy: TtlConfigCaching policy, setting minimum and maximum TTLs
case_randomization: boolEnable case randomization.
Randomize the case of letters in query names, and require that responses preserve the case of the query name, in order to mitigate spoofing attacks. This is only applied over UDP.
This implements the mechanism described in draft-vixie-dnsext-dns0x20-00.
Trait Implementations§
Source§impl Clone for RecursiveConfig
impl Clone for RecursiveConfig
Source§fn clone(&self) -> RecursiveConfig
fn clone(&self) -> RecursiveConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecursiveConfig
impl Debug for RecursiveConfig
Source§impl<'de> Deserialize<'de> for RecursiveConfig
impl<'de> Deserialize<'de> for RecursiveConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for RecursiveConfig
impl PartialEq for RecursiveConfig
impl Eq for RecursiveConfig
impl StructuralPartialEq for RecursiveConfig
Auto Trait Implementations§
impl Freeze for RecursiveConfig
impl RefUnwindSafe for RecursiveConfig
impl Send for RecursiveConfig
impl Sync for RecursiveConfig
impl Unpin for RecursiveConfig
impl UnwindSafe for RecursiveConfig
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
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§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
key and return true if they are equal.