[Exim] Virus Scan (as from FAQ) and -bt

Top Page
Delete this message
Reply to this message
Author: Marc Haber
Date:  
To: exim-users
Subject: [Exim] Virus Scan (as from FAQ) and -bt
Hi!

On my system, I have a virus scanner implemented in the way that
is mentioned in the FAQ (in fact, that scheme has been developed
at our site). This mainly consists in having a conditional director
like this:

vircheck:
  condition = "${if or {{eq {$received_protocol}{no-attachment}} \
                        {eq {$received_protocol}{local-not-scanned}} \
                        {eq {$received_protocol}{scanned-ok}} \
                        {match {$sender_host_address}{^192\.168\.10\.}}} \
                             {0}{1}}"
  driver = smartuser
  transport = virscan


This director kicks in for any new messages, and forwards them to the
virscan transport. The message is in turn piped to a perl script which
does the scanning (using the Linux version of the McAfee virus scanner)
and redelivers the message to exim with -oMr scanned-ok. This shows up
in the message headers indicating successful scanning and keeps the
vircheck director from matching again. The message is then delivered via
the following directors.

However, this stops -bt from working since all you see is delivery to the
virscan director which _always_ happens:
|mh@palandt:/home/mh > exim -oMr scanned-ok -bt db@???
|db@???
|    <-- db@???
|    deliver to db in domain example.com
|    director = vircheck, transport = virscan

|mh@palandt:/home/mh >

As you can see, giving -oMr to that command line doesn't change behavior.

Any ideas how I can keep this setup without losing -bt?

Could it be implemented in a future version to honor -oMr and similar
parameters when -bt is being done?

Greetings
Marc