summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2017-10-03 17:13:14 +0100
committerDavid Baker <dave@matrix.org>2017-10-03 17:13:14 +0100
commit1e375468de914fdefc7c0b4b65217c4ec95784a4 (patch)
tree1c3809a25ad26eefb077dc68af0fe77302232183
parentFederation was passing strings anyway (diff)
downloadsynapse-1e375468de914fdefc7c0b4b65217c4ec95784a4.tar.xz
pass room id too
-rw-r--r--synapse/events/spamcheck.py4
-rw-r--r--synapse/handlers/federation.py2
-rw-r--r--synapse/handlers/room_member.py4
3 files changed, 6 insertions, 4 deletions
diff --git a/synapse/events/spamcheck.py b/synapse/events/spamcheck.py
index 605261f4b5..fe2d22a6f2 100644
--- a/synapse/events/spamcheck.py
+++ b/synapse/events/spamcheck.py
@@ -46,7 +46,7 @@ class SpamChecker(object):
 
         return self.spam_checker.check_event_for_spam(event)
 
-    def user_may_invite(self, userid):
+    def user_may_invite(self, userid, roomid):
         """Checks if a given user may send an invite
 
         If this method returns false, the invite will be rejected.
@@ -60,4 +60,4 @@ class SpamChecker(object):
         if self.spam_checker is None:
             return True
 
-        return self.spam_checker.user_may_invite(userid)
+        return self.spam_checker.user_may_invite(userid, roomid)
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 8571350cc8..737fe518ef 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -1078,7 +1078,7 @@ class FederationHandler(BaseHandler):
         if self.hs.config.block_non_admin_invites:
             raise SynapseError(403, "This server does not accept room invites")
 
-        if not self.spam_checker.user_may_invite(event.sender):
+        if not self.spam_checker.user_may_invite(event.sender, event.room_id):
             raise SynapseError(
                 403, "This user is not permitted to send invites to this server"
             )
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py
index a33a8ad42b..37985fa1f9 100644
--- a/synapse/handlers/room_member.py
+++ b/synapse/handlers/room_member.py
@@ -224,7 +224,9 @@ class RoomMemberHandler(BaseHandler):
                     )
                     block_invite = True
 
-                if not self.spam_checker.user_may_invite(requester.user.to_string()):
+                if not self.spam_checker.user_may_invite(
+                    requester.user.to_string(), room_id,
+                ):
                     logger.info("Blocking invite due to spam checker")
                     block_invite = True