diff -Nru qmail-scanner-1.22.orig/configure qmail-scanner-1.22/configure
--- qmail-scanner-1.22.orig/configure	2004-04-12 12:29:06.000000000 +0200
+++ qmail-scanner-1.22/configure	2004-05-14 17:54:45.000000000 +0200
@@ -38,7 +38,7 @@
 VERSION=`grep '^# Version: ' qmail-scanner-queue.template`
 VERSION=`echo $VERSION|awk '{print $NF}'`
 
-SUPPORTED_SCANNERS="clamscan,clamdscan,sweep,sophie,vscan,trophie,uvscan,csav,antivir,kavscanner,AvpLinux,kavdaemon,AvpDaemonClient,fsav,fprot,inocucmd,vexira,verbose_spamassassin,fast_spamassassin"
+SUPPORTED_SCANNERS="clamscan,clamdscan,sweep,sophie,vscan,trophie,uvscan,csav,antivir,kavscanner,AvpLinux,kavdaemon,AvpDaemonClient,fsav,fprot,inocucmd,vexira,verbose_spamassassin,fast_spamassassin,nod32"
 
 SILENT_VIRUSES='klez,bugbear,hybris,yaha,braid,nimda,tanatos,sobig,winevar,palyh,fizzer,gibe,cailont,lovelorn,swen,dumaru,sober,hawawi,holar-i,mimail,poffer,bagle,worm.galil,mydoom,worm.sco,tanx,novarg,\@mm'
 
@@ -394,7 +394,7 @@
     exit
  fi
 fi
-PATH="$PATH:$QMAILDIR/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/etc/iscan:/usr/local/uvscan:/usr/lib/AntiVir:/usr/lib/uvscan:/usr/local/av:/opt/AV:/opt/AVP:/usr/local/f-prot:/usr/local/rav8/bin:/usr/lib/Vexira" export PATH
+PATH="$PATH:$QMAILDIR/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/etc/iscan:/usr/local/uvscan:/usr/lib/AntiVir:/usr/lib/uvscan:/usr/local/av:/opt/AV:/opt/AVP:/usr/local/f-prot:/usr/local/rav8/bin:/usr/lib/Vexira:/usr/local/nod32" export PATH
 
 if [ "$MIME_UNPACKER" != "" ]; then
 	if [ "`echo $MIME_UNPACKER |egrep -v '^(reformime|ripmime)$'`" != "" ]; then
@@ -618,6 +618,16 @@
 	    fi
 	fi
     fi    
+    if test -x $dir/nod32cli
+    then
+	if [ "`echo $FIND_SCANNERS|grep ' nod32 '`" != "" ]; then
+	    if [ "`$dir/nod32cli -r -p 8448 $TMP_DIR 2>&1|egrep -i 'infected'`" != "" ]; then
+		NOD32="${NOD32:-$dir/nod32cli}"
+		INSTALLED_SCANNERS="$INSTALLED_SCANNERS
+nod32"
+	    fi
+	fi
+    fi    
     if test -x $dir/csav
     then
 	if [ "`echo $FIND_SCANNERS|grep ' csav '`" != "" ]; then
@@ -1249,6 +1259,10 @@
     echo "uvscan=$UVSCAN" 
     SCANNER_ARRAY="$SCANNER_ARRAY,\"uvscan_scanner\""
 fi
+if [ "$NOD32" != "" ]; then 
+    echo "nod32=$NOD32" 
+    SCANNER_ARRAY="$SCANNER_ARRAY,\"nod32_scanner\""
+fi
 if [ "$SWEEP" != "" -a "$SOPHIE" = "" ]; then 
     echo "sweep=$SWEEP" 
     SCANNER_ARRAY="$SCANNER_ARRAY,\"sweep_scanner\""
@@ -1523,6 +1537,7 @@
 s?MIMEUNPACKER?$MIMEUNPACKER?g;
 s?SILENT_VIRUSES_ARRAY?$FIND_SILENT_VIRUSES_ARRAY?g;
 s?UVSCAN?$UVSCAN?g;
+s?NOD32?$NOD32?g;
 s?CSAV?$CSAV?g;
 s?SWEEP?$SWEEP?g;
 s?SOPHIE?$SOPHIE?g;
diff -Nru qmail-scanner-1.22.orig/qmail-scanner-queue.template qmail-scanner-1.22/qmail-scanner-queue.template
--- qmail-scanner-1.22.orig/qmail-scanner-queue.template	2004-04-15 20:45:33.000000000 +0200
+++ qmail-scanner-1.22/qmail-scanner-queue.template	2004-05-14 17:54:36.000000000 +0200
@@ -191,6 +191,7 @@
 
 my $uvscan_binary='UVSCAN';
 my $csav_binary='CSAV';
+my $nod32_binary='NOD32';
 my $sweep_binary='SWEEP';
 my $sophie_binary='SOPHIE';
 my $trophie_binary='TROPHIE';
diff -Nru qmail-scanner-1.22.orig/sub-nod32.pl qmail-scanner-1.22/sub-nod32.pl
--- qmail-scanner-1.22.orig/sub-nod32.pl	1970-01-01 01:00:00.000000000 +0100
+++ qmail-scanner-1.22/sub-nod32.pl	2004-05-14 17:54:59.000000000 +0200
@@ -0,0 +1,29 @@
+#ESET NOD32 scanner module for qmail-scanner 1.22
+#by Maciej Soltysiak <solt@dns.toxicfilms.tv>
+sub nod32_scanner {
+  #ESET NOD32 scanner
+  &debug("nod32: starting scan of directory \"$ENV{'TMPDIR'}\"...");
+  my ($start_nod32_time)=[gettimeofday];
+  my ($DD,$nod32_status,$stop_nod32_time,$nod32_time,$nod32_verbose);
+
+  #&debug("run $nod32_binary -p 8448  -a -c -r \"$ENV{'TMPDIR'}\"    2>&1");
+  $DD=`$nod32_binary -p 8448  -a -c -r $ENV{'TMPDIR'}    2>&1`;
+  $nod32_status=($? >> 8);
+  &debug("--output of nod32 was:\n$DD--");
+  if ( $nod32_status == 11 || $nod32_status == 10) {
+    if ($DD =~ /infected(.*)$/m) {
+      $quarantine_description=$1;
+      &debug("There be a virus! ($quarantine_description)");
+      ($quarantine_event=$quarantine_description)=~s/\s/_/g;
+      $quarantine_event="nod32:".substr($quarantine_event,0,$QE_LEN);
+      $description .= "\n---nod32 results ---\n$DD";
+      #	   print "virus \"$virus\"\n";
+    } else {
+      #This implies a corrupt set of DAT files or resource problems...
+      &error_condition("corrupt or unknown Nod32 scanner error or memory/resource/perms problem - exit status $nod32_status");
+    }  
+  }
+  $stop_nod32_time=[gettimeofday];
+  $nod32_time = tv_interval ($start_nod32_time, $stop_nod32_time);
+  &debug("nod32: finished scan of dir \"$ENV{'TMPDIR'}\" in $nod32_time secs");
+}
