Re: Message-ID, privacy and uniqueness

"Kevin J. McCarthy" <[email protected]> Sun, 31 May 2026 07:09:07 +0800
Newsgroups gmane.mail.mutt.devel
Message-ID <ahtuEwmXBaWgsbdr@qinghai>
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 (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEiXWpszqjeRA4XFMIre92hIAxa9oFAmobbhMACgkQre92hIAx
a9rzjhAA5DmF+F9c2yvXkpcxHvU3rdb28SfBzJp4EaNBuJ2UAzD8gucS3qILci5D
Qxzclo0B3iTYspzCx5RUn9WLuKFgzldRUIXj3+8DvyivafCSrZBj4/BK6UrfMrKS
8Dk0hkIHZ72QMBaKem338wqbax6QaXnoHzQQlIg8r6ZFlhS2WP9ed8JcFyOFJ6Pa
KWUsw1HhZvtiUeMbK9vJ8mKBiWi6cn11/OsAxeZrZxJAlCc78JrdvyE/EQi0bQqG
p+uHToSAUzD7vtkPDMSbSuw4qFgw59UaksQ8mlHK7Lf4yHLh6biOsw7hWEYSAoar
QU4jMgKgQ6Sf5Ay+nfbpuFkuhXtK6/DleEAvFJ0JfVH8EFLC/2S55rzFnQBSrjkb
TM3b+A9vA2vuXisojLrPHbSgtOaiE9m5F4wWD/1vg37qkV9V7t6ZX4ckMu0Ud2zG
chDe4kryYaubgQD1/bVG33lYciJrGIfI28WLnkjjjKqn3jU/sx9Icliji+79W2R1
HsNSFEuONoNjnqNoQxVKux89zmev/NY4VMAxafA3FTAxg6pnWpPrLk+IDjlIjyaD
I0MEm7fuoQfhUrNp+IDiFBB+fC8I8wv+tQGcykS9CuiJ/4UPEc2IoTqLaQKfYcVc
D/dhHjIzd8CCo8y81D5UPjKp69gvYiSMxUE/PdSzkcHJzyGL+L0=
=2eJo
-----END PGP SIGNATURE-----