Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Apr 2004 13:09:57 +0300 (EEST)
From:      Serge Negodyuck <petr@petrovich.kiev.ua>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/65983: update: ports/security/drweb
Message-ID:  <200404261009.i3QA9vOS009963@petrovich.com.ua>
Resent-Message-ID: <200404261020.i3QAKIpp091326@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         65983
>Category:       ports
>Synopsis:       update: ports/security/drweb
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 26 03:20:18 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Serge Negodyuck
>Release:        FreeBSD 4.10-BETA i386
>Organization:
>Environment:
System: FreeBSD petrovich.com.ua 4.10-BETA


	
>Description:

	drweb version 4.31.4 released:
- update to version 4.31.4
- use old version of update.pl instead of new broken one


>How-To-Repeat:
	
>Fix:


diff -ruN drweb/Makefile drweb.new/Makefile
--- drweb/Makefile	Thu Mar 25 21:28:30 2004
+++ drweb.new/Makefile	Mon Apr 26 12:55:00 2004
@@ -6,10 +6,9 @@
 #
 
 PORTNAME=	drweb
-PORTVERSION=	4.31.3
-PORTREVISION=	1
+PORTVERSION=	4.31.4
 CATEGORIES=	security
-MASTER_SITES=	ftp://ftp.drweb.ru/pub/unix/ \
+MASTER_SITES=	ftp://ftp.drweb.ru/pub/unix/generic/ \
 		ftp://ftp.drweb.ru/pub/unix/archive/ \
 		ftp://ftp.drweb.ru/pub/unix/archive/${PORTNAME}-${PORTVERSION}/
 
@@ -44,32 +43,32 @@
 		${TAR} -xf - -C ${DRWEB_PREFIX}
 	${CHMOD} 755 ${DRWEB_PREFIX}/bases ${DRWEB_PREFIX}/doc \
 		${DRWEB_PREFIX}/lib ${DRWEB_PREFIX}/updates
-	${INSTALL_DATA} ${WRKSRC}/usr/local/drweb/drweb.key \
-		${DRWEB_PREFIX}/drweb.key-dist
-	${INSTALL_DATA} ${WRKSRC}/usr/local/drweb/drwebd.key \
-		${DRWEB_PREFIX}/drwebd.key-dist
+	${INSTALL_DATA} ${WRKSRC}/usr/local/drweb/drweb.key-distr \
+		${DRWEB_PREFIX}/drweb.key-distr
+	${INSTALL_DATA} ${WRKSRC}/usr/local/drweb/drwebd.key-distr \
+		${DRWEB_PREFIX}/drwebd.key-distr
 	${SED} 's#%INSTALL%#${DRWEB_PREFIX}#g' \
 		< ${WRKSRC}/usr/local/drweb/update/update.pl \
 		> ${DRWEB_PREFIX}/update/update.pl
 	${CHMOD} 750 ${DRWEB_PREFIX}/update/update.pl
 	${SED} 's#%INSTALL%#${DRWEB_PREFIX}#g' \
 		< ${WRKSRC}/usr/local/etc/drweb/drweb32.ini \
-		> ${PREFIX}/drweb/drweb32.ini-dist
+		> ${PREFIX}/drweb/drweb32.ini-distr
 	${RM} -f ${PREFIX}/bin/drweb
 	${SED} 's#%INSTALL%#${DRWEB_PREFIX}#g' \
 		< ${WRKSRC}/usr/local/etc/rc.d/00drwebd.sh \
 		> ${PREFIX}/etc/rc.d/00drwebd.sh
 	${CHMOD} 755 ${PREFIX}/etc/rc.d/00drwebd.sh
 	if [ ! -f ${PREFIX}/drweb/drweb32.ini ] ; then \
-		${CP} ${PREFIX}/drweb/drweb32.ini-dist \
+		${CP} ${PREFIX}/drweb/drweb32.ini-distr \
 		      ${PREFIX}/drweb/drweb32.ini; \
 	fi
 	if [ ! -f ${DRWEB_PREFIX}/drweb.key ] ; then \
-		${CP} ${DRWEB_PREFIX}/drweb.key-dist \
+		${CP} ${DRWEB_PREFIX}/drweb.key-distr \
 		      ${DRWEB_PREFIX}/drweb.key; \
 	fi
 	if [ ! -f ${DRWEB_PREFIX}/drwebd.key ] ; then \
-		${CP} ${DRWEB_PREFIX}/drwebd.key-dist \
+		${CP} ${DRWEB_PREFIX}/drwebd.key-distr \
 		      ${DRWEB_PREFIX}/drwebd.key; \
 	fi
 	${SED} 's#%INSTALL%#${DRWEB_PREFIX}#g' \
diff -ruN drweb/distinfo drweb.new/distinfo
--- drweb/distinfo	Thu Mar 25 00:04:13 2004
+++ drweb.new/distinfo	Mon Apr 26 12:23:18 2004
@@ -1,4 +1,4 @@
-MD5 (drweb-4.31.3-freebsd4.tar.gz) = 1c6d87efe66fd6bc0bf8aaeb4d4e9b53
-SIZE (drweb-4.31.3-freebsd4.tar.gz) = 2045333
-MD5 (drweb-4.31.3-freebsd5.tar.gz) = 8e87bcd9f53b254ce736ea5c2dd498c3
-SIZE (drweb-4.31.3-freebsd5.tar.gz) = 2350075
+MD5 (drweb-4.31.4-freebsd4.tar.gz) = 346885bf714f8b4c0781d6f8f7b47fc3
+SIZE (drweb-4.31.4-freebsd4.tar.gz) = 2136664
+MD5 (drweb-4.31.4-freebsd5.tar.gz) = be12c95a4ec84081bbcd605f709e627a
+SIZE (drweb-4.31.4-freebsd5.tar.gz) = 2441506
diff -ruN drweb/files/patch-ab drweb.new/files/patch-ab
--- drweb/files/patch-ab	Sat Feb 28 17:17:44 2004
+++ drweb.new/files/patch-ab	Mon Apr 26 12:23:18 2004
@@ -1,6 +1,52 @@
---- usr/local/drweb/update/update.pl.orig	Sat Nov  1 07:59:33 2003
-+++ usr/local/drweb/update/update.pl	Sat Nov  1 08:00:54 2003
-@@ -41,7 +41,7 @@
+---  usr/local/drweb/update/update.pl.orig	Thu Apr 22 21:49:14 2004
++++  usr/local/drweb/update/update.pl	Mon Apr 26 12:17:54 2004
+@@ -1,19 +1,47 @@
+ #! /usr/bin/perl
+ #------------------------------------------------------------------------------
+-# drwebd update script (Linux only!), version 1.02
++# drwebd update script, version 1.01
+ #------------------------------------------------------------------------------
+-use strict;
++# 
++# ChangeLog
++#
++# 24-11-2002, Vsevolod Lutovinov <vla@drweb.ru>
++#	
++#	* CRC32 implementation, no more String::CRC32 needed
++#	* fetch or wget search rewritten
++#
++#------------------------------------------------------------------------------
++#use strict;
+ 
+ #------------------------------------------------------------------------------
+-my $TEMP = '/tmp';
+-my $url = 'http://update.drweb.com';
+-my $md5 = 'md5sum';
+-my $md5sum = '';
++my $TEMP = "/tmp";
++
++my $system = '';
++$system = "linux" if( $^O =~ /Linux/i );
++$system = "freebsd4" if( $^O =~ /FreeBSD/i );
++$system = "openbsd" if( $^O =~ /OpenBSD/i );
++$system = "solaris" if( $^O =~ /Solaris/i );
++$system = "netbsd" if( $^O =~ /NetBSD/i );
++die "Unsupported OS!\n" unless $system;
++
++my @urls = 
++(
++#
++# commercial URL example:
++# "http://LOGIN:PASSWORD\@updates.drweb.ru/$system/drweb32.lst"
++#
++  # main URL:
++  "http://updates.drweb.ru/free/$system/drweb32.lst",
++  # emergency URL's:
++  "http://www.dials.ru/drweb/$system/drweb32.lst"
++  # ...
++  # ...
++);
+ 
  my $ini = $ARGV[0];
  if( $ini eq '' )
  {
@@ -9,12 +55,82 @@
    $ini = '/etc/drweb/drweb32.ini' if $ini eq '';    
  }
  
-@@ -79,7 +79,7 @@
+@@ -45,21 +73,13 @@
+ my $bases = '';
+ my $update = '';
+ my $pidFile = '';
+-my $keyFile = '';
+ 
+    readIniFile( $ini );
+    die "Engine is not defined!" unless $engine;
     die "Bases path is not defined!" unless $bases;
     die "Update path is not defined!" unless $update;
+-   die "Key file is not defined!" unless $keyFile;   
+-   
+-   $md5sum = `$md5 $keyFile`;
+-   ( $md5sum, undef ) = split( '[\s*]', $md5sum );
+-   chomp $md5sum;
+-   die "Can not calculate md5 sum of file $keyFile\n"
+-	unless $md5sum;
     
 -   $pidFile = "/var/drweb/run/drwebd.pid" if( $pidFile eq '' );
 +   $pidFile = "%INSTALL%/drwebd.pid" if( $pidFile eq '' );
  
  my $version = readVersion( $engine ); 
     die "Engine version error (invalid engine?)" unless $version;
+@@ -70,10 +90,12 @@
+    $Paths{ "vdb\$" } = "$bases";
+    $Paths{ "dll\$" } = "$engine";
+ 
+-print "$fetch - $url/$md5sum/linux/drweb32.lst\n";
++   foreach my $url ( @urls )
++   { 
++     next if $url !~ m/^(.*)\/([\w.]+)$/o; # invalid URL
++     my ( $b_url, $l_url ) = ( $1, $2 );
+ 
+-     open FH, "$fetch - $url/$md5sum/linux/drweb32.lst |" 
+-    		    or die "Can not fetch $url/$md5sum/linux/drweb32.lst\n";
++     open FH, "$fetch - $url |" or next;
+      my $my_section = 0;
+ 
+      while ( <FH> ) 
+@@ -125,10 +147,9 @@
+         }
+ 
+         my $newfile = "$TEMP/$file".rand();
+-        system( "$fetch $newfile $url/$md5sum/linux/$file" );	
++        system( "$fetch $newfile $b_url/$file" );	
+         warn "Can't get $file" unless -e "$newfile";
+-        $added{ fullPath( $file ) } = $newfile, 
+-	    next if $add{$file} ne '' and $add{$file} == &filecrc32( "$newfile" );
++        $added{ fullPath( $file ) } = $newfile, next if $add{$file} ne '' and $add{$file} == &filecrc32( "$newfile" );
+         warn "Can't get $file with valid CRC32";
+         unlink "$newfile";
+      }
+@@ -152,6 +173,9 @@
+         chomp( $pid );
+         kill 'HUP', $pid;
+      }
++     exit;
++   }
++
+ 
+ #------------------------------------------------------------------------------
+ sub readVersion
+@@ -197,16 +221,6 @@
+         $pidFile= $v;
+         $pidFile =~ s/^[\"\t =]*//g;
+         $pidFile =~ s/[\" \t]*$//g;       
+-      }
+-    }
+-    elsif( /^Key/ )
+-    {
+-      my ( $k, $v ) = split( 'Key' );
+-      if( $v ne '' )
+-      {
+-        $keyFile= $v;
+-        $keyFile =~ s/^[\"\t =]*//g;
+-        $keyFile =~ s/[\" \t]*$//g;       
+       }
+     }
+     elsif( /^VirusBase/ && $bases eq '' ) # first base path only
diff -ruN drweb/pkg-install drweb.new/pkg-install
--- drweb/pkg-install	Fri Mar 26 02:14:40 2004
+++ drweb.new/pkg-install	Mon Apr 26 12:57:36 2004
@@ -36,6 +36,7 @@
 
 if ! grep -q "^!${USER}" /etc/syslog.conf; then
   echo "You may also add this lines to your /etc/syslog.conf:"
+  echo "!drwebd"
   echo "*.*             /var/log/drwebd.log"
   echo ""
 fi
diff -ruN drweb/pkg-plist drweb.new/pkg-plist
--- drweb/pkg-plist	Fri Mar 26 02:14:40 2004
+++ drweb.new/pkg-plist	Mon Apr 26 12:55:32 2004
@@ -3,6 +3,17 @@
 drweb/ChangeLog
 drweb/README
 drweb/README.RUS
+drweb/bases/drw43112.vdb
+drweb/bases/drw43111.vdb
+drweb/bases/drw43110.vdb
+drweb/bases/drw43109.vdb
+drweb/bases/drw43108.vdb
+drweb/bases/drw43107.vdb
+drweb/bases/drw43106.vdb
+drweb/bases/drw43105.vdb
+drweb/bases/drw43104.vdb
+drweb/bases/drw43103.vdb
+drweb/bases/drw43102.vdb
 drweb/bases/drw43101.vdb
 drweb/bases/drwebase.vdb
 drweb/doc/readme.daemon
@@ -11,15 +22,15 @@
 drweb/doc/readme.scanner
 drweb/doc/readme.scanner.rus
 drweb/drweb
-@unexec if [ -f %D/drweb/drweb.key ] && cmp -s %D/drweb/drweb.key %D/drweb/drweb.key-dist; then rm -f %D/drweb/drweb.key; fi
-drweb/drweb.key-dist
+@unexec if [ -f %D/drweb/drweb.key ] && cmp -s %D/drweb/drweb.key %D/drweb/drweb.key-distr; then rm -f %D/drweb/drweb.key; fi
+drweb/drweb.key-distr
 @exec if [ ! -f %D/drweb/drweb.key ] ; then cp -p %D/%F %B/drweb.key; fi
-@unexec if [ -f %D/drweb/drweb32.ini ] && cmp -s %D/drweb/drweb32.ini %D/drweb/drweb32.ini-dist; then rm -f %D/drweb/drweb32.ini; fi
-drweb/drweb32.ini-dist
+@unexec if [ -f %D/drweb/drweb32.ini ] && cmp -s %D/drweb/drweb32.ini %D/drweb/drweb32.ini-distr; then rm -f %D/drweb/drweb32.ini; fi
+drweb/drweb32.ini-distr
 @exec if [ ! -f %D/drweb/drweb32.ini ] ; then cp -p %D/%F %B/drweb32.ini; fi
 drweb/drwebd
-@unexec if [ -f %D/drweb/drwebd.key ] && cmp -s %D/drweb/drwebd.key %D/drweb/drwebd.key-dist; then rm -f %D/drweb/drwebd.key; fi
-drweb/drwebd.key-dist
+@unexec if [ -f %D/drweb/drwebd.key ] && cmp -s %D/drweb/drwebd.key %D/drweb/drwebd.key-distr; then rm -f %D/drweb/drwebd.key; fi
+drweb/drwebd.key-distr
 @exec if [ ! -f %D/drweb/drwebd.key ] ; then cp -p %D/%F %B/drwebd.key; fi
 drweb/drwebdc
 drweb/lib/drweb32.dll
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404261009.i3QA9vOS009963>