summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2016-07-26 19:19:08 +0100
committerMark Haines <mark.haines@matrix.org>2016-07-26 19:19:08 +0100
commit87ffd21b291a503fd47ba938b32658c9f475aed5 (patch)
tree72b7f1e639261da8527ba10b086afd7e1e4151a3
parentMerge pull request #953 from matrix-org/rav/requester (diff)
downloadsynapse-87ffd21b291a503fd47ba938b32658c9f475aed5.tar.xz
Fix a couple of bugs in the transaction and keyring code
-rw-r--r--synapse/crypto/keyring.py17
-rw-r--r--synapse/storage/transactions.py3
2 files changed, 11 insertions, 9 deletions
diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py
index d08ee0aa91..826845f695 100644
--- a/synapse/crypto/keyring.py
+++ b/synapse/crypto/keyring.py
@@ -275,14 +275,15 @@ class Keyring(object):
                     for server_name, groups in missing_groups.items()
                 }
 
-            for group in missing_groups.values():
-                group_id_to_deferred[group.group_id].errback(SynapseError(
-                    401,
-                    "No key for %s with id %s" % (
-                        group.server_name, group.key_ids,
-                    ),
-                    Codes.UNAUTHORIZED,
-                ))
+            for groups in missing_groups.values():
+                for group in groups:
+                    group_id_to_deferred[group.group_id].errback(SynapseError(
+                        401,
+                        "No key for %s with id %s" % (
+                            group.server_name, group.key_ids,
+                        ),
+                        Codes.UNAUTHORIZED,
+                    ))
 
         def on_err(err):
             for deferred in group_id_to_deferred.values():
diff --git a/synapse/storage/transactions.py b/synapse/storage/transactions.py
index 6c7481a728..6258ff1725 100644
--- a/synapse/storage/transactions.py
+++ b/synapse/storage/transactions.py
@@ -24,6 +24,7 @@ from collections import namedtuple
 
 import itertools
 import logging
+import ujson as json
 
 logger = logging.getLogger(__name__)
 
@@ -101,7 +102,7 @@ class TransactionStore(SQLBaseStore):
         )
 
         if result and result["response_code"]:
-            return result["response_code"], result["response_json"]
+            return result["response_code"], json.loads(str(result["response_json"]))
         else:
             return None