diff options
| -rw-r--r-- | mail/changes/bug_dont_fail_on_emtpy_mail | 2 | ||||
| -rw-r--r-- | mail/src/leap/mail/imap/fetch.py | 5 | 
2 files changed, 5 insertions, 2 deletions
| diff --git a/mail/changes/bug_dont_fail_on_emtpy_mail b/mail/changes/bug_dont_fail_on_emtpy_mail new file mode 100644 index 0000000..0fc4ffc --- /dev/null +++ b/mail/changes/bug_dont_fail_on_emtpy_mail @@ -0,0 +1,2 @@ +  o Do not fail while processing an empty mail, just skip it. Fixes +    #3457.
\ No newline at end of file diff --git a/mail/src/leap/mail/imap/fetch.py b/mail/src/leap/mail/imap/fetch.py index 9b76592..4a939fd 100644 --- a/mail/src/leap/mail/imap/fetch.py +++ b/mail/src/leap/mail/imap/fetch.py @@ -125,14 +125,15 @@ class LeapIncomingMail(object):                  # XXX should check for _enc_scheme == "pubkey" || "none"                  # that is what incoming mail uses.                  encdata = doc.content[self.ENC_JSON_KEY] -                d = defer.Deferred(self._decrypt_msg(doc, encdata)) -                d.addCallbacks(self._process_decrypted, log.msg) +                defer.Deferred(self._decrypt_msg(doc, encdata))              else:                  logger.debug('This does not look like a proper msg.')      def _decrypt_msg(self, doc, encdata):          log.msg('decrypting msg')          key = self._pkey +        if len(encdata) == 0: +            return          decrdata = (self._keymanager.decrypt(              encdata, key,              # XXX get from public method instead | 
