summary refs log tree commit diff
path: root/synapse/federation/transport
diff options
context:
space:
mode:
authorDaniel Wagner-Hall <daniel@matrix.org>2016-02-23 15:11:25 +0000
committerreview.rocks <nobody@review.rocks>2016-02-23 15:11:25 +0000
commit577951b0324f67308f50c14fad703d2103621bc5 (patch)
tree5179d927a8d339151131a1faf79cd79fb8265179 /synapse/federation/transport
parentMerge pull request #600 from matrix-org/erikj/presence (diff)
downloadsynapse-577951b0324f67308f50c14fad703d2103621bc5.tar.xz
Allow third_party_signed to be specified on /join
Diffstat (limited to 'synapse/federation/transport')
-rw-r--r--synapse/federation/transport/server.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/synapse/federation/transport/server.py b/synapse/federation/transport/server.py

index 65e054f7dd..6e92e2f8f4 100644 --- a/synapse/federation/transport/server.py +++ b/synapse/federation/transport/server.py
@@ -425,7 +425,17 @@ class On3pidBindServlet(BaseFederationServlet): last_exception = None for invite in content["invites"]: try: - yield self.handler.exchange_third_party_invite(invite) + if "signed" not in invite or "token" not in invite["signed"]: + message = ("Rejecting received notification of third-" + "party invite without signed: %s" % (invite,)) + logger.info(message) + raise SynapseError(400, message) + yield self.handler.exchange_third_party_invite( + invite["sender"], + invite["mxid"], + invite["room_id"], + invite["signed"], + ) except Exception as e: last_exception = e if last_exception: