Maildir Expunged GUID mismatch for UID
Dovecot version:2.2.25
Since we used to keep our email files on widows server, I made the following changes in maildir-storage.h
#define MAILDIR_EXTRA_SEP ','
#define MAILDIR_INFO_SEP_S ":" to "+".
Everything seems working except EXPUNG, The dovecot log is flooded by messages like following:
imap(xxxxx): Error: Mailbox INBOX: Expunged GUID mismatch for UID 7039
Then I read the source code, and found the following lines in maildir-sync-index.c
T_BEGIN {
guid = maildir_uidlist_lookup_ext(ctx->mbox->uidlist, uid,
MAILDIR_UIDLIST_REC_EXT_GUID);
if (guid == NULL)
guid = t_strcut(filename, ':');
mail_generate_guid_128_hash(guid, guid_128);
} T_END;
I have to change the code to guid = t_strcut(filename, '+');
So, should MAILDIR_EXTRA_SEP be used here instead of ':'?
Thanks,
Steven
On September 30, 2016 at 4:39 PM Steven Xu <steven.xu@lba.ca> wrote:
Dovecot version:2.2.25
Since we used to keep our email files on widows server, I made the following changes in maildir-storage.h
#define MAILDIR_EXTRA_SEP ','
#define MAILDIR_INFO_SEP_S ":" to "+".
Everything seems working except EXPUNG, The dovecot log is flooded by messages like following:
imap(xxxxx): Error: Mailbox INBOX: Expunged GUID mismatch for UID 7039
Then I read the source code, and found the following lines in maildir-sync-index.c
T_BEGIN {
guid = maildir_uidlist_lookup_ext(ctx->mbox->uidlist, uid, MAILDIR_UIDLIST_REC_EXT_GUID); if (guid == NULL) guid = t_strcut(filename, ':'); mail_generate_guid_128_hash(guid, guid_128); } T_END;
I have to change the code to guid = t_strcut(filename, '+');
So, should MAILDIR_EXTRA_SEP be used here instead of ':'?
Thanks,
Steven
Hi!
Can you try out the attached patch?
Aki
participants (2)
-
Aki Tuomi
-
Steven Xu