EXIM_ID_UPDATE(8)

NAME
exim_id_update - one-time down/upgrade of Exim message-id formats

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 -H, -D and -J files are handled.

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

OPTIONS

-d  Downgrade mode

-h  This help message

-u  Upgrade mode

-v  Version

Exactly one of -d or -u must be given. The spool directory defaults to the build-time value, or can be given as a command-line argument.

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.

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