summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-01-23 20:05:44 +0000
committerErik Johnston <erik@matrix.org>2019-01-23 20:07:47 +0000
commit7c288c22500e2045d36a29c38d2671fad6484e30 (patch)
tree39bbd259e15dfae1daf77003f7eff4bb9e6ce5b5 /synapse/handlers
parentRemove unnecessary '_sign_event' (diff)
downloadsynapse-7c288c22500e2045d36a29c38d2671fad6484e30.tar.xz
Clarify the invite flows
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/federation.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py

index 9a14ba4517..e017cab777 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py
@@ -43,6 +43,7 @@ from synapse.api.errors import ( StoreError, SynapseError, ) +from synapse.crypto.event_signing import compute_event_signature from synapse.events.validator import EventValidator from synapse.replication.http.federation import ( ReplicationCleanRoomRestServlet, @@ -1283,7 +1284,15 @@ class FederationHandler(BaseHandler): ) event.internal_metadata.outlier = True - event.internal_metadata.invite_from_remote = True + event.internal_metadata.new_remote_event = True + + event.signatures.update( + compute_event_signature( + event, + self.hs.hostname, + self.hs.config.signing_key[0] + ) + ) context = yield self.state_handler.compute_event_context(event) yield self.persist_events_and_notify([(event, context)]) @@ -1301,6 +1310,7 @@ class FederationHandler(BaseHandler): # Mark as outlier as we don't have any state for this event; we're not # even in the room. event.internal_metadata.outlier = True + event.internal_metadata.new_remote_event = True # Try the host that we succesfully called /make_leave/ on first for # the /send_leave/ request.