summary refs log tree commit diff
path: root/synapse/rest/key
diff options
context:
space:
mode:
authorPatrick Cloke <clokep@users.noreply.github.com>2020-07-15 13:40:54 -0400
committerGitHub <noreply@github.com>2020-07-15 13:40:54 -0400
commit35450519dee869e5641cff94ed35acd3bdaa8a42 (patch)
tree7b751cbd3ccb987885fa2665ca55d6be803747c5 /synapse/rest/key
parentAvoid brand new rooms in `delete_old_current_state_events` (#7854) (diff)
downloadsynapse-35450519dee869e5641cff94ed35acd3bdaa8a42.tar.xz
Ensure that calls to `json.dumps` are compatible with the standard library json. (#7836)
Diffstat (limited to 'synapse/rest/key')
-rw-r--r--synapse/rest/key/v2/remote_key_resource.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/synapse/rest/key/v2/remote_key_resource.py b/synapse/rest/key/v2/remote_key_resource.py
index e149ac1733..9b3f85b306 100644
--- a/synapse/rest/key/v2/remote_key_resource.py
+++ b/synapse/rest/key/v2/remote_key_resource.py
@@ -202,9 +202,11 @@ class RemoteKey(DirectServeJsonResource):
 
                 if miss:
                     cache_misses.setdefault(server_name, set()).add(key_id)
+                # Cast to bytes since postgresql returns a memoryview.
                 json_results.add(bytes(most_recent_result["key_json"]))
             else:
                 for ts_added, result in results:
+                    # Cast to bytes since postgresql returns a memoryview.
                     json_results.add(bytes(result["key_json"]))
 
         if cache_misses and query_remote_on_cache_miss:
@@ -213,7 +215,7 @@ class RemoteKey(DirectServeJsonResource):
         else:
             signed_keys = []
             for key_json in json_results:
-                key_json = json.loads(key_json)
+                key_json = json.loads(key_json.decode("utf-8"))
                 for signing_key in self.config.key_server_signing_keys:
                     key_json = sign_json(key_json, self.config.server_name, signing_key)