summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/keymanager/__init__.py
diff options
context:
space:
mode:
authorNavaL <ayoyo@thoughtworks.com>2016-11-21 12:07:10 +0100
committerRuben Pollan <meskio@sindominio.net>2017-12-03 20:43:30 +0100
commit0454dc3545693a8c6325f4864d89154c514b3bcb (patch)
tree157a12a02cccca3184814ba8b059a8648b2cea54 /src/leap/bitmask/keymanager/__init__.py
parente5c567d79557eecbd708f4fabe8d04c92cf66ea1 (diff)
[feat] reset sign_used flag after regenerating key pair
- this flag is used by leap.mail to attach the new key
Diffstat (limited to 'src/leap/bitmask/keymanager/__init__.py')
-rw-r--r--src/leap/bitmask/keymanager/__init__.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/leap/bitmask/keymanager/__init__.py b/src/leap/bitmask/keymanager/__init__.py
index 483c7e51..a273b87d 100644
--- a/src/leap/bitmask/keymanager/__init__.py
+++ b/src/leap/bitmask/keymanager/__init__.py
@@ -330,6 +330,7 @@ class KeyManager(object):
d.addCallback(signal_finished)
return d
+ @defer.inlineCallbacks
def regenerate_key(self):
"""
Regenerate a key bound to the user's address.
@@ -345,9 +346,12 @@ class KeyManager(object):
self.log.info('Regenerating key for %s.' % self._address)
emit_async(catalog.KEYMANAGER_STARTED_KEY_GENERATION, self._address)
- d = self._openpgp.regenerate_key(self._address)
- d.addCallback(signal_finished)
- return d
+ new_key = yield self._openpgp.regenerate_key(self._address)
+ yield self._openpgp.reset_all_keys_sign_used()
+ emit_async(
+ catalog.KEYMANAGER_FINISHED_KEY_GENERATION, self._address)
+
+ defer.returnValue(new_key)
#
# Setters/getters