Skip to content

Commit 8f31b9a

Browse files
committed
Fallback to Google DNS in resolver initialization
If the default TokioResolver builder fails, the resolver now falls back to using Google's DNS configuration. This improves reliability in environments where the system DNS configuration may be unavailable or invalid.
1 parent 6c0be69 commit 8f31b9a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

azalea-protocol/src/resolve.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ use std::{
66
};
77

88
pub use hickory_resolver::ResolveError;
9-
use hickory_resolver::{Name, TokioResolver, name_server::TokioConnectionProvider};
9+
use hickory_resolver::{
10+
Name, TokioResolver, config::ResolverConfig, name_server::TokioConnectionProvider,
11+
};
1012

1113
use crate::address::ServerAddr;
1214

@@ -16,7 +18,12 @@ pub type ResolverError = ResolveError;
1618

1719
static RESOLVER: LazyLock<TokioResolver> = LazyLock::new(|| {
1820
TokioResolver::builder(TokioConnectionProvider::default())
19-
.unwrap()
21+
.unwrap_or_else(|_| {
22+
TokioResolver::builder_with_config(
23+
ResolverConfig::google(),
24+
TokioConnectionProvider::default(),
25+
)
26+
})
2027
.build()
2128
});
2229

0 commit comments

Comments
 (0)