This problem seems to have been posted quite a few
times in the last few days. I'm running Qmail-scanner 1.1.5 scanning with
ClamAV-054 and Spamassassin-2.43, on Redhat 8.0 (thusly with Perl 5.8.) The same
setup works perfectly on a system running perl 5.6.1. Through my megar knowledge
of perl, I've restricted the error to line 1638 of my qmail-scanner-queue.pl
script, which reads as this:
open(SA,"$spamc_binary $spamc_options <
$scandir/$wmaildir/new/$file_id|")||&tempfail("cannot run
$spamc_binary < $scandir/$wmaildir/new/$file_id - $!");
This doesn't seem to return any output, as $_ is
empty for every message, resulting in a 0/0 on all score calls. I've done some
small modifications and put aside the messages scanned, and they do in fact
return a score if called manually with 'spamc -c -f < messagename'. The debug
output results in the proper output too,
02/01/2003 19:31:21:25143: SA: run
/usr/bin/spamc -f <
/var/spool/qmailscan/working/new/jesse.internal.sfinteractive.com104156468142425143
Which leads me to believe it's something to do with
how the open command is being called. It generates no error codes, just results
in $_ being empty.
Any suggestions from the perl guru's out there?
Perhaps a subsitute line of code using 'system' to tide us over and populate $_
with the standard output?
|