[dovecot/core] e12a82: lib-storage: If mail_index_header.first_recent_uid...
GitHub
noreply at github.com
Tue Jul 18 13:30:09 EEST 2017
Branch: refs/heads/master
Home: https://github.com/dovecot/core
Commit: e12a822e72e86d1b28196790323220dcb1c42430
https://github.com/dovecot/core/commit/e12a822e72e86d1b28196790323220dcb1c42430
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-07-18 (Tue, 18 Jul 2017)
Changed paths:
M src/lib-storage/index/index-storage.h
M src/lib-storage/index/index-sync.c
Log Message:
-----------
lib-storage: If mail_index_header.first_recent_uid shrinks, reset \Recent flags
This should never happen.
Commit: e1c762cb4c9cce5e7677ad1906ead2a951403ddf
https://github.com/dovecot/core/commit/e1c762cb4c9cce5e7677ad1906ead2a951403ddf
Author: Timo Sirainen <timo.sirainen at dovecot.fi>
Date: 2017-07-18 (Tue, 18 Jul 2017)
Changed paths:
M src/lib-storage/index/index-mail.c
Log Message:
-----------
lib-storage: Don't allow removing \Recent flags with mail_update_flags()
Reverts an ancient commit 7deb24e7453249d09741641bff0f269f68165033. I don't
know why it was added in the first place. Normally \Recent flags are
removed during sync with MAIL_INDEX_SYNC_FLAG_DROP_RECENT. This should be
enough, especially since it's not even possible to remove a single \Recent
flag - only update the first_recent_uid.
The code was also wrong: It was dropping \Recent flags even when
modify_type/flags combination didn't ask for it. Even if this was fixed,
there would still be race conditions with multiple processes since this
update is done without locking.
Fixes:
Error: Recent flags state corrupted for mailbox
Compare: https://github.com/dovecot/core/compare/caf029d36a82...e1c762cb4c9c
More information about the dovecot-cvs
mailing list