Murray S. Kucherawy: > For what it's worth, sendmail's implementation encodes the current > time down to the second plus the pid of the handling process in > its queue IDs. A collision then could only happen if the same > pid got re-used twice in the same second. It doesn't include the > inode or any random data. > > Details: http://www.ale.org/pipermail/ale/2001-May/022331.html > > Similar to the issue of log correlation, in the OpenDKIM stats > project work we had to have an SQL key across the reporting host, > queue ID and timestamp columns to account for the fact that postfix > recycles queue IDs, sometimes relatively quickly.
There is one difference: Sendmail can just pick a name, and pick another one if the name already exists in a particular directory. Postfix uses the inode number in the name, because the name needs to be unique across the incoming, active, and deferred directories. Postfix could lengthen the time before reuse, by including more time information (four hex digits for ~1 day, six hex digits for ~0.5 year, eight hex digits for ~100 years). Seven hex digits should be sufficient to silence any complaints. Tighter packing is possible, but we're restricted to letters and digits (i.e. base 62 math). Wietse