diff options
| author | Don Sanders <don.sanders@nokia.com> | 2011-12-21 16:07:46 +0200 |
|---|---|---|
| committer | Don Sanders <don.sanders@nokia.com> | 2011-12-21 16:07:46 +0200 |
| commit | 3553875817803f6edc48d533f48f87b9734451bd (patch) | |
| tree | dedbd435fe5d4d806d036f008f2b070d39e17f45 | |
| parent | 28231da1c21dec24c602d8c38ab421de32ad9581 (diff) | |
Detect removed messages on imap servers that don't provide UIDNEXT
Ensure removed messages are detected on IMAP servers that don't
provide a UIDNEXT response when a folder is SELECTed.
A UIDNEXT response MUST be sent according to RFC 3501 section 6.3.1
but some servers such as Courier don't provide it.
| -rw-r--r-- | src/plugins/messageservices/imap/imapstrategy.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/messageservices/imap/imapstrategy.cpp b/src/plugins/messageservices/imap/imapstrategy.cpp index fc2196dc..b7108fca 100644 --- a/src/plugins/messageservices/imap/imapstrategy.cpp +++ b/src/plugins/messageservices/imap/imapstrategy.cpp @@ -3453,6 +3453,10 @@ void ImapRetrieveMessageListStrategy::handleFetchFlags(ImapStrategyContextBase * int serverMinimum = properties.uidNext; int serverMaximum = properties.uidNext; + if (!trueClientRegion.isEmpty()) { + // Workaround for imap servers that don't return a UIDNEXT response when a folder is SELECTed + serverMaximum = qMax(serverMaximum, trueClientRegion.maximum()); + } if (rawServerRegion.cardinality()) { // Found region on server serverMinimum = rawServerRegion.minimum(); |
