mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
fix: Implement MSC4307
This commit is contained in:
@@ -256,6 +256,18 @@ where
|
|||||||
| Some(e) => e,
|
| Some(e) => e,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if incoming_event.room_id() != room_create_event.room_id() {
|
||||||
|
warn!("room_id of incoming event does not match room_id of m.room.create event");
|
||||||
|
return Ok(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if let Some(ref pe) = power_levels_event {
|
||||||
|
if pe.room_id() != room_create_event.room_id() {
|
||||||
|
warn!("room_id of power levels event does not match room_id of m.room.create event");
|
||||||
|
return Ok(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 3. If event does not have m.room.create in auth_events reject
|
// 3. If event does not have m.room.create in auth_events reject
|
||||||
if !incoming_event
|
if !incoming_event
|
||||||
.auth_events()
|
.auth_events()
|
||||||
@@ -381,6 +393,11 @@ where
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if sender_member_event.room_id() != room_create_event.room_id() {
|
||||||
|
warn!("room_id of incoming event does not match room_id of m.room.create event");
|
||||||
|
return Ok(false);
|
||||||
|
}
|
||||||
|
|
||||||
let sender_membership_event_content: RoomMemberContentFields =
|
let sender_membership_event_content: RoomMemberContentFields =
|
||||||
from_json_str(sender_member_event.content().get())?;
|
from_json_str(sender_member_event.content().get())?;
|
||||||
let Some(membership_state) = sender_membership_event_content.membership else {
|
let Some(membership_state) = sender_membership_event_content.membership else {
|
||||||
|
|||||||
Reference in New Issue
Block a user