Added parsing of bare IPs for forwarders in config.

This commit is contained in:
Revertron
2026-03-29 18:55:59 +02:00
parent c8fa174ac0
commit cfb3cf6cf8
+13 -1
View File
@@ -44,7 +44,19 @@ fn create_server_context(context: Arc<Mutex<Context>>, settings: &Settings) -> A
server_context.allow_recursive = true; server_context.allow_recursive = true;
server_context.resolve_strategy = match settings.dns.forwarders.is_empty() { server_context.resolve_strategy = match settings.dns.forwarders.is_empty() {
true => ResolveStrategy::Recursive, true => ResolveStrategy::Recursive,
false => ResolveStrategy::Forward { upstreams: settings.dns.forwarders.clone() } false => {
let upstreams = settings.dns.forwarders.iter().map(|s| {
if s.starts_with("https://") || s.parse::<std::net::SocketAddr>().is_ok() {
s.clone()
} else if let Ok(ip) = s.parse::<std::net::IpAddr>() {
std::net::SocketAddr::new(ip, 53).to_string()
} else {
warn!("Cannot parse forwarder address: {}", s);
s.clone()
}
}).collect();
ResolveStrategy::Forward { upstreams }
}
}; };
// Add host filters // Add host filters
for host in &settings.dns.hosts { for host in &settings.dns.hosts {