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?
 

Reply via email to