From 1726633c0f395b9fc6ef52907ecb27c1fd3087c6 Mon Sep 17 00:00:00 2001 From: nexy7574 Date: Mon, 21 Jul 2025 22:03:36 +0100 Subject: [PATCH] fix(policy-server): Fixup refactor --- .../rooms/event_handler/upgrade_outlier_pdu.rs | 2 +- src/service/rooms/timeline/create.rs | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/service/rooms/event_handler/upgrade_outlier_pdu.rs b/src/service/rooms/event_handler/upgrade_outlier_pdu.rs index 76f4ee55..17a72f8c 100644 --- a/src/service/rooms/event_handler/upgrade_outlier_pdu.rs +++ b/src/service/rooms/event_handler/upgrade_outlier_pdu.rs @@ -265,7 +265,7 @@ where "Event has passed policy server check or the policy server was unavailable." ); }, - }; + } } // Additionally, if this is a redaction for a soft-failed event, we soft-fail it diff --git a/src/service/rooms/timeline/create.rs b/src/service/rooms/timeline/create.rs index 6301d785..66a35eca 100644 --- a/src/service/rooms/timeline/create.rs +++ b/src/service/rooms/timeline/create.rs @@ -166,14 +166,22 @@ pub async fn create_hash_and_sign_event( } // Check with the policy server - if self + match self .services .event_handler - .policyserv_check(&pdu, room_id) + .ask_policy_server(&pdu, room_id) .await - .is_err() { - return Err!(Request(Forbidden(debug_warn!("Policy server marked this event as spam")))); + | Ok(true) => {}, + | Ok(false) => { + return Err!(Request(Forbidden(debug_warn!( + "Policy server marked this event as spam" + )))); + }, + | Err(e) => { + // fail open + warn!("Failed to check event with policy server: {e}"); + }, } // Hash and sign