Re: [Exim] Exim + virus-scanning

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Dave Temple
Dátum:  
Címzett: Mike Weller
CC: exim-users
Tárgy: Re: [Exim] Exim + virus-scanning
On Aug 8, 1:19pm, Mike Weller wrote:
> The $pipe_addresses only revealed 1 local address when I emailed to 2
> local addresses.


Mmm, most odd. It definitely works for me.

>
> However, when I ran the test to 2 remote users, scanmails DOES receive
> 2 arguments:
>


Good to hear. I note from the list that you have the Perl version working now.
It might have already been fixed in the latest versions of the Perl code, but I
found a small bug in it only yesterday. Its down to the way that exim passes an
empty sender to the code. It expands ${sender_address} to an empty string when
the sender was specified as <> (as I am sure you know this is used as the
sender for error reports to prevent message looping). The version of the Perl
code I have has lines which looks like this :-

# Handle empty sender address
$SENDER = "<>" if ($SENDER eq "");

which in theory should sort this out. However in the code I had this line
actually appeared AFTER the code that builds the sendmail command line to use.
i.e. :-

push(@LDAARGS, "-oMr");
push(@LDAARGS, "scanned-ok");
push(@LDAARGS, "-i");
push(@LDAARGS, "-f");
push(@LDAARGS, $SENDER);
push(@LDAARGS, @RECIPS);

so the @LDAARGS had already been built before the sender was corrected. This
was causing me failure codes of 256 or -1 from exim when amavis tried to run it
to re-send clear messages with a sender of <>. Moving the correction lines to
just before @LDAARGS is built sorts out the problem. The amavis web pages now
actually recommend that you use <${sender_address}> in the command line instead
of ${sender_address} to get round this problem (I just checked this a couple of
minutes ago.). Exim seems happy to strip the <>'s so that should work as well,
but as I have already changed my copy of the code so I intend leaving mine like
it is for now. They are intending fixing the code for the new versions of
amavis perl by the sound of it so the <>'s round the sender is a short term
bodge anyway.