implement federation parts of cross-signing

This commit is contained in:
Hubert Chathi 2019-05-22 16:42:00 -04:00
parent 2761731634
commit 8d3542a64e
4 changed files with 179 additions and 10 deletions

View file

@ -458,7 +458,18 @@ class DeviceHandler(DeviceWorkerHandler):
@defer.inlineCallbacks
def on_federation_query_user_devices(self, user_id):
stream_id, devices = yield self.store.get_devices_with_keys_by_user(user_id)
return {"user_id": user_id, "stream_id": stream_id, "devices": devices}
master_key = yield self.store.get_e2e_cross_signing_key(user_id, "master")
self_signing_key = yield self.store.get_e2e_cross_signing_key(
user_id, "self_signing"
)
return {
"user_id": user_id,
"stream_id": stream_id,
"devices": devices,
"master_key": master_key,
"self_signing_key": self_signing_key
}
@defer.inlineCallbacks
def user_left_room(self, user, room_id):