MailScanner and Communigate Pro

John Rudd jrudd at UCSC.EDU
Thu Mar 13 22:47:12 GMT 2003


For anyone who is interested, I've got a preliminary set of wrapper
scripts set up for using Communigate Pro with MailScanner.  The way
they work is that Communigate Pro has an "Execute" rule which invokes
my first wrapper.  That wrapper creates a sendmail format pair of
queue files, and puts them into mailscanner's incoming queue.  The
rule then discards the message (since mailscanner will change the
body and/or subject of the message if it finds various things).

When mailscanner is done with the message, it invokes my 2nd wrapper
script, which converts the message out of sendmail paired queue file
format and then sends the message out using Communigate Pro's legacy
"sendmail" command. (unfortunately, the legacy sendmail command does
not take in queue file messages via the "-qI" method that mailscanner
uses)


There are only a very few interdependancies, two of which I'm going to
try to eliminate:

1) my wrappers need to be told where your mailscanner queue's are (both
   incoming and outgoing).

2) mailscanner's "Sendmail2" variable needs to be set to my 2nd wrapper
   script (I do not know how the "Sendmail" variable works, by generating
   a message via queue files, as with Sendmail2, or generating a message
   via stdin ... so that's one untested issue so far).  Mailscanner keeps
   the "MTA" variable set to sendmail, so it doesn't really know it's not
   actually using sendmail.

3) both Communigate Pro and mailscanner have to agree upon the Information
   header.  That's how Communigate Pro knows that the message has been
   scanned already.  I am thinking about having Communigate Pro use a
   different header that my wrapper scripts will insert into the message,
   and then Communigate Pro will remove the header in a later rule.  The
   reason I'm thinking about this, is that it makes me nervous that maybe
   a spammer or virus author could pre-include headers to try to bypass
   mailscanner.  So, if I put in a header that only communigate pro,
   mailscanner, and my wrapper scripts will ever see, then I'll feel a
   little better about that.


(the two things I need to resolve are the issue about mailscanner's
"Sendmail" variable, and how it generates informational messages,
and the thing in item 3)

Otherwise, a little code commenting and clean up, some documentation,
and I'll be ready to release this thing for other people to look over.
My two reasons for posting about it now are:

a) can some people who are more mailscanner savy than I look at what I
am asking in item #2 above, and

b) is there anyone in either community who is interested in testing this?
   once I do those cleanup things, I'd like to let other people look it
   over and report if they find any problems.  if you are interested,
   mail me back, off of both lists, with the subject
   "Test MS-CGP Interface" and I'll get back to you (probably next week)
   when I'm ready to give it out.

   (once I feel it has been well tested, I'll then make it available
   for general download)


For those on the Communigate Pro mailing list who may not know what
MailScanner is, MailScanner is a program written in perl which manages
various tools for checking the contents of your email on a site wide
basis.  It can be set up with a wide range of virus scanning engines
(sophos, mcafee, f-prot, f-secure, clamav, kapersky, rav, panda, trend),
spam assassin, and various RBL services.  It then allows you to specify
different actions for different results (quarantine messages, delete
them without delivery, deliver them with subject and/or header markups,
replace viruses with reports about what was found, send reports to the
postmaster, and many other options).

For more information about MailScanner, see www.mailscanner.info



John Rudd



More information about the MailScanner mailing list