30 Sep
2016
30 Sep
'16
4:39 p.m.
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