diff options
author | Erik Johnston <erik@matrix.org> | 2017-04-04 09:46:16 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-04-04 09:46:16 +0100 |
commit | 62b89daac6f4418d831d531fa40ad71aa0c74fb9 (patch) | |
tree | a5fa797ac7e65f85cae52cccd88451e5672257c6 /synapse/federation | |
parent | Always advance stream tokens (diff) | |
parent | Merge pull request #2095 from matrix-org/rav/cull_log_preserves (diff) | |
download | synapse-62b89daac6f4418d831d531fa40ad71aa0c74fb9.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/repl_tcp_server
Diffstat (limited to 'synapse/federation')
-rw-r--r-- | synapse/federation/federation_server.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/synapse/federation/federation_server.py b/synapse/federation/federation_server.py index 510a176821..bc20b9c201 100644 --- a/synapse/federation/federation_server.py +++ b/synapse/federation/federation_server.py @@ -146,11 +146,15 @@ class FederationServer(FederationBase): # check that it's actually being sent from a valid destination to # workaround bug #1753 in 0.18.5 and 0.18.6 if transaction.origin != get_domain_from_id(pdu.event_id): + # We continue to accept join events from any server; this is + # necessary for the federation join dance to work correctly. + # (When we join over federation, the "helper" server is + # responsible for sending out the join event, rather than the + # origin. See bug #1893). if not ( pdu.type == 'm.room.member' and pdu.content and - pdu.content.get("membership", None) == 'join' and - self.hs.is_mine_id(pdu.state_key) + pdu.content.get("membership", None) == 'join' ): logger.info( "Discarding PDU %s from invalid origin %s", |