diff options
-rw-r--r-- | keymanager/changes/bug_dont_fail_if_nickserver_does | 1 | ||||
-rw-r--r-- | keymanager/src/leap/keymanager/__init__.py | 21 |
2 files changed, 16 insertions, 6 deletions
diff --git a/keymanager/changes/bug_dont_fail_if_nickserver_does b/keymanager/changes/bug_dont_fail_if_nickserver_does new file mode 100644 index 00000000..6e44d931 --- /dev/null +++ b/keymanager/changes/bug_dont_fail_if_nickserver_does @@ -0,0 +1 @@ + o If a nickserver request fails in any way, notify and continue.
\ No newline at end of file diff --git a/keymanager/src/leap/keymanager/__init__.py b/keymanager/src/leap/keymanager/__init__.py index d24e08e4..e6122ffb 100644 --- a/keymanager/src/leap/keymanager/__init__.py +++ b/keymanager/src/leap/keymanager/__init__.py @@ -20,6 +20,7 @@ Key Manager is a Nicknym agent for LEAP client. """ +import logging import requests from leap.common.check import leap_assert, leap_assert_type @@ -38,6 +39,8 @@ from leap.keymanager.openpgp import ( OpenPGPScheme, ) +logger = logging.getLogger(__name__) + # # The Key Manager @@ -170,12 +173,18 @@ class KeyManager(object): @raise KeyNotFound: If the key was not found on nickserver. """ # request keys from the nickserver - server_keys = self._get( - self._nickserver_uri, {'address': address}).json() - # insert keys in local database - if self.OPENPGP_KEY in server_keys: - self._wrapper_map[OpenPGPKey].put_ascii_key( - server_keys['openpgp']) + res = None + try: + res = self._get(self._nickserver_uri, {'address': address}) + server_keys = res.json() + # insert keys in local database + if self.OPENPGP_KEY in server_keys: + self._wrapper_map[OpenPGPKey].put_ascii_key( + server_keys['openpgp']) + except Exception as e: + logger.warning("Error retrieving the keys: %r" % (e,)) + if res: + logger.warning("%s" % (res.content,)) # # key management |