Fix MSC3983 support: only one OTK per device was returned through federation (#15770)

This commit is contained in:
Mathieu Velten 2023-06-13 19:51:47 +02:00 committed by GitHub
parent 0757d59ec4
commit 59ec4a0dc1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

1
changelog.d/15770.bugfix Normal file
View File

@ -0,0 +1 @@
Fix requesting multiple keys at once over federation, related to [MSC3983](https://github.com/matrix-org/matrix-spec-proposals/pull/3983).

View File

@ -1016,7 +1016,9 @@ class FederationServer(FederationBase):
for user_id, device_keys in result.items(): for user_id, device_keys in result.items():
for device_id, keys in device_keys.items(): for device_id, keys in device_keys.items():
for key_id, key in keys.items(): for key_id, key in keys.items():
json_result.setdefault(user_id, {})[device_id] = {key_id: key} json_result.setdefault(user_id, {}).setdefault(device_id, {})[
key_id
] = key
logger.info( logger.info(
"Claimed one-time-keys: %s", "Claimed one-time-keys: %s",