diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2020-08-24 13:58:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-24 13:58:56 -0400 |
commit | cbd8d83da7d24d7434c749c4c6cfece0c507b0b9 (patch) | |
tree | 51ed2f01e982ce7fab5b8b9f86279bbe3f19cea7 /synapse/handlers/directory.py | |
parent | Allow capping a room's retention policy (#8104) (diff) | |
download | synapse-cbd8d83da7d24d7434c749c4c6cfece0c507b0b9.tar.xz |
Stop shadow-banned users from sending non-member events. (#8142)
Diffstat (limited to 'synapse/handlers/directory.py')
-rw-r--r-- | synapse/handlers/directory.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/synapse/handlers/directory.py b/synapse/handlers/directory.py index 79a2df6201..46826eb784 100644 --- a/synapse/handlers/directory.py +++ b/synapse/handlers/directory.py @@ -23,6 +23,7 @@ from synapse.api.errors import ( CodeMessageException, Codes, NotFoundError, + ShadowBanError, StoreError, SynapseError, ) @@ -199,6 +200,8 @@ class DirectoryHandler(BaseHandler): try: await self._update_canonical_alias(requester, user_id, room_id, room_alias) + except ShadowBanError as e: + logger.info("Failed to update alias events due to shadow-ban: %s", e) except AuthError as e: logger.info("Failed to update alias events: %s", e) @@ -292,6 +295,9 @@ class DirectoryHandler(BaseHandler): """ Send an updated canonical alias event if the removed alias was set as the canonical alias or listed in the alt_aliases field. + + Raises: + ShadowBanError if the requester has been shadow-banned. """ alias_event = await self.state.get_current_state( room_id, EventTypes.CanonicalAlias, "" |