diff options
author | Erik Johnston <erik@matrix.org> | 2019-03-21 11:20:13 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2019-03-21 11:20:13 +0000 |
commit | 536a2665204ae6765ec131e985e9828c6c363539 (patch) | |
tree | c18bef74c10c4597c6b448ee278194b087184cf1 /synapse/handlers/events.py | |
parent | Rejig testcase to make it more extensible (diff) | |
download | synapse-536a2665204ae6765ec131e985e9828c6c363539.tar.xz |
Deny peeking into rooms that have been blocked
Diffstat (limited to 'synapse/handlers/events.py')
-rw-r--r-- | synapse/handlers/events.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/synapse/handlers/events.py b/synapse/handlers/events.py index f772e62c28..d883e98381 100644 --- a/synapse/handlers/events.py +++ b/synapse/handlers/events.py @@ -19,7 +19,7 @@ import random from twisted.internet import defer from synapse.api.constants import EventTypes, Membership -from synapse.api.errors import AuthError +from synapse.api.errors import AuthError, SynapseError from synapse.events import EventBase from synapse.events.utils import serialize_event from synapse.types import UserID @@ -61,6 +61,11 @@ class EventStreamHandler(BaseHandler): If `only_keys` is not None, events from keys will be sent down. """ + if room_id: + blocked = yield self.store.is_room_blocked(room_id) + if blocked: + raise SynapseError(403, "This room has been blocked on this server") + # send any outstanding server notices to the user. yield self._server_notices_sender.on_user_syncing(auth_user_id) |