Hi,

https://gitlab.com/muttmua/mutt/-/work_items/453 notes that some people consider the local hostname to be private information, and requests that Message-ID not contain the local hostname.

Some MUAs use the sending domain, which I don't really like. It's fine for your own domain, but many people use gmail addresses.

Message-ID: <[email protected]> needs a LOT of entropy in the localpart in order to be safely unique.

However, the sending domain isn't conveniently available at that spot in the code.

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 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.

Arnt

diff --git a/init.h b/init.h
index af684866..ae3760f9 100644
--- a/init.h
+++ b/init.h
@@ -2202,7 +2202,7 @@ struct option_t MuttVars[] = {
  { "msg_format",       DT_SYN,  R_NONE, {.p="message_format"}, {.p=0} },
  /*
  */
-  { "message_id_format", DT_STR, R_NONE, {.p=&MessageIdFormat}, {.p="<%z@%f>"} 
},
+  { "message_id_format", DT_STR, R_NONE, {.p=&MessageIdFormat}, 
{.p="<%r%r%r%[email protected]>"} },
  /*
  ** .pp
  ** This variable describes the format of the Message-ID generated

Reply via email to