On Fri, May 29, 2026 at 10:47:04AM +0200, Arnt Gulbrandsen wrote:
However, the sending domain isn't conveniently available at that spot in the code.
It could easily be made available.
Another alternative is to use a domain from the MUA, I like that better, so I suggest the below as a solution for #453. The repeated %r gives 120 bits of entropy while keeping the message-id fairly short.
I personally don't like this solution, and so I don't think it will be universally appreciated by our users. I'd be interested in others' opinions.
I think Steffen's use of From in his reply below, or git send-email's usage, e.g.: <[email protected]> which uses the "@" in the From address as the delimiter between id-left and id-right are friendlier, and with the full email address give a nice uniqueness partition, even for "gmail" addresses.
The only worry I have for Steffen's approach, is that even though '%' is technically allowed in id-right, the rfc recommends a domain name, and some spam filters may be adverse to the '%' because of that. I think the git approach is a bit cleaner.
I removed the time. I don't see the value of including the time, it's bulky and reminds me of the passage on Knuth vol 2 where he "attempted to create a fantastically good", etc. The best protection against clashing message-ids is IMO to spend the entire length on high-entropy randomness and avoid low-entropy components like the time. If we can increase the length, it's IMO better to spend the extra length on more entropy.
This part of the patch is likely to provoke endless discussion.I'll kick in my own two cents. I regret removing the verbose date, and if I could redo it, I would put it back to %Y%02m%02d%02H%02M%02S. It may be verbose, but several people have since mentioned the usefulness of seeing the date.
So, I'd rather have something like either: <%Y%02m%02d%02H%02M%02S.%r%r@%a> where %a is from Steffen, with the @ converted to % or something else. Or something like: <%Y%02m%02d%02H%02M%02S.%r%r-%a>where %a is the real from address (including '@') with IDNA on the domain and a filter on the left side for non dot-atom-text characters.
FYI: This week and the next, I'm working on the release notes and related.
-- Kevin J. McCarthy GPG Fingerprint: 8975 A9B3 3AA3 7910 385C 5308 ADEF 7684 8031 6BDA
signature.asc
Description: PGP signature
