Author: Robert Black Date: To: exim-users Subject: Re: Exim 1.58 - Two problems with SCO 5.
On Nov 14, 3:50am, John Henders wrote: > Subject: Exim 1.58 - Two problems with SCO 5.
>
> I finally put exim on one of our SCO 5 machines and 1 thing comes up as
> a possible problem. I'm not sure if this has been covered
> before, but exim doesn't appear to understand the recommended forward file
> syntax for procmail. Procmail's man page recommends this line,
>
> "|IFS=' ';exec /usr/local/bin/procmail #jhenders"
>
> In your forward file, but with the default exim configure file, exim
> fails with this error.
>
> T=address_pipe: "IFS='" command not found for address_pipe transport
>
> If we can configure the forward director to handle this, and I'm still
> reading the spec.txt to see if we can, shouldn't the user_forward
> director be configured this way in the default configure, on the
> principle of least surprise for those converting from other mailers?
Well, what exim is doing is to take the first part "IFS='" and treat it as a
command and treat the rest of the line as arguments. It then does a fork() and
exec() itself. Sendmail just does a popen() which launches a shell and then
executes the command within the shell. Now consider what happens if you want to
pass some header information to your program. Under sendmail you may well have
just given people who email you the ability to execute commands on your machine
(possibly as root). I guess exim just follows the principle of least *nasty*
surprise...
Seriously, if you want to use the procmail commands without thinking about them
then you can just wrap them in a shell with 'sh -c'.