This is a patch for qmail-scanner-1.24-st...
If anyone needs it...
Ciao, Diaolin

-- 
Nel 1968 la potenza operativa di 2 C-64 hanno portato un razzo sulla luna.
Oggi la potenza operativa di un Athlon 3000+ viene usata per far girare
X?....Qualcosa deve essere andato storto
Diaolin
Common subdirectories: qmail-scanner-1.24st/autoupdaters and qmail-scanner-1.24st-enod32/autoupdaters
diff -Nu qmail-scanner-1.24st/configure qmail-scanner-1.24st-enod32/configure
--- qmail-scanner-1.24st/configure	2005-01-20 17:58:17.000000000 +0100
+++ qmail-scanner-1.24st-enod32/configure	2005-01-24 15:12:17.000000000 +0100
@@ -39,7 +39,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,bitdefender,nod32,verbose_spamassassin,fast_spamassassin"
+SUPPORTED_SCANNERS="clamscan,clamdscan,sweep,sophie,vscan,trophie,uvscan,csav,antivir,kavscanner,AvpLinux,kavdaemon,AvpDaemonClient,fsav,fprot,inocucmd,vexira,bitdefender,nod32,enod32,verbose_spamassassin,fast_spamassassin"
 
 SILENT_VIRUSES="klez,bugbear,hybris,yaha,braid,nimda,tanatos,sobig,winevar,palyh,fizzer,gibe,cailont,lovelorn,swen,dumaru,sober,hawawi,hawaii,holar-i,mimail,poffer,bagle,worm.galil,mydoom,worm.sco,tanx,novarg,[EMAIL PROTECTED],cissy,cissi,qizy,bugler,dloade,netsky,spam"
 
@@ -1024,6 +1024,18 @@
             fi
         fi
     fi
+    if test -x $dir/nod32
+    then
+        if [ "`echo $FIND_SCANNERS|grep ' enod32 '`" != "" ]; then
+            if [ "`$dir/nod32 -z --mail --heursens deep  $TMP_DIR 2>&1|egrep -i 'infected'`" != "" ]; then
+                ENOD32="${ENOD32:-$dir/nod32}"
+                EUPDNOD="${ENOD32:-$dir/nod32upd}"
+                INSTALLED_SCANNERS="$INSTALLED_SCANNERS
+enod32"
+            fi
+        fi
+    fi
+
     if test -x $dir/inocucmd
     then
         if [ "`echo $FIND_SCANNERS|grep ' inocucmd '`" != "" -a "$INOCUCMD" = "" ]; then
@@ -1032,6 +1044,7 @@
               INSTALLED_SCANNERS="$INSTALLED_SCANNERS
 inocucmd"
            fi
+
        fi
     fi  
 #    if test -x $dir/ravav
@@ -1535,6 +1548,10 @@
     echo "nod32=$NOD32"
     SCANNER_ARRAY="$SCANNER_ARRAY,\"nod32_scanner\""
 fi
+if [ "$ENOD32" != "" ]; then
+    echo "enod32=$ENOD32"
+    SCANNER_ARRAY="$SCANNER_ARRAY,\"enod32_scanner\""
+fi
 if [ "$SWEEP" != "" -a "$SOPHIE" = "" ]; then 
     echo "sweep=$SWEEP" 
     SCANNER_ARRAY="$SCANNER_ARRAY,\"sweep_scanner\""
@@ -2004,6 +2021,8 @@
 s?INOCUCMD?$INOCUCMD?g;
 s?RAVLIN?$RAVLIN?g;
 s?VEXIRA?$VEXIRA?g;
+s?ENOD32?$ENOD32?g;
+s?EUPDNOD?$EUPDNOD?g;
 s?NOD32?$NOD32?g;
 s?UPDNOD?$UPDNOD?g;
 s?BITDEFENDER?$BITDEFENDER?g;
Common subdirectories: qmail-scanner-1.24st/contrib and qmail-scanner-1.24st-enod32/contrib
Common subdirectories: qmail-scanner-1.24st/locale and qmail-scanner-1.24st-enod32/locale
diff -Nu qmail-scanner-1.24st/qmail-scanner-queue.template qmail-scanner-1.24st-enod32/qmail-scanner-queue.template
--- qmail-scanner-1.24st/qmail-scanner-queue.template	2005-01-20 18:19:13.000000000 +0100
+++ qmail-scanner-1.24st-enod32/qmail-scanner-queue.template	2005-01-24 15:12:48.000000000 +0100
@@ -305,6 +305,8 @@
 
 my $uvscan_binary='UVSCAN';
 my $csav_binary='CSAV';
+my $enod32_binary='ENOD32';
+my $enod32upd_binary='EUPDNOD';
 my $nod32_binary='NOD32';
 my $nod32upd_binary='UPDNOD';
 my $sweep_binary='SWEEP';
diff -Nu qmail-scanner-1.24st/sub-enod32.pl qmail-scanner-1.24st-enod32/sub-enod32.pl
--- qmail-scanner-1.24st/sub-enod32.pl	1970-01-01 01:00:00.000000000 +0100
+++ qmail-scanner-1.24st-enod32/sub-enod32.pl	2005-01-24 15:08:07.000000000 +0100
@@ -0,0 +1,39 @@
+# Adapted by Open IT S.r.l. <[EMAIL PROTECTED]>
+sub enod32_scanner {
+  #enod32 Linux scanner
+  &debug("enod32: starting scan of directory \"$ENV{'TMPDIR'}\"...");
+  my ($start_enod32_time)=[gettimeofday];
+  my ($enod32_verbose,$DD,$enod32_status,$stop_enod32_time,$enod32_time);
+  $enod32_verbose="-o" if ($DEBUG);
+  &debug("Setting enviroment \$TEMP to $ENV{'TMPDIR'}");
+  $ENV{'TEMP'} = $ENV{'TMPDIR'};
+  &debug("run $enod32_binary -z --mail --heursens deep $enod32_verbose $ENV{'TMPDIR'}  2>&1");
+  $DD=`$enod32_binary -z --mail --heursens deep $enod32_verbos $ENV{'TMPDIR'}  2>&1`;
+  # Removing CRLF windows chars
+  $DD =~ s/\r//g;
+  $enod32_status= $?;
+  $enod32_status=($? >> 8);
+  &debug("--output of enod32 was:\n$DD--");
+  if ( $enod32_status !~ /^0$/) {
+    if ($enod32_status =~ /^(1|10)$/) {
+      $quarantine_description="undefined virus";
+      if ($DD =~ /\n$ENV{'TMPDIR'} - (.+)\n/i) {
+	$destring='Infected/Cleaned file:';
+	$quarantine_description=$1;
+	#This covers the specific
+      }
+      &debug("There be a $destring! ($quarantine_description)");
+      ($quarantine_event=$quarantine_description)=~s/\s/_/g;
+      $quarantine_event="enod32:".substr($quarantine_event,0,$QE_LEN);
+    } elsif ($enod32_status =~ /^(100|101)$/) {
+      &error_condition("corrupt or unknown enod32 scanner error or memory/resource/perms problems - exit status $enod32_status");
+    } else {
+      &error_condition("corrupt or unknown enod32 scanner error or new exit code (not implemented): exit status $enod32_status");      	
+    }	
+  }
+  $stop_enod32_time=[gettimeofday];
+  $enod32_time = tv_interval ($start_enod32_time, $stop_enod32_time);
+  &debug("Deleting enviroment \$TEMP");
+  delete $ENV{'TEMP'};
+  &debug("enod32: finished scan of dir \"$ENV{'TMPDIR'}\" in $enod32_time secs");
+}

Reply via email to