summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-08-13 15:12:51 -0300
committerTomás Touceda <chiiph@leap.se>2013-08-13 15:12:51 -0300
commit63022878d0e93f87c7e866ca143109d9cf1111f5 (patch)
treecf2aee16446b6558db4cd28ffb5e5d85eec05c93 /mail
parent7cf45f776fcf1d4d401a2fa55d034d2ddffd3591 (diff)
Ignore empty emails
Diffstat (limited to 'mail')
-rw-r--r--mail/changes/bug_dont_fail_on_emtpy_mail2
-rw-r--r--mail/src/leap/mail/imap/fetch.py5
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 00000000..0fc4ffc8
--- /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 9b76592f..4a939fd3 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