mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-18 08:11:24 +01:00
Bump ruma to 2ea8b833e3a80c1d650964a1f3e83ee569cf5c0b (RoomVersion -> RoomVersionRules)
<https://github.com/ruma/ruma/pull/2045> Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
This commit is contained in:
parent
c4c294d64c
commit
8c9800735b
10 changed files with 133 additions and 106 deletions
|
|
@ -718,9 +718,12 @@ pub(crate) fn parse_incoming_pdu(
|
|||
.rooms
|
||||
.state
|
||||
.get_create_content::<ExtractVersion>(&room_id)?;
|
||||
let Some(room_version_rules) = room_version_id.rules() else {
|
||||
return Err(Error::UnsupportedRoomVersion(room_version_id));
|
||||
};
|
||||
|
||||
let Ok((event_id, value)) =
|
||||
gen_event_id_canonical_json(pdu, &room_version_id)
|
||||
gen_event_id_canonical_json(pdu, &room_version_rules)
|
||||
else {
|
||||
// Event could not be converted to canonical json
|
||||
return Err(Error::BadRequest(
|
||||
|
|
@ -1634,8 +1637,12 @@ async fn create_join_event(
|
|||
// hashes checks
|
||||
let room_version_id =
|
||||
services().rooms.state.get_create_content::<ExtractVersion>(room_id)?;
|
||||
let Some(room_version_rules) = room_version_id.rules() else {
|
||||
return Err(Error::UnsupportedRoomVersion(room_version_id));
|
||||
};
|
||||
|
||||
let Ok((event_id, value)) =
|
||||
gen_event_id_canonical_json(pdu, &room_version_id)
|
||||
gen_event_id_canonical_json(pdu, &room_version_rules)
|
||||
else {
|
||||
// Event could not be converted to canonical json
|
||||
return Err(Error::BadRequest(
|
||||
|
|
@ -1787,6 +1794,10 @@ pub(crate) async fn create_invite_route(
|
|||
"Server does not support this room version.",
|
||||
));
|
||||
}
|
||||
let room_version_rules = body
|
||||
.room_version
|
||||
.rules()
|
||||
.expect("ruma should support all room versions we advertise");
|
||||
|
||||
let mut signed_event =
|
||||
utils::to_canonical_object(&body.event).map_err(|_| {
|
||||
|
|
@ -1800,7 +1811,7 @@ pub(crate) async fn create_invite_route(
|
|||
services().globals.server_name().as_str(),
|
||||
services().globals.keypair(),
|
||||
&mut signed_event,
|
||||
&body.room_version,
|
||||
&room_version_rules.redaction,
|
||||
)
|
||||
.map_err(|_| {
|
||||
Error::BadRequest(ErrorKind::InvalidParam, "Failed to sign event.")
|
||||
|
|
@ -1809,7 +1820,7 @@ pub(crate) async fn create_invite_route(
|
|||
// Generate event id
|
||||
let event_id = EventId::parse(format!(
|
||||
"${}",
|
||||
ruma::signatures::reference_hash(&signed_event, &body.room_version)
|
||||
ruma::signatures::reference_hash(&signed_event, &room_version_rules)
|
||||
.expect("ruma can calculate reference hashes")
|
||||
))
|
||||
.expect("ruma's reference hashes are valid event ids");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue