summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-11-26 16:33:48 -0300
committerTomás Touceda <chiiph@leap.se>2013-11-26 16:33:48 -0300
commit9fd987bb876171e419213bd710e4656ce86d73a6 (patch)
tree90d9c4853d59d801f42eeb64301dae0a45b9a7fa /mail
parenta2e5041f87716d10e28e97428188e29506f2e089 (diff)
parent61e84cee60ef1490ddf3bd82eec1d20e8e294ceb (diff)
Merge remote-tracking branch 'refs/remotes/kali/bug/mailbox-fixes' into develop
Diffstat (limited to 'mail')
-rw-r--r--mail/changes/bug_fix-empty-flags1
-rw-r--r--mail/changes/bug_fix-iteration-empty-mailbox1
-rw-r--r--mail/src/leap/mail/imap/server.py11
3 files changed, 10 insertions, 3 deletions
diff --git a/mail/changes/bug_fix-empty-flags b/mail/changes/bug_fix-empty-flags
new file mode 100644
index 00000000..a109ef56
--- /dev/null
+++ b/mail/changes/bug_fix-empty-flags
@@ -0,0 +1 @@
+ o Fix a bug when adding a message with empty flags. Closes: #4496
diff --git a/mail/changes/bug_fix-iteration-empty-mailbox b/mail/changes/bug_fix-iteration-empty-mailbox
new file mode 100644
index 00000000..11dd770c
--- /dev/null
+++ b/mail/changes/bug_fix-iteration-empty-mailbox
@@ -0,0 +1 @@
+ o Allow to iterate in an empty mailbox during fetch. Closes: #4603
diff --git a/mail/src/leap/mail/imap/server.py b/mail/src/leap/mail/imap/server.py
index bb2830d9..733944c6 100644
--- a/mail/src/leap/mail/imap/server.py
+++ b/mail/src/leap/mail/imap/server.py
@@ -1438,12 +1438,14 @@ class SoledadMailbox(WithMsgFields):
"""
# XXX we should treat the message as an IMessage from here
uid_next = self.getUIDNext()
- flags = tuple(str(flag) for flag in flags)
+ if flags is None:
+ flags = tuple()
+ else:
+ flags = tuple(str(flag) for flag in flags)
self.messages.add_msg(message, flags=flags, date=date,
uid=uid_next)
- # XXX recent should not include deleted...??
exists = len(self.messages)
recent = len(self.messages.get_recent())
for listener in self.listeners:
@@ -1512,7 +1514,10 @@ class SoledadMailbox(WithMsgFields):
except TypeError:
# looks like we cannot iterate
last = self.messages.get_last()
- uid_last = last.getUID()
+ if last is None:
+ uid_last = 1
+ else:
+ uid_last = last.getUID()
messages.last = uid_last
# for sequence numbers (uid = 0)