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