summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2014-09-02 18:22:15 +0100
committerMark Haines <mark.haines@matrix.org>2014-09-02 18:22:15 +0100
commit780548b577f5e59cd4f3aa03cf20dbf66a790a39 (patch)
tree3d1c561ccce226f60ff933f51643940fcf2d25fd /synapse/handlers
parentAdd ratelimiting config (diff)
downloadsynapse-780548b577f5e59cd4f3aa03cf20dbf66a790a39.tar.xz
rate limiting for message sending
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/_base.py4
-rw-r--r--synapse/handlers/message.py2
-rw-r--r--synapse/handlers/room.py1
3 files changed, 5 insertions, 2 deletions
diff --git a/synapse/handlers/_base.py b/synapse/handlers/_base.py
index dc1298366e..c150b60e07 100644
--- a/synapse/handlers/_base.py
+++ b/synapse/handlers/_base.py
@@ -35,12 +35,12 @@ class BaseHandler(object):
         allowed, time_allowed = self.ratelimiter.send_message(
             user_id, time_now,
             msg_rate_hz=self.hs.config.rc_messages_per_second,
-            burst_count=self.hs.config.rc_messsage_burst_count,
+            burst_count=self.hs.config.rc_message_burst_count,
         )
         if not allowed:
             raise cs_error(
                 "Limit exceeded",
-                Codes.M_LIMIT_EXCEEDED,
+                Codes.LIMIT_EXCEEDED,
                 retry_after_ms=1000*(time_allowed - time_now),
             )
 
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index 4aeb2089f5..c9e3c4e451 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -76,6 +76,8 @@ class MessageHandler(BaseRoomHandler):
         Raises:
             SynapseError if something went wrong.
         """
+
+        self.ratelimit(event.user_id)
         # TODO(paul): Why does 'event' not have a 'user' object?
         user = self.hs.parse_userid(event.user_id)
         assert user.is_mine, "User must be our own: %s" % (user,)
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 048b719307..b0c94d35af 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -49,6 +49,7 @@ class RoomCreationHandler(BaseRoomHandler):
             SynapseError if the room ID was taken, couldn't be stored, or
             something went horribly wrong.
         """
+        self.ratelimit(user_id)
 
         if "room_alias_name" in config:
             room_alias = RoomAlias.create_local(