"Michael F. Sprague" <[EMAIL PROTECTED]> writes: > Hi folks, > > I got a response to my question yesterday RE POP UIDs and it was confirmed > that the way Cyrus generates UIDs is different than the way the old POP > daemon does. I imagine it is possible to modify the cyrus source to generate > UIDs the same way the other daemon does. > > The old POP daemon is running on Tru64 and seems to be an implementation of > Qualcomm's qpopper. The generated UID seems to look like this: > > 3afd3cf6e70c597d217195d42b973ee > > Whereas cyrus generates a UID based on the timestamp and message number: > > 106979841.1 > > Anyone on this list know how qpopper generates its UID and/or of any code > snippets to get cyrus to generate it the same way? I suspect this is possible > b/ we had to do something similar for cucipop at an ISP I worked at in the > late 1990's.
There are two ways that qpopper can generate UIDs, depending on how you have it configured. They're both hashes of the body and a few header fields. Depending on how you have it configured, there may also be a random string added to the hash input. If you have it configured to add the random hash, then the UID is generated once when the message is first downloaded, and then stored in the message in the X-UIDL header. If you don't want every downloaded message to have to edited to add the X-UIDL header, you can tell qpopper to generate the UID without the random input part and it will re-generate the UID off of the message data every time. The best place to find the details is in the qpopper source. The file popper/pop_uidl.c has all of the gory details. > Another option for me is to force all users to use IMAP (which would be nice). > The problem here is that the first time a user connects ALL of the messages > will be marked as 'unread'. I think I can get around this by modifying > the seen flat file as I import the messages, but I cannot find documentation > of the format of this file anywhere. Do I have to read through the source or > can someone point me to a document or post on this topic? If you have qpopper setup to add Status headers to the messages on the server, there is a patch to reconstruct floating around that will use the Status: header in the message to set the seen data and the like during the reconstruct. Check the list archives, as I think it was posted recently and should make it into the next stable release. -- Ted Cabeen http://www.pobox.com/~secabeen [EMAIL PROTECTED] Check Website or Keyserver for PGP/GPG Key BA0349D2 [EMAIL PROTECTED] "I have taken all knowledge to be my province." -F. Bacon [EMAIL PROTECTED] "Human kind cannot bear very much reality."-T.S.Eliot [EMAIL PROTECTED]