The UW IMAP package uses IMAP-style UIDs (32-bit strictly ascending ints) for POP3, rather than maintaining separate UIDs for POP3. POP3 UIDs can be a arbitrary string; so all IMAP-style UIDs can be expressed as a POP3 UID, but most POP3-style UIDs can not be expressed as an IMAP UID. There are certain technical advantages and disadvantages to either way, which are a separate discussion that I won't go into here.

Many other servers, including qpopper, use an MD5 hash for the POP3 UID. Thus, qpopper UIDs can not be translated into UW IMAP UIDs.

So, without something like Vyacheslav Frolov's suggested patch, there is no way to do a transition from qpopper to UW ipop3d without causing a change in UIDs.

Although I won't incorporate the patch into the official distribution, I will verify that the patch does accomplish what it seeks out to do. However, I want to sound a few cautionary notes for anyone who uses it (and suggestions to Vyacheslav):

1) As Vyacheslav noted, the patch is only for traditional UNIX format. It would not be particularly difficult to apply it to MMDF format as well.

However, the other formats present a problem; they do not store message metadata within the header, and thus the header is not read during metadata load time. An incautious implementation of this patch for other formats will result in unpredictable results since the patch assumes that the X-UIDL is available at metadata load time and doesn't require a message parse.

2) The mix copy-with-same-UIDs tool will deal with IMAP UIDs, so you will have the same problem of X-UIDL UIDs not transitioning. Since mix format is extensible, you could extend mix format to have X-UIDL style UIDs...

3) I strongly recommend that X-UIDL: be added to the list of headers in the unix driver that is filtered out when copied and append (like Status:, X-Status:, X-UID:, etc.). There's two places where you need to do this in the unix driver. Spammers and hackers have discovered the traditional unix format metadata header, and are forging these headers for their own nefarious purposes.

Good luck!

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to