summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorMark Haines <mjark@negativecurvature.net>2016-07-27 15:08:14 +0100
committerGitHub <noreply@github.com>2016-07-27 15:08:14 +0100
commit09d31815b47f5b135bda4ad306403124e1275308 (patch)
treeb45cc99ddae7081b60e4264d8d5d92201b6ed30e /synapse
parentMerge pull request #952 from matrix-org/markjh/more_fixes (diff)
parentFix a couple of bugs in the transaction and keyring code (diff)
downloadsynapse-09d31815b47f5b135bda4ad306403124e1275308.tar.xz
Merge pull request #954 from matrix-org/markjh/even_more_fixes
Fix a couple of bugs in the transaction and keyring code
Diffstat (limited to 'synapse')
-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