Mercurial > dovecot > core-2.2
changeset 19564:4d671a0e6219
imapc: Added imapc_features = no-examine
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Fri, 15 Jan 2016 15:40:56 +0200 |
parents | 11872411f6a0 |
children | 103896524313 |
files | src/lib-storage/index/imapc/imapc-settings.c src/lib-storage/index/imapc/imapc-settings.h src/lib-storage/index/imapc/imapc-storage.c |
diffstat | 3 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/imapc/imapc-settings.c Fri Jan 15 15:12:30 2016 +0200 +++ b/src/lib-storage/index/imapc/imapc-settings.c Fri Jan 15 15:40:56 2016 +0200 @@ -87,6 +87,7 @@ { "gmail-migration", IMAPC_FEATURE_GMAIL_MIGRATION }, { "search", IMAPC_FEATURE_SEARCH }, { "zimbra-workarounds", IMAPC_FEATURE_ZIMBRA_WORKAROUNDS }, + { "no-examine", IMAPC_FEATURE_NO_EXAMINE }, { NULL, 0 } };
--- a/src/lib-storage/index/imapc/imapc-settings.h Fri Jan 15 15:12:30 2016 +0200 +++ b/src/lib-storage/index/imapc/imapc-settings.h Fri Jan 15 15:40:56 2016 +0200 @@ -10,7 +10,8 @@ IMAPC_FEATURE_FETCH_HEADERS = 0x04, IMAPC_FEATURE_GMAIL_MIGRATION = 0x08, IMAPC_FEATURE_SEARCH = 0x10, - IMAPC_FEATURE_ZIMBRA_WORKAROUNDS = 0x20 + IMAPC_FEATURE_ZIMBRA_WORKAROUNDS = 0x20, + IMAPC_FEATURE_NO_EXAMINE = 0x40 }; /* </settings checks> */
--- a/src/lib-storage/index/imapc/imapc-storage.c Fri Jan 15 15:12:30 2016 +0200 +++ b/src/lib-storage/index/imapc/imapc-storage.c Fri Jan 15 15:40:56 2016 +0200 @@ -441,6 +441,12 @@ static bool imapc_mailbox_want_examine(struct imapc_mailbox *mbox) { + if (IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_NO_EXAMINE)) { + /* mainly a Courier-workaround: With POP3-only Maildir that + doesn't have UIDVALIDITY set, EXAMINE won't generate a + permanent UIDVALIDITY while SELECT will. */ + return FALSE; + } return (mbox->box.flags & MAILBOX_FLAG_DROP_RECENT) == 0 && ((mbox->box.flags & MAILBOX_FLAG_READONLY) != 0 || (mbox->box.flags & MAILBOX_FLAG_SAVEONLY) != 0);