mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-06-26 23:36:36 +02:00
Fix room ID check
This commit is contained in:
parent
65e2061447
commit
01d1224d1c
2 changed files with 8 additions and 8 deletions
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue