diff options
Diffstat (limited to 'keymanager')
| -rw-r--r-- | keymanager/CHANGELOG | 6 | ||||
| -rw-r--r-- | keymanager/README.rst | 4 | ||||
| -rw-r--r-- | keymanager/src/leap/keymanager/__init__.py | 15 | ||||
| -rw-r--r-- | keymanager/src/leap/keymanager/keys.py | 2 | ||||
| -rw-r--r-- | keymanager/src/leap/keymanager/openpgp.py | 4 | 
5 files changed, 23 insertions, 8 deletions
diff --git a/keymanager/CHANGELOG b/keymanager/CHANGELOG index d2e45aa..9cd53b3 100644 --- a/keymanager/CHANGELOG +++ b/keymanager/CHANGELOG @@ -1,3 +1,9 @@ +0.3.2 Sep 6: +  o Do not raise exception when a GET request doesn't return 2XX +    code. Nickserver uses error codes for more verbosity in the +    result. +  o Accept unicode ascii keys along with str. +  0.3.1 Aug 23:    o Signal different key related events, like key generation, key      upload. diff --git a/keymanager/README.rst b/keymanager/README.rst index f542214..8aedfb4 100644 --- a/keymanager/README.rst +++ b/keymanager/README.rst @@ -1,6 +1,8 @@  LEAP's Key Manager  ================== +.. image:: https://pypip.in/v/leap.keymanager/badge.png +        :target: https://crate.io/packages/leap.keymanager -The Key Manager is a Nicknym agent for LEAP client: +The Key Manager is a Nicknym agent for the LEAP project:    https://leap.se/pt/docs/design/nicknym diff --git a/keymanager/src/leap/keymanager/__init__.py b/keymanager/src/leap/keymanager/__init__.py index 05cbcca..2f39ad9 100644 --- a/keymanager/src/leap/keymanager/__init__.py +++ b/keymanager/src/leap/keymanager/__init__.py @@ -127,11 +127,16 @@ class KeyManager(object):              self._ca_cert_path is not None,              'We need the CA certificate path!')          res = self._fetcher.get(uri, data=data, verify=self._ca_cert_path) -        # assert that the response is valid -        res.raise_for_status() -        leap_assert( -            res.headers['content-type'].startswith('application/json'), -            'Content-type is not JSON.') +        # Nickserver now returns 404 for key not found and 500 for +        # other cases (like key too small), so we are skipping this +        # check for the time being +        # res.raise_for_status() + +        # Responses are now text/plain, although it's json anyway, but +        # this will fail when it shouldn't +        # leap_assert( +        #     res.headers['content-type'].startswith('application/json'), +        #     'Content-type is not JSON.')          return res      def _put(self, uri, data=None): diff --git a/keymanager/src/leap/keymanager/keys.py b/keymanager/src/leap/keymanager/keys.py index 1c33745..b8e88d4 100644 --- a/keymanager/src/leap/keymanager/keys.py +++ b/keymanager/src/leap/keymanager/keys.py @@ -219,6 +219,8 @@ class EncryptionScheme(object):          """          Initialize the database indexes.          """ +        leap_assert(self._soledad is not None, +                    "Cannot init indexes with null soledad")          # Ask the database for currently existing indexes.          db_indexes = dict(self._soledad.list_indexes())          # Loop through the indexes we expect to find. diff --git a/keymanager/src/leap/keymanager/openpgp.py b/keymanager/src/leap/keymanager/openpgp.py index aa04ed0..7946db8 100644 --- a/keymanager/src/leap/keymanager/openpgp.py +++ b/keymanager/src/leap/keymanager/openpgp.py @@ -301,9 +301,9 @@ class OpenPGPScheme(EncryptionScheme):          Put key contained in ascii-armored C{key_data} in local storage.          :param key_data: The key data to be stored. -        :type key_data: str +        :type key_data: str or unicode          """ -        leap_assert_type(key_data, str) +        leap_assert_type(key_data, (str, unicode))          # TODO: add more checks for correct key data.          leap_assert(key_data is not None, 'Data does not represent a key.')  | 
