diff options
| author | Tomas Touceda <chiiph@leap.se> | 2013-05-02 15:02:33 -0300 | 
|---|---|---|
| committer | drebs <drebs@leap.se> | 2013-05-02 21:18:20 -0300 | 
| commit | 170cd90f593a106ea7730babde310724410a585e (patch) | |
| tree | a0bea83a48de1ff2cc09ea2aad9fb0ed5e6e6f87 /src | |
| parent | 852a0fa34a94b588f66e2af0aa628d058c243fd3 (diff) | |
Various fixes
Diffstat (limited to 'src')
| -rw-r--r-- | src/leap/common/keymanager/__init__.py | 18 | ||||
| -rw-r--r-- | src/leap/common/keymanager/keys.py | 4 | ||||
| -rw-r--r-- | src/leap/common/keymanager/openpgp.py | 3 | ||||
| -rw-r--r-- | src/leap/common/tests/test_keymanager.py | 3 | 
4 files changed, 15 insertions, 13 deletions
| diff --git a/src/leap/common/keymanager/__init__.py b/src/leap/common/keymanager/__init__.py index 8db3b3c..01dc0da 100644 --- a/src/leap/common/keymanager/__init__.py +++ b/src/leap/common/keymanager/__init__.py @@ -20,14 +20,16 @@  Key Manager is a Nicknym agent for LEAP client.  """ -import httplib  import requests +try: +    import simplejson as json +except ImportError: +    import json  # noqa  from leap.common.check import leap_assert  from leap.common.keymanager.errors import (      KeyNotFound, -    KeyAlreadyExists,  )  from leap.common.keymanager.keys import (      build_key_from_dict, @@ -108,12 +110,12 @@ class KeyManager(object):          response.          """          response = requests.get(self._nickserver_url+path) -        leap_assert(r.status_code == 200, 'Invalid response.') +        leap_assert(response.status_code == 200, 'Invalid response.')          leap_assert(              response.headers['content-type'].startswith('application/json')                  is True,              'Content-type is not JSON.') -        return r.json() +        return response.json()      #      # key management @@ -132,8 +134,6 @@ class KeyManager(object):          will be saved in the server in a way it is publicly retrievable          through the hash string. -        @param address: The address bound to the key. -        @type address: str          @param ktype: The type of the key.          @type ktype: KeyType @@ -154,10 +154,10 @@ class KeyManager(object):          if send_private:              privkey = json.loads(                  self.get_key(self._address, ktype, private=True).get_json()) -            privkey.key_data = encrypt_sym(data, passphrase) +            privkey.key_data = encrypt_sym(data, password)              data['keys'].append(privkey)          requests.put( -            self._nickserver_url + '/key/' + address, +            self._nickserver_url + '/key/' + self._address,              data=data,              auth=(self._address, None))  # TODO: replace for token-based auth. @@ -198,7 +198,7 @@ class KeyManager(object):                  'Got more than one key of type %s for %s.' %                  (str(ktype), address))              self._wrapper_map[ktype].put_key(keys[0]) -            return key +            return self._wrapper_map[ktype].get_key(address, private=private)      def fetch_keys_from_server(self, address):          """ diff --git a/src/leap/common/keymanager/keys.py b/src/leap/common/keymanager/keys.py index 453e0ed..2e6bfe9 100644 --- a/src/leap/common/keymanager/keys.py +++ b/src/leap/common/keymanager/keys.py @@ -194,6 +194,7 @@ class EncryptionScheme(object):          @rtype: EncryptionKey          @raise KeyNotFound: If the key was not found on local storage.          """ +        pass      @abstractmethod      def put_key(self, key): @@ -203,6 +204,7 @@ class EncryptionScheme(object):          @param key: The key to be stored.          @type key: EncryptionKey          """ +        pass      @abstractmethod      def gen_key(self, address): @@ -215,6 +217,7 @@ class EncryptionScheme(object):          @return: The key bound to C{address}.          @rtype: EncryptionKey          """ +        pass      @abstractmethod      def delete_key(self, key): @@ -224,3 +227,4 @@ class EncryptionScheme(object):          @param key: The key to be removed.          @type key: EncryptionKey          """ +        pass diff --git a/src/leap/common/keymanager/openpgp.py b/src/leap/common/keymanager/openpgp.py index 94d55cc..e2ffe76 100644 --- a/src/leap/common/keymanager/openpgp.py +++ b/src/leap/common/keymanager/openpgp.py @@ -29,6 +29,7 @@ from leap.common.check import leap_assert  from leap.common.keymanager.errors import (      KeyNotFound,      KeyAlreadyExists, +    KeyAttributesDiffer  )  from leap.common.keymanager.keys import (      EncryptionKey, @@ -450,7 +451,7 @@ class OpenPGPScheme(EncryptionScheme):          leap_assert(key.__class__ is OpenPGPKey, 'Wrong key type.')          stored_key = self.get_key(key.address, private=key.private)          if stored_key is None: -            raise KeyDoesNotExist(key) +            raise KeyNotFound(key)          if stored_key.__dict__ != key.__dict__:              raise KeyAttributesDiffer(key)          doc = self._soledad.get_doc( diff --git a/src/leap/common/tests/test_keymanager.py b/src/leap/common/tests/test_keymanager.py index 9bf394d..32bd1fd 100644 --- a/src/leap/common/tests/test_keymanager.py +++ b/src/leap/common/tests/test_keymanager.py @@ -21,9 +21,6 @@ Tests for the Key Manager.  """ -import unittest - -  from leap.common.testing.basetest import BaseLeapTest  from leap.soledad import Soledad  from leap.soledad.crypto import SoledadCrypto | 
