diff options
author | David Baker <dave@matrix.org> | 2017-10-04 10:47:54 +0100 |
---|---|---|
committer | David Baker <dave@matrix.org> | 2017-10-04 10:47:54 +0100 |
commit | 197c14dbcfa9bc5bb281833a91ee035cb154216d (patch) | |
tree | d3722c194baf40119b93c3e6bf4d4ba7accf60fc /synapse/events | |
parent | Merge pull request #2492 from matrix-org/dbkr/spam_check_invites (diff) | |
download | synapse-197c14dbcfa9bc5bb281833a91ee035cb154216d.tar.xz |
Add room creation checks to spam checker
Lets the spam checker deny attempts to create rooms and add aliases to them.
Diffstat (limited to 'synapse/events')
-rw-r--r-- | synapse/events/spamcheck.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/synapse/events/spamcheck.py b/synapse/events/spamcheck.py index 8b01c091e9..7cb3468df4 100644 --- a/synapse/events/spamcheck.py +++ b/synapse/events/spamcheck.py @@ -61,3 +61,35 @@ class SpamChecker(object): return True return self.spam_checker.user_may_invite(userid, room_id) + + def user_may_create_room(self, userid): + """Checks if a given user may create a room + + If this method returns false, the creation request will be rejected. + + Args: + userid (string): The sender's user ID + + Returns: + bool: True if the user may create a room, otherwise False + """ + if self.spam_checker is None: + return True + + return self.spam_checker.user_may_create_room(userid) + + def user_may_create_room_alias(self, userid, room_alias): + """Checks if a given user may create a room alias + + If this method returns false, the association request will be rejected. + + Args: + userid (string): The sender's user ID + + Returns: + bool: True if the user may create a room alias, otherwise False + """ + if self.spam_checker is None: + return True + + return self.spam_checker.user_may_create_room_alias(userid, room_alias) |