Merge pull request #367 from matrix-org/daniel/readafterleave

Merge pull request #367 from matrix-org/daniel/readafterleave

Tweak guest access permissions
This commit is contained in:
Daniel Wagner-Hall 2015-11-12 15:22:02 +00:00
commit 06bfd0a3c0
1 changed files with 11 additions and 10 deletions

View File

@ -267,17 +267,18 @@ class MessageHandler(BaseHandler):
member_event = yield self.auth.check_user_was_in_room(room_id, user_id) member_event = yield self.auth.check_user_was_in_room(room_id, user_id)
defer.returnValue((member_event.membership, member_event.event_id)) defer.returnValue((member_event.membership, member_event.event_id))
return return
except AuthError: except AuthError, auth_error:
if not is_guest:
raise
visibility = yield self.state_handler.get_current_state( visibility = yield self.state_handler.get_current_state(
room_id, EventTypes.RoomHistoryVisibility, "" room_id, EventTypes.RoomHistoryVisibility, ""
) )
if visibility.content["history_visibility"] == "world_readable": if (
visibility and
visibility.content["history_visibility"] == "world_readable"
):
defer.returnValue((Membership.JOIN, None)) defer.returnValue((Membership.JOIN, None))
return return
else: if not is_guest:
raise auth_error
raise AuthError( raise AuthError(
403, "Guest access not allowed", errcode=Codes.GUEST_ACCESS_FORBIDDEN 403, "Guest access not allowed", errcode=Codes.GUEST_ACCESS_FORBIDDEN
) )