mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-09-01 16:59:21 +00:00
fix(dns): adapt resolver chain to dns policy branch
This commit is contained in:
@@ -775,7 +775,7 @@ impl ConfigLoader for TomlConfigLoader {
|
||||
.unwrap()
|
||||
.hostname
|
||||
.as_ref()
|
||||
.map(sanitize)
|
||||
.map(|hostname| dns::sanitize(hostname))
|
||||
.filter(|h| !h.is_empty());
|
||||
|
||||
self.set_hostname(hostname.clone());
|
||||
|
||||
@@ -21,6 +21,7 @@ use stun_codec::rfc5389::methods::BINDING;
|
||||
use stun_codec::{Message, MessageClass, MessageDecoder, MessageEncoder};
|
||||
|
||||
use super::stun_codec_ext::*;
|
||||
use crate::common::error::Error;
|
||||
use crate::utils::dns::{resolve_host, txt_resolve};
|
||||
|
||||
const DEFAULT_UDP_STUN_SERVERS: &[&str] = &[
|
||||
|
||||
@@ -12,8 +12,8 @@ use idna::AsciiDenyList;
|
||||
use once_cell::sync::Lazy;
|
||||
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr};
|
||||
use std::sync::Arc;
|
||||
use std::sync::atomic::AtomicBool;
|
||||
use std::sync::RwLock;
|
||||
use std::sync::atomic::AtomicBool;
|
||||
use tokio::net::lookup_host;
|
||||
|
||||
const SYSTEM_DNS_RESOLVER: &str = "system";
|
||||
@@ -55,7 +55,8 @@ fn build_hickory_resolver(
|
||||
Ok(Arc::new(
|
||||
TokioResolver::builder_with_config(config, TokioRuntimeProvider::default())
|
||||
.with_options(opts)
|
||||
.build()?,
|
||||
.build()
|
||||
.context("failed to build DNS resolver")?,
|
||||
))
|
||||
}
|
||||
|
||||
@@ -84,14 +85,11 @@ fn build_doh_resolver(raw: &str) -> Result<DnsResolver, Error> {
|
||||
let name_servers = ips
|
||||
.into_iter()
|
||||
.map(|ip| {
|
||||
NameServerConfig::new(
|
||||
SocketAddr::new(ip, port),
|
||||
true,
|
||||
vec![ConnectionConfig::https(
|
||||
server_name.clone(),
|
||||
http_endpoint.clone(),
|
||||
)],
|
||||
)
|
||||
let mut connection =
|
||||
ConnectionConfig::https(server_name.clone(), http_endpoint.clone());
|
||||
connection.port = port;
|
||||
|
||||
NameServerConfig::new(ip, true, vec![connection])
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user