diff -urN qmail-scanner-1.20/configure qmail-scanner-1.20-kav5/configure
--- qmail-scanner-1.20/configure	Wed Nov  5 02:04:26 2003
+++ qmail-scanner-1.20-kav5/configure	Mon Jan 19 15:59:34 2004
@@ -688,8 +688,8 @@
     if test -x $dir/kavscanner
     then
 	if [ "`echo $FIND_SCANNERS|grep ' kavscanner '`" != "" ]; then
-	    if [ "`$dir/kavscanner -Y -P -B -MP -MD -* $TMP_DIR 2>&1|egrep -i 'virus|test'`" != "" ]; then
-		AVPSCAN="${AVPSCAN:-$dir/kavscanner}"
+	    if [ "`$dir/kavscanner $TMP_DIR 2>&1|egrep -i 'virus|test'`" != "" ]; then
+		KAVSCAN="${AVPSCAN:-$dir/kavscanner}"
 		INSTALLED_SCANNERS="$INSTALLED_SCANNERS
 kavscanner"
 	    fi
@@ -1239,6 +1239,11 @@
     SCANNER_ARRAY="$SCANNER_ARRAY,\"hbedv_scanner\""
 fi
 
+if [ "$KAVSCAN" != "" ]; then 
+    echo "kav_antivir=$KAVSCAN" 
+    SCANNER_ARRAY="$SCANNER_ARRAY,\"kav_scanner\""
+fi
+
 if [ "$AVPSCAN" != "" ]; then 
     echo "avp_antivir=$AVPSCAN" 
     SCANNER_ARRAY="$SCANNER_ARRAY,\"avp_scanner\""
@@ -1492,6 +1497,7 @@
 s?HBEDV_OPTIONS?$HBEDV_OPTIONS?g;
 s?HBEDV?$HBEDV?g;
 s?AVPSCAN?$AVPSCAN?g;
+s?KAVSCAN?$KAVSCAN?g;
 s?AVPDAEMON?$AVPDAEMON?g;
 s?FPROT?$FPROT?g;
 s?FSECURE?$FSECURE?g;
diff -urN qmail-scanner-1.20/qmail-scanner-queue.template qmail-scanner-1.20-kav5/qmail-scanner-queue.template
--- qmail-scanner-1.20/qmail-scanner-queue.template	Wed Nov  5 00:26:47 2003
+++ qmail-scanner-1.20-kav5/qmail-scanner-queue.template	Mon Jan 19 16:00:50 2004
@@ -185,6 +185,7 @@
 my $hbedv_binary='HBEDV';
 my $hbedv_options='HBEDV_OPTIONS';
 my $avp_binary='AVPSCAN';
+my $kav_binary='KAVSCAN';
 my $avpdaemon_binary='AVPDAEMON';
 my $fprot_binary='FPROT';
 my $fsecure_binary='FSECURE';
diff -urN qmail-scanner-1.20/sub-kav.pl qmail-scanner-1.20-kav5/sub-kav.pl
--- qmail-scanner-1.20/sub-kav.pl	Thu Jan  1 03:00:00 1970
+++ qmail-scanner-1.20-kav5/sub-kav.pl	Mon Jan 19 16:30:49 2004
@@ -0,0 +1,32 @@
+sub kav_scanner {
+  # Kaspersky Antivirus scanner
+  &debug("kav: starting scan of directory \"$ENV{'TMPDIR'}\"...");
+  my ($start_kav_time)=[gettimeofday];
+  my ($DD,$kav_status,$stop_kav_time,$kav_time);
+  &debug("run $kav_binary $ENV{'TMPDIR'}  2>&1");
+  $DD=`$kav_binary $ENV{'TMPDIR'} 2>&1`;
+  $kav_status=($? >> 8);
+  print "status: $kav_status\n";
+  &debug("--output of kav was:\n$DD--");
+  if ( $kav_status > 0 ) {
+    if ($kav_status =~ /^(20|21|25)$/) {
+      #This covers the potential viruses
+      $quarantine_description="suspicious";
+      if ($DD =~ /(.*) INFECTED (.*)\n/) {
+	$quarantine_description=$2;
+      } elsif ($DD =~ /(.*) SUSPICION (.*)\n/) {
+	#This covers the specific
+	$destring='Suspicious file:';
+	$quarantine_description=$2;
+      }
+      &debug("There be a $destring! ($quarantine_description)");
+      ($quarantine_event=$quarantine_description)=~s/\s/_/g;
+      $quarantine_event="KAV:".substr($quarantine_event,0,$QE_LEN);
+    } else {
+      &error_condition("corrupt or unknown Kaspersky scanner error or memory/resource/perms problems - exit status $kav_status");
+    }
+  }
+  $stop_kav_time=[gettimeofday];
+  $kav_time = tv_interval ($start_kav_time, $stop_kav_time);
+  &debug("kav: finished scan of dir \"$ENV{'TMPDIR'}\" in $kav_time secs");
+}

