diff options
author | Micah Anderson <micah@riseup.net> | 2013-08-22 15:12:44 -0400 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2013-08-22 15:13:44 -0400 |
commit | 3d1d5459ee3b262c002cd116ace54ed8d5df8099 (patch) | |
tree | 465a344ea2e94011f711030807ce06ae803f7013 | |
parent | d4c8ce9ced9e416aa800f9deb8af42721d1f5a1c (diff) | |
parent | 0347bf68d394118460566c8cd5cd49c75b0825f7 (diff) |
Merge remote-tracking branch 'origin/develop' into debian
-rw-r--r-- | changes/bug_signal_events | 2 | ||||
-rw-r--r-- | changes/feature_3487-split-soledad-into-common-client-and-server | 2 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | setup.py | 2 | ||||
-rw-r--r-- | src/leap/keymanager/__init__.py | 31 | ||||
-rw-r--r-- | src/leap/keymanager/tests/test_keymanager.py | 2 |
6 files changed, 36 insertions, 9 deletions
diff --git a/changes/bug_signal_events b/changes/bug_signal_events new file mode 100644 index 0000000..6149c56 --- /dev/null +++ b/changes/bug_signal_events @@ -0,0 +1,2 @@ + o Signal different key related events, like key generation, key + upload.
\ No newline at end of file diff --git a/changes/feature_3487-split-soledad-into-common-client-and-server b/changes/feature_3487-split-soledad-into-common-client-and-server new file mode 100644 index 0000000..4698323 --- /dev/null +++ b/changes/feature_3487-split-soledad-into-common-client-and-server @@ -0,0 +1,2 @@ + o Update to new soledad package scheme (common, client and server). Closes + #3487. diff --git a/debian/changelog b/debian/changelog index 07756e7..5800212 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +leap-keymanager (0.3.1pre) unstable; urgency=low + + * Merge new version to get soledad split + + -- Micah Anderson <micah@debian.org> Thu, 22 Aug 2013 15:13:03 -0400 + leap-keymanager (0.3.0) unstable; urgency=low * Update to 0.3.0 @@ -32,7 +32,7 @@ install_requirements = [ tests_requirements = [ 'mock', - 'leap.soledad', + 'leap.soledad.client', ] diff --git a/src/leap/keymanager/__init__.py b/src/leap/keymanager/__init__.py index e6122ff..20e44fd 100644 --- a/src/leap/keymanager/__init__.py +++ b/src/leap/keymanager/__init__.py @@ -24,10 +24,11 @@ import logging import requests from leap.common.check import leap_assert, leap_assert_type -from leap.keymanager.errors import ( - KeyNotFound, - NoPasswordGiven, -) +from leap.common.events import signal +from leap.common.events import events_pb2 as proto + +from leap.keymanager.errors import KeyNotFound + from leap.keymanager.keys import ( EncryptionKey, build_key_from_dict, @@ -222,6 +223,7 @@ class KeyManager(object): self._api_version, self._uid) self._put(uri, data) + signal(proto.KEYMANAGER_DONE_UPLOADING_KEYS, self._address) def get_key(self, address, ktype, private=False, fetch_remote=True): """ @@ -246,15 +248,26 @@ class KeyManager(object): ktype in self._wrapper_map, 'Unkown key type: %s.' % str(ktype)) try: + signal(proto.KEYMANAGER_LOOKING_FOR_KEY, address) # return key if it exists in local database - return self._wrapper_map[ktype].get_key(address, private=private) + key = self._wrapper_map[ktype].get_key(address, private=private) + signal(proto.KEYMANAGER_KEY_FOUND, address) + + return key except KeyNotFound: + signal(proto.KEYMANAGER_KEY_NOT_FOUND, address) + # we will only try to fetch a key from nickserver if fetch_remote # is True and the key is not private. if fetch_remote is False or private is True: raise + + signal(proto.KEYMANAGER_LOOKING_FOR_KEY, address) self._fetch_keys_from_server(address) - return self._wrapper_map[ktype].get_key(address, private=False) + key = self._wrapper_map[ktype].get_key(address, private=False) + signal(proto.KEYMANAGER_KEY_FOUND, address) + + return key def get_all_keys_in_local_db(self, private=False): """ @@ -296,7 +309,11 @@ class KeyManager(object): :return: The generated key. :rtype: EncryptionKey """ - return self._wrapper_map[ktype].gen_key(self._address) + signal(proto.KEYMANAGER_STARTED_KEY_GENERATION, self._address) + key = self._wrapper_map[ktype].gen_key(self._address) + signal(proto.KEYMANAGER_FINISHED_KEY_GENERATION, self._address) + + return key # # Setters/getters diff --git a/src/leap/keymanager/tests/test_keymanager.py b/src/leap/keymanager/tests/test_keymanager.py index a474e32..5f232fe 100644 --- a/src/leap/keymanager/tests/test_keymanager.py +++ b/src/leap/keymanager/tests/test_keymanager.py @@ -23,7 +23,7 @@ Tests for the Key Manager. from mock import Mock from leap.common.testing.basetest import BaseLeapTest -from leap.soledad import Soledad +from leap.soledad.client import Soledad from leap.keymanager import ( KeyManager, openpgp, |