Fix room ID check

This commit is contained in:
nexy7574 2025-06-10 23:00:09 +01:00 committed by Jacob Taylor
parent 65e2061447
commit 01d1224d1c
2 changed files with 8 additions and 8 deletions

View file

@ -30,7 +30,7 @@ use super::{
}, },
room_version::RoomVersion, room_version::RoomVersion,
}; };
use crate::{debug, err_log, error, trace, warn}; use crate::{debug, error, trace, warn};
// FIXME: field extracting could be bundled for `content` // FIXME: field extracting could be bundled for `content`
#[derive(Deserialize)] #[derive(Deserialize)]
@ -251,7 +251,7 @@ where
let room_create_event = match room_create_event { let room_create_event = match room_create_event {
| None => { | None => {
error!("no m.room.create event in auth chain for {}!", incoming_event.event_id()); error!("no m.room.create event found for {}!", incoming_event.event_id());
return Ok(false); return Ok(false);
}, },
| Some(e) => e, | Some(e) => e,
@ -262,8 +262,11 @@ where
return Ok(false); return Ok(false);
}; };
if room_id_server_name != sender.server_name() { if room_id_server_name != room_create_event.sender().server_name() {
warn!("servername of room ID does not match servername of m.room.create sender"); warn!(
"servername of room ID origin ({}) does not match servername of m.room.create sender ({})",
room_id_server_name,
room_create_event.sender().server_name());
return Ok(false); return Ok(false);
} }

View file

@ -119,10 +119,7 @@ pub(super) async fn handle_outlier_pdu<'a>(
} }
// The original create event must be in the auth events // The original create event must be in the auth events
if !matches!( if !auth_events.contains_key(&(StateEventType::RoomCreate, String::new().into())) {
auth_events.get(&(StateEventType::RoomCreate, String::new().into())),
Some(_) | None
) {
return Err!(Request(InvalidParam("Incoming event refers to wrong create event."))); return Err!(Request(InvalidParam("Incoming event refers to wrong create event.")));
} }