Another patch

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-users
Subject: Another patch
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