Re: no_mbox_unspool on errors only?

Scott Call <[email protected]> Wed, 29 Sep 2004 09:52:46 -0700 (PDT)
Newsgroups gmane.mail.exim.exiscan.user
Message-ID <[email protected]>
On Sat, 25 Sep 2004, Richard.Hall wrote:

> Well, I'm no expert, but I thought it looked odd (ingenious, but odd) when
> Tom wrote it. I suspect you need to replace
>    condition = $malware_name
> by
>    condition = ${if eq {$malware_name} {} {no} {yes}}
> (in both places, of course)

Okay here's the relevant bits (I changed the no malware name to defer 
instead of freeze)
:
   deny  message = This message contains malware ($malware_name)
         condition = $acl_m0
         condition = ${if eq {$malware_name} {} {0} {1}}

#save messages if problem with clamd but no virus name
  defer message = Error while scanning
       condition = $acl_m0
       condition = ${if eq {$malware_name} {} {1} {0}}
       control = no_mbox_unspool


In testing when manually setting acl_m0 to 1 it goes to the defer, but in 
use, while virus laden messages _are_ rejected, a clamd error shows up 
like this:
2004-09-29 09:33:12 1CChOA-0006vS-T5 malware acl condition: clamd: ClamAV 
returned /var/spool/exim/scan/1CChOA-0006vS-T5/1CChOA-0006vS-T5-00000.exe: 
Input/Output error ERROR

and is then delivered.  So the only thing I can think of is malware_name 
is null since it passes the deny test but something is not triggering the 
defer.

Any ideas?  I don't have an example of a message that triggers this error, 
since the goal of this exercise is to save them when there is an error.

Thanks
-Scott