.TH EXIM_ID_UPDATE "8" "September 2023" "Utility for one-time down/upgrade of Exim message-id formats" .SH NAME exim_id_update \- one-time down/upgrade of Exim message-id formats .SH DESCRIPTION Utility for one\-time down/upgrade of Exim message\-id formats in spool files between format used in 4.96 and earlier and 4.97 and later versions. Only the filenames and the first\-line ID tag values are affected; not message content such as Message\-ID fields. Only \fB\-H\fR, \fB\-D\fR and \fB\-J\fR files are handled. .SH SYNOPSIS .B exim_id_update [\-d | \fB\-u\fR | \fB\-h\fR | \fB\-v]\fR [spooldir] .SH OPTIONS .TP \fB\-d\fR Downgrade mode .TP \fB\-h\fR This help message .TP \fB\-u\fR Upgrade mode .TP \fB\-v\fR Version .PP Exactly one of \fB\-d\fR or \fB\-u\fR must be given. The spool directory defaults to the build\-time value, or can be given as a command\-line argument. .SH BACKGROUND The internal exim message ID format changed in 4.97: Change format of the internal ID used for message identification. The old version only supported 31 bits for a PID element; the new 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 is visible in various places - notably logs, message headers, and spool file names. Various of the ancillary utilities also have to know the format. 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. The major timestamp part of the ID is not changed; at 6 characters it is usable until about year 3700. Updating from previously releases is fully supported: old-format spool files are still usable, and the utilities support both formats. New message 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. 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. .SH AUTHOR This manual page was stitched together from help2man output and Exim changelog entry 4.97 JH/29 by Andreas Metzler , for the Debian GNU/Linux system (but may be used by others).