From ae58c3819f85972e23cfc94b2ed57800eef23345 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Sun, 3 Sep 2023 09:52:29 +1000 Subject: [PATCH] dep: Upgrade trust-dns-resolver from v0.22 to v0.23 Signed-off-by: Jiahao XU --- Cargo.toml | 2 +- src/dns/trust_dns.rs | 21 ++++++--------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5b6ff0d47..18ae324b9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -137,7 +137,7 @@ tokio-util = { version = "0.7.1", default-features = false, features = ["codec", tokio-socks = { version = "0.5.1", optional = true } ## trust-dns -trust-dns-resolver = { version = "0.22", optional = true } +trust-dns-resolver = { version = "0.23", optional = true, features = ["tokio-runtime"] } # HTTP/3 experimental support h3 = { version="0.0.2", optional = true } diff --git a/src/dns/trust_dns.rs b/src/dns/trust_dns.rs index 129000c8b..a1f3a1b03 100644 --- a/src/dns/trust_dns.rs +++ b/src/dns/trust_dns.rs @@ -4,10 +4,7 @@ use hyper::client::connect::dns::Name; use once_cell::sync::Lazy; use tokio::sync::Mutex; pub use trust_dns_resolver::config::{ResolverConfig, ResolverOpts}; -use trust_dns_resolver::{ - lookup_ip::LookupIpIntoIter, system_conf, AsyncResolver, TokioConnection, - TokioConnectionProvider, TokioHandle, -}; +use trust_dns_resolver::{lookup_ip::LookupIpIntoIter, system_conf, TokioAsyncResolver}; use std::io; use std::net::SocketAddr; @@ -15,9 +12,7 @@ use std::sync::Arc; use super::{Addrs, Resolve, Resolving}; -use crate::error::BoxError; - -type SharedResolver = Arc>; +type SharedResolver = Arc; static SYSTEM_CONF: Lazy> = Lazy::new(|| system_conf::read_system_conf().map_err(io::Error::from)); @@ -63,7 +58,7 @@ impl Resolve for TrustDnsResolver { let resolver = match &*lock { State::Init => { - let resolver = new_resolver().await?; + let resolver = new_resolver().await; *lock = State::Ready(resolver.clone()); resolver } @@ -91,7 +86,7 @@ impl Iterator for SocketAddrs { } } -async fn new_resolver() -> Result { +async fn new_resolver() -> SharedResolver { let (config, opts) = SYSTEM_CONF .as_ref() .expect("can't construct TrustDnsResolver if SYSTEM_CONF is error") @@ -99,10 +94,6 @@ async fn new_resolver() -> Result { new_resolver_with_config(config, opts) } -fn new_resolver_with_config( - config: ResolverConfig, - opts: ResolverOpts, -) -> Result { - let resolver = AsyncResolver::new(config, opts, TokioHandle)?; - Ok(Arc::new(resolver)) +fn new_resolver_with_config(config: ResolverConfig, opts: ResolverOpts) -> SharedResolver { + Arc::new(TokioAsyncResolver::tokio(config, opts)) }