The good people at Fastmail have a patch to use the first 11 bytes from the message MD5 as the message UUID. I would like to second this proposal.

The existing UUID scheme is something of a botch job after my first plan (Mailbox UniqueID + Message UID) fell through. There is also some potential for people to shoot themselves in the foot if they are not obsessively paranoid about the /var/imap/master_uuid files.

In the long term I think that it would make sense to reserve some space in cyrus.index the next time that the index format is changed so that UUIDs can be expanded to be (at least) 16 bytes. However I agree with Rob that the chances of a birthday paradox collision with 11 bytes are tiny.

Here are a pair of patches:

  http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/patches/2.3.8/

md5_uuid_add.patch:
  Add "uuid_mode: short_md5" as a minimal clean patch to 2.3.8

md5_uuid_replace.patch:
  Strip out the existing UUID code and use short_md5 in preference.

Both of these patches should continue to work with the old "schema 1" UUIDs. Other than myself, the only people who are likely to have
schema 1 UUIDs assigned are those who patched the startup bug in 2.3.8.

--
David Carter                             Email: [EMAIL PROTECTED]
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.

Reply via email to