summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2017-10-04 14:29:33 +0100
committerDavid Baker <dave@matrix.org>2017-10-04 14:29:33 +0100
commitd8ce68b09b0966330b4da720eeb41719c7c61be6 (patch)
treedeecafe01324a4d683327020a52e05fb68a3dd1d /synapse/handlers
parentun-double indent (diff)
downloadsynapse-d8ce68b09b0966330b4da720eeb41719c7c61be6.tar.xz
spam check room publishing
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/directory.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/synapse/handlers/directory.py b/synapse/handlers/directory.py
index ed18bb20bb..a0464ae5c0 100644
--- a/synapse/handlers/directory.py
+++ b/synapse/handlers/directory.py
@@ -334,6 +334,14 @@ class DirectoryHandler(BaseHandler):
         room_id (str)
         visibility (str): "public" or "private"
         """
+        if not self.spam_checker.user_may_publish_room(
+            requester.user.to_string(), room_id
+        ):
+            raise AuthError(
+                403,
+                "This user is not permitted to publish rooms to the room list"
+            )
+
         if requester.is_guest:
             raise AuthError(403, "Guests cannot edit the published room list")