summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrendan Abolivier <babolivier@matrix.org>2019-03-05 18:41:27 +0000
committerBrendan Abolivier <babolivier@matrix.org>2019-03-05 18:41:27 +0000
commitd7dbad3526136cfc9fdbd568635be5016fb637db (patch)
tree531764768f634bb73b1a31f9f5a3a6e3b0ac2aa5
parentUpdate sample config (diff)
downloadsynapse-d7dbad3526136cfc9fdbd568635be5016fb637db.tar.xz
Split ratelimiters in two (one for events, one for registration)
-rw-r--r--synapse/handlers/_base.py2
-rw-r--r--synapse/handlers/message.py2
-rw-r--r--synapse/handlers/register.py2
-rw-r--r--synapse/rest/client/v2_alpha/register.py2
-rw-r--r--synapse/server.py10
-rw-r--r--tests/handlers/test_profile.py2
-rw-r--r--tests/replication/slave/storage/_base.py2
-rw-r--r--tests/rest/client/v1/test_events.py2
-rw-r--r--tests/rest/client/v1/test_typing.py2
9 files changed, 15 insertions, 11 deletions
diff --git a/synapse/handlers/_base.py b/synapse/handlers/_base.py
index d8d86d6ff3..a2212e2023 100644
--- a/synapse/handlers/_base.py
+++ b/synapse/handlers/_base.py
@@ -44,7 +44,7 @@ class BaseHandler(object):
         self.notifier = hs.get_notifier()
         self.state_handler = hs.get_state_handler()
         self.distributor = hs.get_distributor()
-        self.ratelimiter = hs.get_ratelimiter()
+        self.ratelimiter = hs.get_events_ratelimiter()
         self.clock = hs.get_clock()
         self.hs = hs
 
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index c762b58902..120aa0d017 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -224,7 +224,7 @@ class EventCreationHandler(object):
         self.profile_handler = hs.get_profile_handler()
         self.event_builder_factory = hs.get_event_builder_factory()
         self.server_name = hs.hostname
-        self.ratelimiter = hs.get_ratelimiter()
+        self.ratelimiter = hs.get_events_ratelimiter()
         self.notifier = hs.get_notifier()
         self.config = hs.config
 
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py
index 47d5e276f8..03130edc54 100644
--- a/synapse/handlers/register.py
+++ b/synapse/handlers/register.py
@@ -61,7 +61,7 @@ class RegistrationHandler(BaseHandler):
         self.user_directory_handler = hs.get_user_directory_handler()
         self.captcha_client = CaptchaServerHttpClient(hs)
         self.identity_handler = self.hs.get_handlers().identity_handler
-        self.ratelimiter = hs.get_ratelimiter()
+        self.ratelimiter = hs.get_registration_ratelimiter()
 
         self._next_generated_user_id = None
 
diff --git a/synapse/rest/client/v2_alpha/register.py b/synapse/rest/client/v2_alpha/register.py
index b7f354570c..6f34029431 100644
--- a/synapse/rest/client/v2_alpha/register.py
+++ b/synapse/rest/client/v2_alpha/register.py
@@ -196,7 +196,7 @@ class RegisterRestServlet(RestServlet):
         self.identity_handler = hs.get_handlers().identity_handler
         self.room_member_handler = hs.get_room_member_handler()
         self.macaroon_gen = hs.get_macaroon_generator()
-        self.ratelimiter = hs.get_ratelimiter()
+        self.ratelimiter = hs.get_registration_ratelimiter()
         self.clock = hs.get_clock()
 
     @interactive_auth_handler
diff --git a/synapse/server.py b/synapse/server.py
index 4323e7ff12..f3ca3e259a 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -205,7 +205,8 @@ class HomeServer(object):
 
         self.clock = Clock(reactor)
         self.distributor = Distributor()
-        self.ratelimiter = Ratelimiter()
+        self.events_ratelimiter = Ratelimiter()
+        self.registration_ratelimiter = Ratelimiter()
 
         self.datastore = None
 
@@ -248,8 +249,11 @@ class HomeServer(object):
     def get_distributor(self):
         return self.distributor
 
-    def get_ratelimiter(self):
-        return self.ratelimiter
+    def get_events_ratelimiter(self):
+        return self.events_ratelimiter
+
+    def get_registration_ratelimiter(self):
+        return self.registration_ratelimiter
 
     def build_federation_client(self):
         return FederationClient(self)
diff --git a/tests/handlers/test_profile.py b/tests/handlers/test_profile.py
index d60c124eec..905816a44b 100644
--- a/tests/handlers/test_profile.py
+++ b/tests/handlers/test_profile.py
@@ -58,7 +58,7 @@ class ProfileTestCase(unittest.TestCase):
             ratelimiter=NonCallableMock(spec_set=["can_do_action"]),
         )
 
-        self.ratelimiter = hs.get_ratelimiter()
+        self.ratelimiter = hs.get_events_ratelimiter()
         self.ratelimiter.can_do_action.return_value = (True, 0)
 
         self.store = hs.get_datastore()
diff --git a/tests/replication/slave/storage/_base.py b/tests/replication/slave/storage/_base.py
index 524af4f8d1..b293e04355 100644
--- a/tests/replication/slave/storage/_base.py
+++ b/tests/replication/slave/storage/_base.py
@@ -34,7 +34,7 @@ class BaseSlavedStoreTestCase(unittest.HomeserverTestCase):
             ratelimiter=NonCallableMock(spec_set=["can_do_action"]),
         )
 
-        hs.get_ratelimiter().can_do_action.return_value = (True, 0)
+        hs.get_events_ratelimiter().can_do_action.return_value = (True, 0)
 
         return hs
 
diff --git a/tests/rest/client/v1/test_events.py b/tests/rest/client/v1/test_events.py
index 36d8547275..cd328dc5f1 100644
--- a/tests/rest/client/v1/test_events.py
+++ b/tests/rest/client/v1/test_events.py
@@ -42,7 +42,7 @@ class EventStreamPermissionsTestCase(unittest.HomeserverTestCase):
         hs = self.setup_test_homeserver(
             config=config, ratelimiter=NonCallableMock(spec_set=["can_do_action"])
         )
-        self.ratelimiter = hs.get_ratelimiter()
+        self.ratelimiter = hs.get_events_ratelimiter()
         self.ratelimiter.can_do_action.return_value = (True, 0)
 
         hs.get_handlers().federation_handler = Mock()
diff --git a/tests/rest/client/v1/test_typing.py b/tests/rest/client/v1/test_typing.py
index 30fb77bac8..2e2e314a49 100644
--- a/tests/rest/client/v1/test_typing.py
+++ b/tests/rest/client/v1/test_typing.py
@@ -47,7 +47,7 @@ class RoomTypingTestCase(unittest.HomeserverTestCase):
 
         self.event_source = hs.get_event_sources().sources["typing"]
 
-        self.ratelimiter = hs.get_ratelimiter()
+        self.ratelimiter = hs.get_events_ratelimiter()
         self.ratelimiter.can_do_action.return_value = (True, 0)
 
         hs.get_handlers().federation_handler = Mock()