summary refs log tree commit diff
path: root/synapse/handlers/federation.py
diff options
context:
space:
mode:
authorBrendan Abolivier <babolivier@matrix.org>2019-10-04 13:12:01 +0100
committerGitHub <noreply@github.com>2019-10-04 13:12:01 +0100
commit6b59493dfad0c04498621f53ba464e4a11af651b (patch)
tree067adbebe2421152a404d2a5a8a7cbb08ee418cd /synapse/handlers/federation.py
parentMerge pull request #7 from matrix-org/babolivier/deactivation-invite (diff)
parentFixup tests (diff)
downloadsynapse-6b59493dfad0c04498621f53ba464e4a11af651b.tar.xz
Merge pull request #8 from matrix-org/babolivier/3pid-invite-revoked
Don't 500 when trying to exchange a revoked 3PID invite
Diffstat (limited to 'synapse/handlers/federation.py')
-rw-r--r--synapse/handlers/federation.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py

index e96edb8bbf..35528eb48a 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py
@@ -2671,7 +2671,7 @@ class FederationHandler(BaseHandler): ) try: - self.auth.check_from_context(room_version, event, context) + yield self.auth.check_from_context(room_version, event, context) except AuthError as e: logger.warn("Denying third party invite %r because %s", event, e) raise e @@ -2699,7 +2699,12 @@ class FederationHandler(BaseHandler): original_invite_id, allow_none=True ) if original_invite: - display_name = original_invite.content["display_name"] + # If the m.room.third_party_invite event's content is empty, it means the + # invite has been revoked. In this case, we don't have to raise an error here + # because the auth check will fail on the invite (because it's not able to + # fetch public keys from the m.room.third_party_invite event's content, which + # is empty). + display_name = original_invite.content.get("display_name") event_dict["content"]["third_party_invite"]["display_name"] = display_name else: logger.info(