From 197a02bf8debe5aea749af86f6143761054665a8 Mon Sep 17 00:00:00 2001 From: strawberry Date: Fri, 7 Jun 2024 01:46:02 -0400 Subject: [PATCH] fix(fed): dont reject `/event/` on world readable rooms Signed-off-by: strawberry --- src/api/server/event.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/api/server/event.rs b/src/api/server/event.rs index f24530f3..29f538b4 100644 --- a/src/api/server/event.rs +++ b/src/api/server/event.rs @@ -28,10 +28,11 @@ pub(crate) async fn get_event_route(body: Ruma) -> Resul let room_id = <&RoomId>::try_from(room_id_str).map_err(|_| Error::bad_database("Invalid room_id in event in database."))?; - if !services() - .rooms - .state_cache - .server_in_room(origin, room_id)? + if !services().rooms.state_accessor.is_world_readable(room_id)? + && !services() + .rooms + .state_cache + .server_in_room(origin, room_id)? { return Err(Error::BadRequest(ErrorKind::forbidden(), "Server is not in room.")); }