---
name: "exim_id_update"
section: "8"
platform: "linux"
package: "exim4-base"
version: "4.98.2-1+deb13u4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/exim_id_update"
---

# exim\_id\_update(8)

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

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