summary refs log tree commit diff
path: root/synapse/handlers/room_member.py
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2017-01-06 14:46:27 +0000
committerMark Haines <mark.haines@matrix.org>2017-01-06 14:46:27 +0000
commit06c00bd19b0b98c828b820e070f7b79c7eef61ad (patch)
treecc66e6cced36e99bee2229c914b97cdd350d56dc /synapse/handlers/room_member.py
parentMerge branch 'release-v0.18.6' into develop (diff)
parentBump version and changelog (diff)
downloadsynapse-06c00bd19b0b98c828b820e070f7b79c7eef61ad.tar.xz
Merge branch 'release-v0.18.6' into develop
Diffstat (limited to 'synapse/handlers/room_member.py')
-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)