Mercurial > dovecot > core-2.2
changeset 8567:c6facf63c7f9 HEAD
Maildir: If POP3 UIDL field is empty in dovecot-uidlist, use base filename as UIDL.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 18 Dec 2008 19:34:35 +0200 |
parents | 1c462a3c21ba |
children | 935930abeb7a |
files | src/lib-storage/index/maildir/maildir-mail.c |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-mail.c Thu Dec 18 18:11:21 2008 +0200 +++ b/src/lib-storage/index/maildir/maildir-mail.c Thu Dec 18 19:34:35 2008 +0200 @@ -434,7 +434,16 @@ case MAIL_FETCH_UIDL_BACKEND: uidl = maildir_uidlist_lookup_ext(mbox->uidlist, _mail->uid, MAILDIR_UIDLIST_REC_EXT_POP3_UIDL); - *value_r = uidl != NULL ? uidl : ""; + if (uidl == NULL) { + /* use the default */ + *value_r = ""; + } else if (*uidl == '\0') { + /* special optimization case: use the base file name */ + return maildir_mail_get_special(_mail, + MAIL_FETCH_UIDL_FILE_NAME, value_r); + } else { + *value_r = uidl; + } return 0; default: return index_mail_get_special(_mail, field, value_r);