EXIM_ID_UPDATE(8)

πŸ’… NAME πŸ’…

exim_id_update β€” the one-time glow-up (or glow-down) of Exim message-id formats, bestie. It's a manual page from the System Manager's Manual section, and honestly it's giving ✨maintenance era✨.


πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so listen. This little utility does a one-time down/upgrade of Exim message-id formats in your spool files. We're talking the format used in 4.96 and earlier ↔ the format used in 4.97 and later versions. That's it. That's the whole job.

Only the filenames and the first-line ID tag values are affected β€” NOT message content, like, not your Message-ID fields, okay? Don't panic.

And only -H, -D and -J files are handled. Periodt. πŸ’…


🌸 SYNOPSIS 🌸

exim_id_update [-d | -u | -h | -v] [spooldir]

✨ OPTIONS ✨

  • -d β€” Downgrade mode 🫣 (going backwards, we love a throwback)
  • -h β€” This help message πŸ†˜
  • -u β€” Upgrade mode πŸ”₯ (moving on up, slay)
  • -v β€” Version πŸ‘‘
Exactly one of -d or -u must be given. Not both, not neither. Pick a lane, bestie. πŸŽ€

The spool directory defaults to the build-time value, or you can just hand it over as a command-line argument. Your call, no pressure. πŸ’–


🧚 BACKGROUND 🧚

So the internal exim message ID format changed in 4.97, and here's the tea:

Change format of the internal ID used for message identification. The old version only supported 31 bits for a PID element; the new one does 64 β€” on systems which can use Base-62 encoding, which is all currently supported ones but not Darwin (MacOS) or Cygwin, which have case-insensitive filesystems and must use Base-36. 😭

The new ID is 23 characters rather than 16, and it's visible in various places β€” notably logs, message headers, and spool file names. Various of the ancillary utilities also have to know the format. (iykyk πŸ’œ)

As well as the expanded PID portion, the sub-second part of the time recorded in the ID is expanded to support finer precision. Theoretically this permits a receive rate from a single comms channel of better than the previous 2000/sec. Ate. πŸ”₯

The major timestamp part of the ID is not changed; at 6 characters it is usable until about year 3700. Immortal behavior honestly. ⭐

Updating from previous releases is fully supported: old-format spool files are still usable, and the utilities support both formats. New messages will use the new format. The one hints-DB file type which uses message-IDs (the transport wait- DB) will be discarded if an old-format ID is seen; new ones will be built with only new-format IDs.

Optionally, a utility can be used to convert spool files from old to new β€” but this is only an efficiency measure, not a requirement for operation. So like, you can, but you don't have to. Vibe check passed. 🌈

Downgrading from new to old requires running a provided utility, having first stopped all operations. πŸ›‘ This will convert any spool files from new back to old (losing time-precision and PID information) and remove any wait- hints databases. Yes, you read that right. Information gone. Gone-gone. πŸ’€

πŸŽ€ AUTHOR πŸŽ€

This manual page was stitched together from help2man output and Exim changelog entry 4.97 JH/29 by Andreas Metzler <ametzler at debian.org>, for the Debian GNU/Linux system (but may be used by others). Iconic of him, fr fr. 🫢


Okay bestie, that's the whole page! This was the System Manager's Manual edition of EXIM_ID_UPDATE(8), dated September 2023. Go forth and convert responsibly, mwah πŸ’–βœ¨πŸŽ€πŸ¦‹