diff -urN amavisd-snapshot-20020300.org/amavis/amavisd.conf.in amavisd-snapshot-20020300/amavis/amavisd.conf.in --- amavisd-snapshot-20020300.org/amavis/amavisd.conf.in Thu Jun 6 22:33:49 2002 +++ amavisd-snapshot-20020300/amavis/amavisd.conf.in Thu Jun 6 22:41:33 2002 @@ -25,6 +25,9 @@ # NOTE: don't forget to re-run ./configure if you want to use # another virus scanner! +# mks_vir Antivirus (mks32) +$mksvir = "@mksvir@"; + # NAI AntiVirus (uvscan) $uvscan = "@uvscan@"; diff -urN amavisd-snapshot-20020300.org/amavis/amavisd.in amavisd-snapshot-20020300/amavis/amavisd.in --- amavisd-snapshot-20020300.org/amavis/amavisd.in Thu Jun 6 22:33:49 2002 +++ amavisd-snapshot-20020300/amavis/amavisd.in Thu Jun 6 22:44:39 2002 @@ -87,7 +87,7 @@ # Av scanners and related vars use vars qw ( $antivir $avp $avpdc $AVPDIR $csav $fprot $fsav $inocucmd $nod32 $nod32cli $oav $panda $rav $sophos $sophos_ide_path $cscmdline $scs_host $scs_port $uvscan $vbengcl $vscan - $vfind $sophie_sockname $trophie_sockname ); + $vfind $sophie_sockname $trophie_sockname $mksvir ); use vars qw ( $QUARANTINEDIR $VIRUSFILE $viruslist @virusname $warnadmin $warnsender $warnrecip $warn_offsite @local_domains ); @@ -357,6 +357,7 @@ @cyber_scanner_frag@ @fprot_scanner_frag@ @fsec_scanner_frag@ +@mksvir_scanner_frag@ @hbedv_scanner_frag@ @nai_scanner_frag@ @nod32_scanner_frag@ diff -urN amavisd-snapshot-20020300.org/amavis/av/mksvir amavisd-snapshot-20020300/amavis/av/mksvir --- amavisd-snapshot-20020300.org/amavis/av/mksvir Thu Jan 1 01:00:00 1970 +++ amavisd-snapshot-20020300/amavis/av/mksvir Thu Jun 6 22:48:09 2002 @@ -0,0 +1,35 @@ +# +# mks_vir (www.mks.com.pl) +# + + +if ($mksvir) { + do_log(2, "Using $mksvir"); + chop($output = `$mksvir -s $TEMPDIR/parts/* 2>&1`); + $errval = retcode($?); + $scanner_errors &= $errval; + do_log(2,$output); + if ($errval) { + if ($errval == 1) { + @virusname = ($output =~ /file.*virus (.+)/g); + do_virus($output); + } else { + do_log(0,"Virus scanner failure: $antivir (error code: $errval)"); + } + } +} + +# --------- or'ed exit codes -------- +# =================================== +# +# 0 OK +# +# 1 virus FOUND +# 2 file repaired +# 4 file DELETED +# +# 128 0x80 internal error +# 256 0x100 commandline options error +# 512 0x200 initialization error +# 1024 0x400 IO error + diff -urN amavisd-snapshot-20020300.org/configure.in amavisd-snapshot-20020300/configure.in --- amavisd-snapshot-20020300.org/configure.in Thu Jun 6 22:33:49 2002 +++ amavisd-snapshot-20020300/configure.in Thu Jun 6 22:43:26 2002 @@ -390,6 +390,7 @@ fprot_scanner_frag=$srcdir/amavis/av/fprot fsec_scanner_frag=$srcdir/amavis/av/fsec hbedv_scanner_frag=$srcdir/amavis/av/hbedv + mksvir_scanner_frag=$srcdir/amavis/av/mksvir nai_scanner_frag=$srcdir/amavis/av/nai nod32_scanner_frag=$srcdir/amavis/av/nod32 nod32cli_scanner_frag=$srcdir/amavis/av/nod32cli @@ -500,6 +501,20 @@ hbedv_scanner_frag=$srcdir/amavis/av/hbedv fi +mksvir_scanner_frag=/dev/null +AC_CHECKING([*** mks_vir AntiVirus ***]) +AC_PATH_PROGS(mksvir, mks32, , $PATH:/usr/bin:/usr/local/bin) +if test "x$mksvir" = "x" ; then + AC_MSG_WARN([************************************************************]) + AC_MSG_WARN([*** mks_vir AntiVirus NOT found ***]) + AC_MSG_WARN([*** but that's ok ***]) + AC_MSG_WARN([************************************************************]) +else + # This is the first one + avscanner=" mks_vir AntiVirus" + mksvir_scanner_frag=$srcdir/amavis/av/mksvir +fi + ### McAfee Virusscan nai_scanner_frag=/dev/null AC_CHECKING([*** McAfee Virusscan ***]) @@ -683,7 +698,7 @@ AC_MSG_CHECKING([if any virus scanners are installed at all]) -if test "x$antivir$uvscan$ufindvir$fvsco$sophos$avp$avpdc$fsav$vscan$vfind$inocucmd$rav$nod32$nod32cli$csav$vbengcl$sophie$trophie$panda$fprot$oav$cscmdline" = "x" ; then +if test "x$mksvir$antivir$uvscan$ufindvir$fvsco$sophos$avp$avpdc$fsav$vscan$vfind$inocucmd$rav$nod32$nod32cli$csav$vbengcl$sophie$trophie$panda$fprot$oav$cscmdline" = "x" ; then AC_MSG_RESULT([no]) AC_MSG_ERROR([ @@ -838,6 +853,7 @@ AC_SUBST_FILE(cyber_scanner_frag) AC_SUBST_FILE(fsec_scanner_frag) AC_SUBST_FILE(hbedv_scanner_frag) +AC_SUBST_FILE(mksvir_scanner_frag) AC_SUBST_FILE(nai_scanner_frag) AC_SUBST_FILE(nod32_scanner_frag) AC_SUBST_FILE(nod32cli_scanner_frag)