summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/mail/imap/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/bitmask/mail/imap/server.py')
-rw-r--r--src/leap/bitmask/mail/imap/server.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/leap/bitmask/mail/imap/server.py b/src/leap/bitmask/mail/imap/server.py
index 9eef6e83..502db773 100644
--- a/src/leap/bitmask/mail/imap/server.py
+++ b/src/leap/bitmask/mail/imap/server.py
@@ -246,10 +246,12 @@ class LEAPIMAPServer(imap4.IMAP4Server):
d1 = defer.maybeDeferred(mbox.getMessageCount)
d2 = defer.maybeDeferred(mbox.getRecentCount)
- return defer.gatherResults([d1, d2]).addCallback(
+ d3 = defer.maybeDeferred(mbox.getUIDNext)
+ return defer.gatherResults([d1, d2, d3]).addCallback(
self.__cbSelectWork, mbox, cmdName, tag)
- def __cbSelectWork(self, ((msg_count, recent_count)), mbox, cmdName, tag):
+ def __cbSelectWork(self, ((msg_count, recent_count, uid_next)),
+ mbox, cmdName, tag):
flags = mbox.getFlags()
self.sendUntaggedResponse('FLAGS (%s)' % ' '.join(flags))
@@ -265,6 +267,10 @@ class LEAPIMAPServer(imap4.IMAP4Server):
self.sendPositiveResponse(
None, '[UIDVALIDITY %d] UIDs valid' % mbox.getUIDValidity())
# ----------------------------------------------------------------
+ # Patched ---------------------------------------------------------
+ # send UIDNEXT too
+ self.sendPositiveResponse(None, '[UIDNEXT %d]' % uid_next)
+ # ----------------------------------------------------------------
s = mbox.isWriteable() and 'READ-WRITE' or 'READ-ONLY'
mbox.addListener(self)