diff --git a/tokio-xmpp/Cargo.toml b/tokio-xmpp/Cargo.toml index 421e6c1e728b9407c033fef9e317a2b9053a91fd..d8aeb955e31320999a0b0f0f5a733ee508d55283 100644 --- a/tokio-xmpp/Cargo.toml +++ b/tokio-xmpp/Cargo.toml @@ -29,7 +29,7 @@ xmpp-parsers = { version = "0.21", path = "../parsers", features = [ "log" ] } xso = { version = "0.1", path = "../xso" } # these are only needed for starttls ServerConnector support -hickory-resolver = { version = "0.24", optional = true} +hickory-resolver = { version = "0.25", optional = true} idna = { version = "1.0", optional = true} native-tls = { version = "0.2", optional = true } tokio-native-tls = { version = "0.3", optional = true } diff --git a/tokio-xmpp/src/connect/dns.rs b/tokio-xmpp/src/connect/dns.rs index e8d06fb38381b68ffb3ae0488c653a648491c46f..c1cd796babcacb82d453b9ffc7e90d352c57c11e 100644 --- a/tokio-xmpp/src/connect/dns.rs +++ b/tokio-xmpp/src/connect/dns.rs @@ -2,9 +2,7 @@ use core::{fmt, net::SocketAddr}; #[cfg(feature = "dns")] use futures::{future::select_ok, FutureExt}; #[cfg(feature = "dns")] -use hickory_resolver::{ - config::LookupIpStrategy, name_server::TokioConnectionProvider, IntoName, TokioAsyncResolver, -}; +use hickory_resolver::{config::LookupIpStrategy, IntoName, TokioResolver}; #[cfg(feature = "dns")] use log::debug; use tokio::net::TcpStream; @@ -130,7 +128,10 @@ impl DnsConfig { return Ok(TcpStream::connect(&SocketAddr::new(ip, fallback_port)).await?); } - let resolver = TokioAsyncResolver::tokio_from_system_conf()?; + let (_config, options) = hickory_resolver::system_conf::read_system_conf()?; + let resolver = TokioResolver::builder_tokio()? + .with_options(options) + .build(); let srv_domain = format!("{}.{}.", srv, ascii_domain).into_name()?; let srv_records = resolver.srv_lookup(srv_domain.clone()).await.ok(); @@ -164,9 +165,11 @@ impl DnsConfig { return Ok(TcpStream::connect(&SocketAddr::new(ip, port)).await?); } - let (config, mut options) = hickory_resolver::system_conf::read_system_conf()?; + let (_config, mut options) = hickory_resolver::system_conf::read_system_conf()?; options.ip_strategy = LookupIpStrategy::Ipv4AndIpv6; - let resolver = TokioAsyncResolver::new(config, options, TokioConnectionProvider::default()); + let resolver = TokioResolver::builder_tokio()? + .with_options(options) + .build(); let ips = resolver.lookup_ip(ascii_domain).await?; diff --git a/tokio-xmpp/src/error.rs b/tokio-xmpp/src/error.rs index a8b25f81e12c470923255b48676943178426c646..181a1732ec377301e199a84f413abdce4cf6a317 100644 --- a/tokio-xmpp/src/error.rs +++ b/tokio-xmpp/src/error.rs @@ -1,8 +1,6 @@ use core::{error::Error as StdError, fmt, net::AddrParseError, str::Utf8Error}; #[cfg(feature = "dns")] -use hickory_resolver::{ - error::ResolveError as DnsResolveError, proto::error::ProtoError as DnsProtoError, -}; +use hickory_resolver::{proto::ProtoError as DnsProtoError, ResolveError as DnsResolveError}; use sasl::client::MechanismError as SaslMechanismError; use std::io;