On Wed, 25 Nov 1998, James FitzGibbon wrote:
> The interesting thing is that the message id can't be unfrozen or
> delivered:
>
> [mail1:james] ...opt/mail/log (46) # exim -Mt 0ziaTD-0000xL-8H
> exim: malformed message id 0ziaTD-0000xL-8H after -Mt option
> [mail1:james] ...opt/mail/log (47) # exim -v -M 0ziaTD-0000xL-8H
> exim: malformed message id 0ziaTD-0000xL-8H after -M option
> [mail1:james] ...opt/mail/log (48) #
>
> Is there some incompatibility between the routine that creates the message
> id and the routine that confirms that the message id for
> unfreezing/delivery is valid ?
Bug! Fixed in 2.03 and subsequent versions. The ChangeLog says:
39. The regex for matching message ids was assuming that the final two
characters could only be digits.
> This is with exim v2.02, and host_number set to 1.
Hard luck! One version too early, and setting the host number increases
the chances of hitting this bug.
The fix is to change the setting of the variable regex_ismsgid in the
exim.c module. In 2.02, it reads
regex_ismsgid = regex_must_compile(
"^[a-zA-Z0-9]{6}-[a-zA-Z0-9]{6}-\\d\\d$");
You can either just change those final \\d bits into \\w instead, or go
for the more sophisticated
regex_ismsgid = regex_must_compile("^(?:[^\\W_]{6}-){2}[^\\W_]{2}$");
which is what happens in later Exims.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
--
*** Exim information can be found at
http://www.exim.org/ ***