Compare commits

..

1 commit

Author SHA1 Message Date
Andrew Ferrazzutti 2244534703
Merge 9a9257c2be into 27756c9fdf 2024-06-27 18:10:49 +00:00

View file

@ -808,12 +808,12 @@ def get_send_level(
def _can_send_event(event: "EventBase", auth_events: StateMap["EventBase"]) -> bool:
power_levels_event = get_power_level_event(auth_events)
use_msc3779 = event.room_version is RoomVersions.MSC3779v10
uses_owned_state_events = event.room_version is RoomVersions.MSC3779v10
send_level = get_send_level(
event.type,
event.get("state_key"),
power_levels_event,
event.user_id if use_msc3779 else None,
event.user_id if uses_owned_state_events else None,
)
user_level = get_user_power_level(event.user_id, auth_events)
@ -827,10 +827,8 @@ def _can_send_event(event: "EventBase", auth_events: StateMap["EventBase"]) -> b
# Check state_key
if hasattr(event, "state_key"):
if event.state_key.startswith("@"):
if event.state_key != event.user_id and not (
use_msc3779 and event.state_key.startswith(event.user_id + "_")
):
if not uses_owned_state_events and event.state_key.startswith("@"):
if event.state_key != event.user_id:
raise AuthError(403, "You are not allowed to set others state")
return True