From 89700dfb8c2fbf375d12edbde01429b4e6bfd884 Mon Sep 17 00:00:00 2001 From: Will Hunt Date: Wed, 11 Nov 2020 14:23:16 +0000 Subject: [PATCH] Check support room has only two users before sending a notice (#8728) * Check support room has only two users * Create 8728.bugfix * Update synapse/server_notices/server_notices_manager.py Co-authored-by: Erik Johnston Co-authored-by: Erik Johnston --- changelog.d/8728.bugfix | 1 + synapse/server_notices/server_notices_manager.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/8728.bugfix diff --git a/changelog.d/8728.bugfix b/changelog.d/8728.bugfix new file mode 100644 index 000000000000..8064aad0ff96 --- /dev/null +++ b/changelog.d/8728.bugfix @@ -0,0 +1 @@ +Fix bug where the `/_synapse/admin/v1/send_server_notice` API could send notices to non-notice rooms. diff --git a/synapse/server_notices/server_notices_manager.py b/synapse/server_notices/server_notices_manager.py index 0422d4c7cecd..d464c75c03a1 100644 --- a/synapse/server_notices/server_notices_manager.py +++ b/synapse/server_notices/server_notices_manager.py @@ -119,7 +119,7 @@ async def get_or_create_notice_room_for_user(self, user_id: str) -> str: # manages to invite the system user to a room, that doesn't make it # the server notices room. user_ids = await self._store.get_users_in_room(room.room_id) - if self.server_notices_mxid in user_ids: + if len(user_ids) <= 2 and self.server_notices_mxid in user_ids: # we found a room which our user shares with the system notice # user logger.info(