On Thu, May 27, 2004 at 05:57:40PM +0300, Timo Sirainen wrote:
Probably this small change could be applied to the 1.0, or used as a config option.
I was thinking about making this fully configurable, ie. a config option which would accept printf-like string. "%v.%u" "%08xv%08xu" or something. Or maybe it's not worth it, I'd have to look at other POP3 servers to see what different kinds of UIDs they use..
Suggestion: if you have any way to maintain per-message state information, keep the UID in there. You can prime it using an algorithm of your choice. Ideally you'd allow its value to be taken from a header (e.g. X-POP3-UIDL) if present.
The reason for this: when migrating a mailbox from any other POP3 server, you can take whatever UIDL the old POP3 server gives and attach it to the message in Dovecot.
courier-imap *almost* allows me to do this. It keeps a state file (courierpop3dsizelist), containing one line per message - it has the exact message size as per RFC1939, and a sequence number. The UIDL entry is then sequenced from UID${uidvalidity}.${sequence}
What I'd prefer is that instead of a sequence number, the exact UIDL string is stored there. Then I could migrate from *any* POP3 server and preserve UIDLs.
(I'm keeping an eye on Dovecot... courier-imap has served me extremely well in production environments and under heavy load, but from what I've seen on this list, Dovecot is very good at producing diagnostic error messages when things go wrong, which courier is dreadful at... I can't deploy Dovecot until it supports Maildir++ quotas though)
Regards,
Brian.