summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Pollan <meskio@sindominio.net>2015-09-22 16:18:36 +0200
committerRuben Pollan <meskio@sindominio.net>2015-09-22 17:42:13 +0200
commitf94e3aff14295821d28be0dbf3f4b40df980271c (patch)
tree17864ccacc15e1242ab8db59737ef4774b7242ec
parentd5564316c37c4402b3eabb370b4bf27da3c75463 (diff)
[bug] catch request exceptions
On fetch_key we were not catching the request exceptions, now they are returned as failure in the deferred as it should. - Related: #7410
-rw-r--r--keymanager/changes/bug-7410_fetch_key1
-rw-r--r--keymanager/src/leap/keymanager/__init__.py6
2 files changed, 6 insertions, 1 deletions
diff --git a/keymanager/changes/bug-7410_fetch_key b/keymanager/changes/bug-7410_fetch_key
new file mode 100644
index 0000000..4aec9fe
--- /dev/null
+++ b/keymanager/changes/bug-7410_fetch_key
@@ -0,0 +1 @@
+- catch request exceptions on key fetching
diff --git a/keymanager/src/leap/keymanager/__init__.py b/keymanager/src/leap/keymanager/__init__.py
index 5248cb0..e378c91 100644
--- a/keymanager/src/leap/keymanager/__init__.py
+++ b/keymanager/src/leap/keymanager/__init__.py
@@ -820,7 +820,11 @@ class KeyManager(object):
self._assert_supported_key_type(ktype)
logger.info("Fetch key for %s from %s" % (address, uri))
- res = self._get_with_combined_ca_bundle(uri)
+ try:
+ res = self._get_with_combined_ca_bundle(uri)
+ except Exception as e:
+ logger.warning("There was a problem fetching key: %s" % (e,))
+ return defer.fail(KeyNotFound(uri))
if not res.ok:
return defer.fail(KeyNotFound(uri))