From 667db8e8a31abb05229a9404c45d68a720017082 Mon Sep 17 00:00:00 2001 From: strawberry Date: Tue, 2 Apr 2024 00:45:03 -0400 Subject: [PATCH] output error if sending to trusted key server failed Signed-off-by: strawberry --- src/service/rooms/event_handler/mod.rs | 58 ++++++++++++++------------ 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/src/service/rooms/event_handler/mod.rs b/src/service/rooms/event_handler/mod.rs index 8627402b..1a172cf1 100644 --- a/src/service/rooms/event_handler/mod.rs +++ b/src/service/rooms/event_handler/mod.rs @@ -1445,7 +1445,7 @@ impl Service { ) -> Result<()> { for server in services().globals.trusted_servers() { info!("Asking batch signing keys from trusted server {}", server); - if let Ok(keys) = services() + match services() .sending .send_federation_request( server, @@ -1455,35 +1455,39 @@ impl Service { ) .await { - debug!("Got signing keys: {:?}", keys); - let mut pkm = pub_key_map.write().await; - for k in keys.server_keys { - let k = match k.deserialize() { - Ok(key) => key, - Err(e) => { - warn!("Received error {e} while fetching keys from trusted server {server}"); - warn!("{}", k.into_json()); - continue; - }, - }; + Ok(keys) => { + debug!("Got signing keys: {:?}", keys); + let mut pkm = pub_key_map.write().await; + for k in keys.server_keys { + let k = match k.deserialize() { + Ok(key) => key, + Err(e) => { + warn!("Received error {e} while fetching keys from trusted server {server}"); + warn!("{}", k.into_json()); + continue; + }, + }; - // TODO: Check signature from trusted server? - servers.remove(&k.server_name); + // TODO: Check signature from trusted server? + servers.remove(&k.server_name); - let result = services() - .globals - .add_signing_key(&k.server_name, k.clone())? - .into_iter() - .map(|(k, v)| (k.to_string(), v.key)) - .collect::>(); + let result = services() + .globals + .add_signing_key(&k.server_name, k.clone())? + .into_iter() + .map(|(k, v)| (k.to_string(), v.key)) + .collect::>(); - pkm.insert(k.server_name.to_string(), result); - } - } else { - warn!( - "Failed sending batched key request to trusted key server {server} for the remote servers \ - {servers:?}" - ); + pkm.insert(k.server_name.to_string(), result); + } + }, + Err(e) => { + warn!( + "Failed sending batched key request to trusted key server {server} for the remote servers \ + {:?}: {e}", + servers + ); + }, } }