diff options
author | Tulio Casagrande <tuliocasagrande@gmail.com> | 2017-01-13 11:15:58 -0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-13 11:15:58 -0200 |
commit | d1abd01290117aa957b24a9de3f343c296d7364e (patch) | |
tree | de65b866d800f7ac67c1122cee806c497c07fc2a /service/pixelated/config | |
parent | e26490d52b7f5faafcd1b1595e07465c69ed1cc5 (diff) | |
parent | ea44f5e82edccc8f35245f5df305ec68a7ff8b79 (diff) |
Merge pull request #906 from pixelated/key_expiry
Close session when UploadKeyError occurs
Diffstat (limited to 'service/pixelated/config')
-rw-r--r-- | service/pixelated/config/sessions.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/service/pixelated/config/sessions.py b/service/pixelated/config/sessions.py index ec5e1c0e..439ca9b3 100644 --- a/service/pixelated/config/sessions.py +++ b/service/pixelated/config/sessions.py @@ -19,7 +19,7 @@ from leap.common.events import ( catalog as events ) -from pixelated.bitmask_libraries.keymanager import Keymanager +from pixelated.bitmask_libraries.keymanager import Keymanager, UploadKeyError from pixelated.adapter.mailstore import LeapMailStore from pixelated.config import leap_config from pixelated.bitmask_libraries.certs import LeapCertificate @@ -156,7 +156,13 @@ class LeapSession(object): @defer.inlineCallbacks def finish_bootstrap(self): - yield self.keymanager.generate_openpgp_key() + try: + yield self.keymanager.generate_openpgp_key() + except UploadKeyError as e: + logger.warn('{0}: {1}. Closing session for user: {2}'.format(e.__class__.__name__, e, self.account_email())) + self.close() + raise + yield self._create_account(self.soledad, self.user_auth.uuid) self.incoming_mail_fetcher = yield self._create_incoming_mail_fetcher( self.keymanager, |