Proper dns configuration!

This commit is contained in:
Slatian
2023-08-06 00:04:42 +02:00
parent 5c7d880733
commit a334eb428a
3 changed files with 70 additions and 66 deletions

View File

@ -6,13 +6,18 @@ use std::collections::HashMap;
use std::net::SocketAddr;
#[derive(Deserialize, Clone)]
#[serde(default)]
pub struct DnsConfig {
pub allow_forward_lookup: bool,
pub allow_reverse_lookup: bool,
pub hidden_suffixes: Vec<String>,
#[serde(default="default_dns_resolver_name")]
pub default_resolver: String,
pub search: Vec<String>,
pub resolver: HashMap<String,DnsResolverConfig>,
pub enable_system_resolver: bool,
pub system_resolver_name: String,
pub system_resolver_weight: i32,
pub system_resolver_id: String,
}
#[derive(Deserialize, Serialize, Clone)]
@ -25,10 +30,6 @@ pub enum DnsProtocol {
Quic,
}
pub fn default_dns_resolver_name() -> String {
"default".to_string()
}
#[derive(Deserialize, Serialize, Clone)]
pub struct DnsResolverConfig {
pub display_name: String,
@ -63,8 +64,13 @@ impl Default for DnsConfig {
allow_forward_lookup: true,
allow_reverse_lookup: false,
hidden_suffixes: Vec::new(),
default_resolver: "default".to_string(),
resolver: Default::default(),
search: Vec::new(),
enable_system_resolver: true,
system_resolver_name: "System".to_string(),
system_resolver_weight: 1000,
system_resolver_id: "system".to_string(),
}
}
}