summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Haines <mjark@negativecurvature.net>2017-01-06 14:41:52 +0000
committerGitHub <noreply@github.com>2017-01-06 14:41:52 +0000
commit2c8ac84a262d0a50e66a688099e8efa3973cfa9e (patch)
tree90a06a6333611ba7c4f140f1736c3c0ab92c8bde
parentFix flake8 and update changelog (diff)
parenthandlers/room_member: fix guest access check when joining rooms (diff)
downloadsynapse-2c8ac84a262d0a50e66a688099e8efa3973cfa9e.tar.xz
Merge pull request #1772 from matrix-org/markjh/fix_guest_access_check
handlers/room_member: fix guest access check when joining rooms
-rw-r--r--synapse/handlers/room_member.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py

index ba49075a20..2f8782e522 100644 --- a/synapse/handlers/room_member.py +++ b/synapse/handlers/room_member.py
@@ -232,10 +232,12 @@ class RoomMemberHandler(BaseHandler): is_host_in_room = yield self._is_host_in_room(current_state_ids) if effective_membership_state == Membership.JOIN: - if requester.is_guest and not self._can_guest_join(current_state_ids): - # This should be an auth check, but guests are a local concept, - # so don't really fit into the general auth process. - raise AuthError(403, "Guest access not allowed") + if requester.is_guest: + guest_can_join = yield self._can_guest_join(current_state_ids) + if not guest_can_join: + # This should be an auth check, but guests are a local concept, + # so don't really fit into the general auth process. + raise AuthError(403, "Guest access not allowed") if not is_host_in_room: inviter = yield self.get_inviter(target.to_string(), room_id)