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"); +}