diff options
author | Mark Haines <mark.haines@matrix.org> | 2017-01-06 14:46:27 +0000 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2017-01-06 14:46:27 +0000 |
commit | 06c00bd19b0b98c828b820e070f7b79c7eef61ad (patch) | |
tree | cc66e6cced36e99bee2229c914b97cdd350d56dc | |
parent | Merge branch 'release-v0.18.6' into develop (diff) | |
parent | Bump version and changelog (diff) | |
download | synapse-06c00bd19b0b98c828b820e070f7b79c7eef61ad.tar.xz |
Merge branch 'release-v0.18.6' into develop
-rw-r--r-- | CHANGES.rst | 7 | ||||
-rw-r--r-- | synapse/__init__.py | 2 | ||||
-rw-r--r-- | synapse/handlers/room_member.py | 10 |
3 files changed, 14 insertions, 5 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index c1a8dd7613..28be0bb974 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,10 @@ +Changes in synapse v0.18.6 (2017-01-06) +======================================= + +Bug fixes: + +* Fix bug when checking if a guest user is allowed to join a room (PR #1772) + Changes in synapse v0.18.6-rc3 (2017-01-05) =========================================== diff --git a/synapse/__init__.py b/synapse/__init__.py index a1da92ef92..92690a48ac 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -16,4 +16,4 @@ """ This is a reference implementation of a Matrix home server. """ -__version__ = "0.18.6-rc3" +__version__ = "0.18.6" 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) |