From cd2f831b9da91829efab01f31921fbd7fb738300 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 12 Oct 2020 19:09:30 +0100 Subject: [PATCH] block membership events from spammy freenode bridge --- synapse/rest/client/v1/room.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/synapse/rest/client/v1/room.py b/synapse/rest/client/v1/room.py index b63389e5fe..862d05e3ca 100644 --- a/synapse/rest/client/v1/room.py +++ b/synapse/rest/client/v1/room.py @@ -291,6 +291,8 @@ class JoinRoomAliasServlet(TransactionRestServlet): async def on_POST(self, request, room_identifier, txn_id=None): requester = await self.auth.get_user_by_req(request, allow_guest=True) + if requester.app_service and requester.app_service.id == "irc-freenode": + raise SynapseError(400, "too much spam") try: content = parse_json_object_from_request(request) @@ -720,6 +722,8 @@ class RoomMembershipRestServlet(TransactionRestServlet): async def on_POST(self, request, room_id, membership_action, txn_id=None): requester = await self.auth.get_user_by_req(request, allow_guest=True) + if requester.app_service and requester.app_service.id == "irc-freenode": + raise SynapseError(400, "too much spam") if requester.is_guest and membership_action not in { Membership.JOIN,