From: Timo Sirainen Date: Mon, 10 Jul 2017 12:54:07 +0000 (+0300) Subject: lib-storage: Don't use mailbox list index if it has refresh_flag set X-Git-Tag: 2.3.0.rc1~1281 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=15086e056e0ecb99ffcefab7295812e21edb6f37;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Don't use mailbox list index if it has refresh_flag set For example if INBOX is deleted, looking up its GUID shouldn't be returned from the list index since it contains the old GUID. --- diff --git a/src/lib-storage/list/mailbox-list-index-status.c b/src/lib-storage/list/mailbox-list-index-status.c index 4f0d68f2da..9256620a1a 100644 --- a/src/lib-storage/list/mailbox-list-index-status.c +++ b/src/lib-storage/list/mailbox-list-index-status.c @@ -55,7 +55,11 @@ index_list_open_view(struct mailbox *box, bool status_check, } view = mail_index_view_open(ilist->index); - if (!mail_index_lookup_seq(view, node->uid, &seq)) { + if (mailbox_list_index_need_refresh(ilist, view)) { + /* mailbox_list_index_refresh_later() was called. + Can't trust the index's contents. */ + ret = 1; + } else if (!mail_index_lookup_seq(view, node->uid, &seq)) { /* our in-memory tree is out of sync */ ret = 1; } else if (!status_check) {