[Dovecot] errors in dovecot-uidlist

Erland Nylend
Thu, 14 Jun 2007 11:01:32 -0000

On 2007-06-05, 21:29, Timo Sirainen wrote:
> > Is there any way I can sort the list accourding to the unix
> > timestamps, and still make it transparent to the pop3/imap clients?
> >
> > I would prefer a solution that does not involve users downloading
> > allready downloaded messages via pop3.
>
> There's no easy way. The UID numbers were apparently converted from
> courierpop3dsizelist file. So either the UID numbers need to be lost, or
> the list isn't sorted. Dovecot doesn't yet support having separate
UIDs
> for POP3 and IMAP.

I have been debugging this a bit further, and I believe I have been
able to reproduce how the problem started.

1) We run the migrate script on a (courier) account containing
   messages.

2) The script fails, and produces a dovecot-uidlist -file containing
   only "1 -1 0" (you made a patch when the problem was reported:
   http://dovecot.org/list/dovecot-cvs/2007-May/008728.html)

3) We delete the erroneous dovecot-uidlist -files, and so we are
   left with an account without a dovecot-uidlist file, but it still
   contains messages in cur

4) Messages come in, and deliver creates a dovecot-uidlist with uids
   "1,2 ... N"

5) The user runs imap/pop3, and dovecot notices that there are
   messages in cur, and adds them to the uidlist, after uids "1,2,3
   ...  N"

.. so, we end up with an unordered list.

Suggestion: make deliver create the index files, and a complete
dovecot-uidlist when a message is sent to an account without index
files.

--
Erland Nylend