On Nov 02, 2011, at 12:00 PM, Chris Clark wrote: >If a header is going to contain data that is generated from non-trivial >processing I think it would be good form to include the algorithm name in the >header.
The idea behind the header is to enhance RFC 5064 so that the MLM can pre-calculate Archived-At for the destination archive, without any interaction from that archiver. It also enables users to do the same. Message-ID-Hash is primarily a convenience value which provides the last component in Archived-At. Thus Archived-At is calculated as <base_url>/<mid_hash> where <base_url> is typically the List-Archive header value and <mid_hash> is Message-ID-Hash. The choice of Base 32 was deliberate. It's seen as a trade-off between uniqueness and (potentially <wink>) human readable. http://wiki.list.org/display/DEV/Stable+URLs The reason you do not want variability in the algorithm is because you want to be able to calculate the Archived-At value given only the Message-ID and the archiver base url. Having to also exchange knowledge of the algorithm used would make this less usable IMO. Let's say I know that messages to mailman-developers are archived at mail.python.org, gmane.org and www.mail-archive.com, and I somehow know that your original message has Message-ID: <[email protected]>, I don't need anything else to find your message: >>> from hashlib import sha1 >>> from base64 import b32encode >>> mid_hash = b32encode(sha1('<[email protected]>').digest()) >>> mid_hash 'ANDJGXNCTPGVTF5F2WROKOOKXGKZDBC6' >>> for base in ('gmane.org', 'mail-archive.com', 'mail.python.org'): ... print 'http://{0}/{1}'.format(base, mid_hash) ... http://gmane.org/ANDJGXNCTPGVTF5F2WROKOOKXGKZDBC6 http://mail-archive.com/ANDJGXNCTPGVTF5F2WROKOOKXGKZDBC6 http://mail.python.org/ANDJGXNCTPGVTF5F2WROKOOKXGKZDBC6 That's the compelling argument behind the *concept* of Message-ID-Hash, but as you can see, it's easy to calculate with just two pieces of information, one of which is static and the other which is fairly easy to convey. Cheers, -Barry
signature.asc
Description: PGP signature
_______________________________________________ Mailman-Developers mailing list [email protected] http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
