Only check if host is in room if we have state and auth_chain

pull/1064/head
Erik Johnston 2016-09-02 13:40:07 +01:00
parent c1c38da586
commit bd9b8d87ae
1 changed files with 12 additions and 6 deletions

View File

@ -118,12 +118,18 @@ class FederationHandler(BaseHandler):
# FIXME (erikj): Awful hack to make the case where we are not currently # FIXME (erikj): Awful hack to make the case where we are not currently
# in the room work # in the room work
is_in_room = yield self.auth.check_host_in_room( if state and auth_chain and not event.internal_metadata.is_outlier():
event.room_id, is_in_room = yield self.auth.check_host_in_room(
self.server_name event.room_id,
) self.server_name
if not is_in_room and not event.internal_metadata.is_outlier(): )
logger.debug("Got event for room we're not in.") else:
is_in_room = True
if not is_in_room:
logger.info(
"Got event for room we're not in: %r %r",
event.room_id, event.event_id
)
try: try:
event_stream_id, max_stream_id = yield self._persist_auth_tree( event_stream_id, max_stream_id = yield self._persist_auth_tree(