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