From e98dd5b9a3679dad5f1b75b0b0b97e11f0e4ab37 Mon Sep 17 00:00:00 2001 From: Olivia Lee Date: Sun, 15 Dec 2024 21:43:29 -0800 Subject: [PATCH] put global trust-dns resolver in an Arc This allows us to reference it in reqwest clients configuration. --- src/service/globals.rs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) 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()), ),