diff options
author | Hubert Chathi <hubert@uhoreg.ca> | 2020-02-04 12:03:54 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-04 12:03:54 -0500 |
commit | 74bf3fdbb98ab8654a90bfd72a0b067ea7413f8f (patch) | |
tree | 15f395ffa138ff83a7af9d13aafd41b68a716a81 | |
parent | Update CONTRIBUTING.md about merging PRs. (#6846) (diff) | |
parent | add changelog (diff) | |
download | synapse-74bf3fdbb98ab8654a90bfd72a0b067ea7413f8f.tar.xz |
Merge pull request #6844 from matrix-org/uhoreg/cross_signing_fix_device_fed
add device signatures to device key query results
-rw-r--r-- | changelog.d/6844.bugfix | 1 | ||||
-rw-r--r-- | synapse/storage/data_stores/main/devices.py | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/changelog.d/6844.bugfix b/changelog.d/6844.bugfix new file mode 100644 index 0000000000..e84aa1029f --- /dev/null +++ b/changelog.d/6844.bugfix @@ -0,0 +1 @@ +Fix an issue with cross-signing where device signatures were not sent to remote servers. diff --git a/synapse/storage/data_stores/main/devices.py b/synapse/storage/data_stores/main/devices.py index ea0503476f..b7617efb80 100644 --- a/synapse/storage/data_stores/main/devices.py +++ b/synapse/storage/data_stores/main/devices.py @@ -320,6 +320,11 @@ class DeviceWorkerStore(SQLBaseStore): device_display_name = device.get("device_display_name", None) if device_display_name: result["device_display_name"] = device_display_name + if "signatures" in device: + for sig_user_id, sigs in device["signatures"].items(): + result["keys"].setdefault("signatures", {}).setdefault( + sig_user_id, {} + ).update(sigs) else: result["deleted"] = True @@ -524,6 +529,11 @@ class DeviceWorkerStore(SQLBaseStore): device_display_name = device.get("device_display_name", None) if device_display_name: result["device_display_name"] = device_display_name + if "signatures" in device: + for sig_user_id, sigs in device["signatures"].items(): + result["keys"].setdefault("signatures", {}).setdefault( + sig_user_id, {} + ).update(sigs) results.append(result) |