State-reset and security mitigations.
Upgrade Ruma to present. The following are intentionally benign for activation in a later commit: - Hydra backports not default. - Room version 12 not default. - Room version 12 not listed as stable. Do not enable them manually or you can brick your database. Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
23
src/core/matrix/room_version.rs
Normal file
23
src/core/matrix/room_version.rs
Normal file
@@ -0,0 +1,23 @@
|
||||
use ruma::{RoomVersionId, events::room::create::RoomCreateEventContent};
|
||||
pub use ruma::{RoomVersionId as RoomVersion, room_version_rules::RoomVersionRules};
|
||||
|
||||
use crate::{Result, err, matrix::Event};
|
||||
|
||||
pub fn rules(room_version_id: &RoomVersionId) -> Result<RoomVersionRules> {
|
||||
room_version_id.rules().ok_or_else(|| {
|
||||
err!(Request(UnsupportedRoomVersion(
|
||||
"Unknown or unsupported room version {room_version_id:?}.",
|
||||
)))
|
||||
})
|
||||
}
|
||||
|
||||
pub fn from_create_event<Pdu: Event>(create_event: &Pdu) -> Result<RoomVersionId> {
|
||||
let content: RoomCreateEventContent = create_event.get_content()?;
|
||||
Ok(from_create_content(&content).clone())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
#[must_use]
|
||||
pub fn from_create_content(content: &RoomCreateEventContent) -> &RoomVersionId {
|
||||
&content.room_version
|
||||
}
|
||||
Reference in New Issue
Block a user