Sorry, folks. I screwed up when fixing Exim to make an item in a
.forward file of the form
/s=xxx/ou=yyy/prmd=zzz/@???
be treated as an address rather than a file name. The result is that
in 0.56 an item of the form
"| finger xxxx@???"
(i.e. a pipe item that ends with a valid @domain) is treated as an
address rather than a pipe, and Exim then complains that it is
syntactically invalid.
It was a real brain-disconnected piece of coding. I have now reworked
the code for handling entries in .forward files (with my brain
connected, I hope). The rule now is:
If it parses as a valid, qualified RFC 822 address (i.e. has a domain)
then it is an address. Otherwise, if it starts with / or | it is a
filename or pipe, respectively. Otherwise it must be a local,
unqualified address (just local-part or \local-part with no @).
[The rule about quotes has not changed. If the entire item is quoted,
the quotes get removed before other processing; otherwise quotes remain,
to allow addresses like
"/s=xxx/x= /"@???
to be used.]
I have added the patch to fix the bug (just affects one file, parse.c) to
the two other patches in
ftp://ftp.cus.cam.ac.uk/pub/software/programs/exim/exim-0.56.patches
It's a little bit long (292 lines) to post here.
If there get to be many more of these I'll put out 0.57 earlier than I
was intending; I was hoping to get a number of new features implemented
first.
--
Philip Hazel University Computing Service,
ph10@??? New Museums Site, Cambridge CB2 3QG,
P.Hazel@??? England. Phone: +44 1223 334714