summary refs log tree commit diff
path: root/synapse/crypto
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-05-19 13:43:34 +0100
committerErik Johnston <erik@matrix.org>2015-05-19 14:42:38 +0100
commit253f76a0a544982cee2e908bf73ad450c7321fcb (patch)
tree3e32903b8c798106a0e6e90de272d7d2932e645b /synapse/crypto
parentDisable GZip encoding on static file resources as per comment (diff)
downloadsynapse-253f76a0a544982cee2e908bf73ad450c7321fcb.tar.xz
Don't always hit get_server_verify_key_v1_direct
Diffstat (limited to 'synapse/crypto')
-rw-r--r--synapse/crypto/keyring.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py
index 2a5a8914c0..35f9ac3517 100644
--- a/synapse/crypto/keyring.py
+++ b/synapse/crypto/keyring.py
@@ -164,12 +164,17 @@ class Keyring(object):
                     keys = yield self.get_server_verify_key_v2_direct(
                         server_name, key_ids
                     )
-                except:
-                    pass
+                except Exception as e:
+                    logging.info(
+                        "Unable to getting key %r for %r directly: %s %s",
+                        key_ids, server_name,
+                        type(e).__name__, str(e.message),
+                    )
 
-            keys = yield self.get_server_verify_key_v1_direct(
-                server_name, key_ids
-            )
+            if keys is None:
+                keys = yield self.get_server_verify_key_v1_direct(
+                    server_name, key_ids
+                )
 
         for key_id in key_ids:
             if key_id in keys: