diff --git a/src/service/globals.rs b/src/service/globals.rs index ea1dce4f..96c62697 100644 --- a/src/service/globals.rs +++ b/src/service/globals.rs @@ -74,7 +74,7 @@ pub(crate) struct Service { pub(crate) tls_name_override: Arc>, pub(crate) config: Config, keypair: Arc, - dns_resolver: TokioAsyncResolver, + dns_resolver: Arc, jwt_decoding_key: Option, federation_client: reqwest::Client, default_client: reqwest::Client, @@ -215,6 +215,18 @@ impl Service { }; let tls_name_override = Arc::new(StdRwLock::new(TlsNameMap::new())); + let dns_resolver = Arc::new( + TokioAsyncResolver::tokio_from_system_conf().map_err(|e| { + error!( + "Failed to set up trust dns resolver with system config: \ + {}", + e + ); + Error::bad_config( + "Failed to set up trust dns resolver with system config.", + ) + })?, + ); let jwt_decoding_key = config.jwt_secret.as_ref().map(|secret| { jsonwebtoken::DecodingKey::from_secret(secret.as_bytes()) @@ -255,18 +267,7 @@ impl Service { config, reload_handles: reload_handles.map(|h| Arc::new(RwLock::new(h))), keypair: Arc::new(keypair), - dns_resolver: TokioAsyncResolver::tokio_from_system_conf() - .map_err(|e| { - error!( - "Failed to set up trust dns resolver with system \ - config: {}", - e - ); - Error::bad_config( - "Failed to set up trust dns resolver with system \ - config.", - ) - })?, + dns_resolver, actual_destination_cache: Arc::new( RwLock::new(WellKnownMap::new()), ),