Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 2ef1fea

Browse files
Make room creations denied by user_may_create_room cause an M_FORBIDDEN error to be returned, not M_UNKNOWN (#11672)
Co-authored-by: reivilibre <[email protected]>
1 parent c9eb678 commit 2ef1fea

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

changelog.d/11672.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Return an `M_FORBIDDEN` error code instead of `M_UNKNOWN` when a spam checker module prevents a user from creating a room.

synapse/handlers/room.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,9 @@ async def clone_existing_room(
393393
user_id = requester.user.to_string()
394394

395395
if not await self.spam_checker.user_may_create_room(user_id):
396-
raise SynapseError(403, "You are not permitted to create rooms")
396+
raise SynapseError(
397+
403, "You are not permitted to create rooms", Codes.FORBIDDEN
398+
)
397399

398400
creation_content: JsonDict = {
399401
"room_version": new_room_version.identifier,
@@ -685,7 +687,9 @@ async def create_room(
685687
invite_3pid_list,
686688
)
687689
):
688-
raise SynapseError(403, "You are not permitted to create rooms")
690+
raise SynapseError(
691+
403, "You are not permitted to create rooms", Codes.FORBIDDEN
692+
)
689693

690694
if ratelimit:
691695
await self.request_ratelimiter.ratelimit(requester)

0 commit comments

Comments
 (0)