From owner-freebsd-ports Mon Nov 12 2:30:14 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 1432737B418 for ; Mon, 12 Nov 2001 02:30:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id fACAU1O01525; Mon, 12 Nov 2001 02:30:01 -0800 (PST) (envelope-from gnats) Received: from mix.premierbank.dp.ua (premierbank.atlantis.dp.ua [193.108.46.78]) by hub.freebsd.org (Postfix) with SMTP id BFD1D37B405 for ; Mon, 12 Nov 2001 02:21:16 -0800 (PST) Received: (qmail 30096 invoked by uid 85); 12 Nov 2001 10:20:59 -0000 Received: from kot@premierbank.dp.ua by mix.premierbank.dp.ua with qmail-scanner-1.01 (. Clean. Processed in 0.379327 secs); 12 Nov 2001 10:20:59 -0000 Received: from kot.premierbank.dp.ua (HELO kot) (192.168.2.136) by mix.premierbank.dp.ua with SMTP; 12 Nov 2001 10:20:58 -0000 Message-Id: <001001c16b63$b8a10820$8802a8c0@premierbank.dp.ua> Date: Mon, 12 Nov 2001 12:20:58 +0200 From: "Konstantin Reznichenko" To: Subject: ports/31926: New port security/drweb-qmail: Qmail message filter for virus processing through DrWeb daemon Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 31926 >Category: ports >Synopsis: New port security/drweb-qmail: Qmail message filter for >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Nov 12 02:30:00 PST 2001 >Closed-Date: >Last-Modified: >Originator: Konstantin Reznichenko >Release: FreeBSD 4.2-RELEASE i386 >Organization: PREMIERBANK >Environment: System: FreeBSD saturn.premierbank.dp.ua 4.2-RELEASE FreeBSD 4.2-RELEASE #7: Sun Oct 14 10:21:45 EEST 2001 toor@saturn.premierbank.dp.ua:/usr/src/sys/compile/SATURN i386 >Description: Qmail message filter for virus processing through Qmail-Scanner and DrWeb daemon (Qmail-Scanner: Email Scanning Harness for Qmail). >How-To-Repeat: Execute the following shar file. >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # drweb-qmail # drweb-qmail/files # drweb-qmail/files/patch-aa # drweb-qmail/Makefile # drweb-qmail/distinfo # drweb-qmail/pkg-comment # drweb-qmail/pkg-descr # drweb-qmail/pkg-plist # echo c - drweb-qmail mkdir -p drweb-qmail > /dev/null 2>&1 echo c - drweb-qmail/files mkdir -p drweb-qmail/files > /dev/null 2>&1 echo x - drweb-qmail/files/patch-aa sed 's/^X//' >drweb-qmail/files/patch-aa << 'END-of-drweb-qmail/files/patch-aa' X--- configure.orig Thu Sep 6 02:11:26 2001 X+++ configure Sun Nov 11 18:01:40 2001 X@@ -341,6 +341,10 @@ X then X INOCUCMD="${INOCUCMD:-$dir/inocucmd}" X fi X+ if test -x $dir/drweb_qmail.pl X+ then X+ DRWEB="${DRWEB:-$dir/drweb_qmail.pl}" X+ fi X if test -x $dir/find X then X FIND="${FIND:-$dir/find}" X@@ -652,6 +656,12 @@ X SCANNER_ARRAY="$SCANNER_ARRAY,\"inocucmd\"" X fi X X+if [ "$DRWEB" != "" ]; then X+ echo "drweb=$DRWEB" X+ SCANNER_ARRAY="$SCANNER_ARRAY,\"drweb\"" X+fi X+ X+ X USERNAME=${USERNAME:-$LOGNAME} X X SCANNER_ARRAY=`echo $SCANNER_ARRAY|sed 's/^,//g'` X@@ -800,6 +810,7 @@ X s?AVPDAEMON?$AVPDAEMON?g; X s?FSECURE?$FSECURE?g; X s?INOCUCMD?$INOCUCMD?g; X+s?DRWEB?$DRWEB?g; X s?USERNAME?$USERNAME?g; X s?FQDN?$FQDN?g; X s?MAILDOMAIN?$MAILDOMAIN?g; X--- qmail-scanner-queue.template.orig Fri Sep 7 01:12:20 2001 X+++ qmail-scanner-queue.template Wed Oct 17 17:29:37 2001 X@@ -166,6 +166,7 @@ X my $avpdaemon_binary='AVPDAEMON'; X my $fsecure_binary='FSECURE'; X my $inocucmd_binary='INOCUCMD'; X+my $drweb_binary='DRWEB'; X $ENV{'PATH'}='/bin:/usr/bin'; X X my $SCANINFO=''; X--- sub-drweb.pl.orig Thu Jan 1 03:00:00 1970 X+++ sub-drweb.pl Wed Oct 17 17:33:36 2001 X@@ -0,0 +1,42 @@ X+sub drweb { X+ # Call DrWeb Daemon Perl-Wrapper Client X+ &debug("drweb: starting scan of directory \"$scandir/$file_id\"..."); X+ my ($drweb_verbose)="" if ($DEBUG); X+ my ($start_drweb_time)=[gettimeofday]; X+ my ($DD,$drweb_status,$stop_drweb_time,$drweb_time); X+ &debug("drweb: run $drweb_binary $scandir/$file_id"); X+ $DD = `perl $drweb_binary $scandir/$file_id`; X+ $drweb_status = ($? >> 8); X+ &debug("drweb: wrapper return code($drweb_status) and string:\n$DD"); X+ if( $drweb_status eq 1 ) { X+ my @list = split(/\n/,$DD); X+ $quarantine_description = ''; X+ foreach( @list ) { X+ $quarantine_description .= "$_\n"; X+ $quarantine_event++; X+ } X+ &debug("drweb: Found a viruses:\n$quarantine_description"); X+ $description .= "\n--- drweb results ---\n$DD"; X+ } X+ elsif( $drweb_status eq 2 ) { X+ $quarantine_description = "possible contain a mailbomb"; X+ $quarantine_event=1; X+ &debug("drweb: message possible contain a mailbomb"); X+ $description .= "\n--- drweb results ---\nmessage possible contain a mailbomb"; X+ } X+ elsif( $drweb_status eq 3 ) { X+ $quarantine_description = "contain an unchecked objects"; X+ $quarantine_event=1; X+ &debug("drweb: message possible contain an unchecked objects"); X+ $description .= "\n--- drweb results ---\nmessage contain an unchecked objects"; X+ } X+ elsif( $drweb_status eq 10 ) { X+ &debug("drweb: message has not been checked - $DD"); X+ } X+ elsif( $drweb_status > 0 ) { X+ &tempfail("drweb: antivirus software failure"); X+ } X+ my ($stop_drweb_time)=[gettimeofday]; X+ $drweb_time = tv_interval ($start_drweb_time, $stop_drweb_time); X+ &debug("drweb: finished scan of dir \"$scandir/$file_id\" in $drweb_time secs"); X+} END-of-drweb-qmail/files/patch-aa echo x - drweb-qmail/Makefile sed 's/^X//' >drweb-qmail/Makefile << 'END-of-drweb-qmail/Makefile' X# New ports collection makefile for: DrWeb_QMail X# Date created: 9 November 2001 X# Whom: Konstantin Reznichenko X# X# $FreeBSD$ X# X XPORTNAME= drweb_qmail XPORTVERSION= 4.26c XCATEGORIES= security mail XMASTER_SITES= http://prdownloads.sourceforge.net/qmail-scanner/ XDISTNAME= qmail-scanner-1.01 XEXTRACT_SUFX= .tgz X XMAINTAINER= kot@premierbank.dp.ua X XDRWEBBASE= ${LOCALBASE}/drweb XIS_INTERACTIVE= yes X XBUILD_DEPENDS= ${DRWEBBASE}/drwebd:${PORTSDIR}/security/drweb \ X ${PORTSDIR}/mail/qmail \ X ${PORTSDIR}/devel/p5-Time-HiRes \ X ${LOCALBASE}/bin/maildrop:${PORTSDIR}/mail/maildrop \ X ${LOCALBASE}/bin/tnef:${PORTSDIR}/converters/tnef XRUN_DEPENDS= ${BUILD_DEPENDS} X XWRKSRC= ${WRKDIR}/${DISTNAME} X XCONFIGURE_ENV= PATH=${PATH}:${LOCALBASE}/drweb/clients/qmail XNO_BUILD= yes X Xdo-install: X cd ${DRWEBBASE}/clients/drwebdc && ./${CONFIGURE_SCRIPT} && ${MAKE} X cd ${WRKSRC} && ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} --install X ${CHMOD} 4711 /usr/bin/suidperl X X.include END-of-drweb-qmail/Makefile echo x - drweb-qmail/distinfo sed 's/^X//' >drweb-qmail/distinfo << 'END-of-drweb-qmail/distinfo' XMD5 (qmail-scanner-1.01.tgz) = 82b92420eda64e18197f35dbbd0a8a3d END-of-drweb-qmail/distinfo echo x - drweb-qmail/pkg-comment sed 's/^X//' >drweb-qmail/pkg-comment << 'END-of-drweb-qmail/pkg-comment' XQmail message filter for virus processing through DrWeb daemon END-of-drweb-qmail/pkg-comment echo x - drweb-qmail/pkg-descr sed 's/^X//' >drweb-qmail/pkg-descr << 'END-of-drweb-qmail/pkg-descr' XQmail message filter for virus processing through Qmail-Scanner and XDrWeb daemon (Qmail-Scanner: Email Scanning Harness for Qmail).END-of-drweb-qmail/pkg-descr echo x - drweb-qmail/pkg-plist sed 's/^X//' >drweb-qmail/pkg-plist << 'END-of-drweb-qmail/pkg-plist' X@cwd /usr/bin X@exec chmod 4711 %D/suidperl X@cwd /var/spool X@exec mkdir -p %D/qmailscan/quarantine/cur X@exec mkdir -p %D/qmailscan/quarantine/new X@exec mkdir -p %D/qmailscan/quarantine/tmp X@exec mkdir -p %D/qmailscan/working/cur X@exec mkdir -p %D/qmailscan/working/new X@exec mkdir -p %D/qmailscan/working/tmp X@exec ln -s %D/qmailscan/quarantine %D/qmailscan/viruses Xqmailscan/qmail-queue.log Xqmailscan/qmail-scanner-queue-version.txt Xqmailscan/quarantine-attachments.db Xqmailscan/quarantine-attachments.txt Xqmailscan/quarantine.log X@exec ln -s %D/qmailscan/quarantine.log %D/qmailscan/viruses.log X@dirrm qmailscan/quarantine/cur X@dirrm qmailscan/quarantine/new X@dirrm qmailscan/quarantine/tmp X@dirrm qmailscan/quarantine X@dirrm qmailscan/working/cur X@dirrm qmailscan/working/new X@dirrm qmailscan/working/tmp X@dirrm qmailscan/working X@unexec unlink /var/spool/qmailscan/viruses X@unexec unlink /var/spool/qmailscan/viruses.log X@dirrm qmailscan END-of-drweb-qmail/pkg-plist exit >Release-Note: >Audit-Trail: >Unformatted: virus processing through DrWeb daemon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message