diff options
author | David Baker <dbkr@users.noreply.github.com> | 2017-10-03 18:10:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-03 18:10:23 +0100 |
commit | 5f20a91fa1e74794c34ba47415e47d3b07be37af (patch) | |
tree | 1ac5c80af280727951f6385d88890623a2be2c26 /synapse/handlers/federation.py | |
parent | Merge pull request #2491 from matrix-org/rav/port_db_fixes (diff) | |
parent | s/roomid/room_id/ (diff) | |
download | synapse-5f20a91fa1e74794c34ba47415e47d3b07be37af.tar.xz |
Merge pull request #2492 from matrix-org/dbkr/spam_check_invites
Allow spam checker to reject invites too
Diffstat (limited to 'synapse/handlers/federation.py')
-rw-r--r-- | synapse/handlers/federation.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py index 18f87cad67..737fe518ef 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py @@ -77,6 +77,7 @@ class FederationHandler(BaseHandler): self.action_generator = hs.get_action_generator() self.is_mine_id = hs.is_mine_id self.pusher_pool = hs.get_pusherpool() + self.spam_checker = hs.get_spam_checker() self.replication_layer.set_handler(self) @@ -1077,6 +1078,11 @@ 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, event.room_id): + raise SynapseError( + 403, "This user is not permitted to send invites to this server" + ) + membership = event.content.get("membership") if event.type != EventTypes.Member or membership != Membership.INVITE: raise SynapseError(400, "The event was not an m.room.member invite event") |