Date: Tue, 6 Jul 2004 19:13:45 +0200 (CEST) From: Blaz Zupan <blaz@si.FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/68732: MAINTAINER UPDATE: amavisd-new 20040701 Message-ID: <20040706171345.6AC175547D@titanic.medinet.si> Resent-Message-ID: <200407061720.i66HKIws041450@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 68732 >Category: ports >Synopsis: MAINTAINER UPDATE: amavisd-new 20040701 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Tue Jul 06 17:20:18 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Blaz Zupan >Release: FreeBSD 4.10-RELEASE i386 >Organization: >Environment: System: FreeBSD titanic.medinet.si 4.10-RELEASE FreeBSD 4.10-RELEASE #1: Sun Jun 27 16:39:26 CEST 2004 root@bigbrother.amis.net:/usr/obj/usr/src/sys/TITANIC i386 >Description: - update amavisd-new to 20040701 - add dependency on cabextract and rpm2cpio.pl - add menu used to add required dependencies for MySQL, PostgreSQL and LDAP support - add warning when running under perl version below 5.8.2 - remove taint checks when running perl 5.00503 - (hopefully) fix chroot support by running amavisd with -u instead of using "su" - mention other virus scanners available in the ports collection in the startup message >How-To-Repeat: >Fix: diff -urN amavisd-new.orig/Makefile amavisd-new/Makefile --- amavisd-new.orig/Makefile Sun Apr 4 08:23:11 2004 +++ amavisd-new/Makefile Tue Jul 6 18:54:25 2004 @@ -7,7 +7,7 @@ # Based on amavisd ports makefile. PORTNAME= amavisd-new -PORTVERSION= 20030616.p9 +PORTVERSION= 20040701 CATEGORIES= security MASTER_SITES= http://www.ijs.si/software/amavisd/ \ http://mirrors.catpipe.net/amavisd-new/ \ @@ -26,13 +26,16 @@ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \ ${SITE_PERL}/Net/Server.pm:${PORTSDIR}/net/p5-Net-Server \ ${SITE_PERL}/Mail/SpamAssassin.pm:${PORTSDIR}/mail/p5-Mail-SpamAssassin \ + ${SITE_PERL}/${PERL_ARCH}/BerkeleyDB.pm:${PORTSDIR}/databases/p5-BerkeleyDB \ ${LOCALBASE}/bin/arc:${PORTSDIR}/archivers/arc \ ${LOCALBASE}/bin/unfreeze:${PORTSDIR}/archivers/freeze \ ${LOCALBASE}/bin/lha:${PORTSDIR}/archivers/lha \ ${LOCALBASE}/bin/lzop:${PORTSDIR}/archivers/lzop \ ${LOCALBASE}/bin/unarj:${PORTSDIR}/archivers/unarj \ ${LOCALBASE}/bin/unrar:${PORTSDIR}/archivers/unrar \ - ${LOCALBASE}/bin/zoo:${PORTSDIR}/archivers/zoo + ${LOCALBASE}/bin/zoo:${PORTSDIR}/archivers/zoo \ + ${LOCALBASE}/bin/cabextract:${PORTSDIR}/archivers/cabextract \ + ${LOCALBASE}/bin/rpm2cpio.pl:${PORTSDIR}/archivers/rpm2cpio USE_PERL5_RUN= yes USE_RC_SUBR= yes @@ -48,6 +51,9 @@ WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C/\.p.+//} +SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" \ + MKDIR="${MKDIR}" + .if !exists(/usr/lib/libmilter.so) && !exists(${PREFIX}/lib/libmilter.so) AMAVIS_NOMILTER="@comment " .endif @@ -72,12 +78,29 @@ -e 's,%%PREFIX%%,${PREFIX},g' \ -e 's,%%RC_SUBR%%,${RC_SUBR},g' +pre-fetch: + @${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure + +.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc) +.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc" +.endif + +.include <bsd.port.pre.mk> + pre-build: +.if ${PERL_LEVEL} < 500802 +# add warning to greeting message when running perl older than 5.8.2 + ${SED} -e 's,%%PERLVERSION%%,${PERL_VERSION},g' < ${FILESDIR}/perlwarning.tmpl > ${WRKDIR}/MESSAGE +.endif +.if ${PERL_LEVEL} < 500600 +# remove taint checks when running under perl 5.00503 + ${SED} -e 's,^\#\!/usr/bin/perl -T,\#\!/usr/bin/perl,' < ${WRKSRC}/amavisd > ${WRKDIR}/amavisd +.endif for f in amavisd.sh amavis-milter.sh INSTALL DEINSTALL MESSAGE; do \ - ${SED} ${SED_SCRIPT} < ${FILESDIR}/$${f}.tmpl > ${WRKDIR}/$${f}; \ + ${SED} ${SED_SCRIPT} < ${FILESDIR}/$${f}.tmpl >> ${WRKDIR}/$${f}; \ done - for f in amavisd.conf amavisd; do \ - ${SED} ${SED_SCRIPT} < ${WRKSRC}/$${f} > ${WRKDIR}/$${f}; \ + for f in amavisd.conf amavisd.conf-sample amavisd; do \ + ${SED} ${SED_SCRIPT} < ${WRKSRC}/$${f} >> ${WRKDIR}/$${f}; \ done pre-install: @@ -91,10 +114,12 @@ .endif ${INSTALL_SCRIPT} ${WRKDIR}/amavisd ${PREFIX}/sbin ${INSTALL_SCRIPT} ${WRKDIR}/amavisd.conf ${PREFIX}/etc/amavisd.conf-dist + ${INSTALL_SCRIPT} ${WRKDIR}/amavisd.conf-sample ${PREFIX}/etc/amavisd.conf-sample + ${INSTALL_SCRIPT} ${WRKSRC}/amavisd.conf-default ${PREFIX}/etc/amavisd.conf-default ${INSTALL_SCRIPT} ${WRKDIR}/amavisd.sh ${PREFIX}/etc/rc.d .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} -.for FILE in AAAREADME.first INSTALL LICENSE RELEASE_NOTES README_FILES/* +.for FILE in AAAREADME.first INSTALL LDAP.schema LICENSE RELEASE_NOTES README_FILES/* ${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR} .endfor @@ -102,8 +127,6 @@ @${CAT} ${PKGMESSAGE} .endif -.include <bsd.port.pre.mk> - .if ${PERL_LEVEL} < 500800 RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5 \ ${SITE_PERL}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes @@ -112,5 +135,8 @@ .if ${PERL_LEVEL} < 500600 RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/IO/Socket/UNIX.pm:${PORTSDIR}/devel/p5-IO .endif + +post-clean: + @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc .include <bsd.port.post.mk> diff -urN amavisd-new.orig/distinfo amavisd-new/distinfo --- amavisd-new.orig/distinfo Sun Apr 4 08:23:11 2004 +++ amavisd-new/distinfo Sun Jul 4 11:25:45 2004 @@ -1,2 +1,2 @@ -MD5 (amavisd-new-20030616-p9.tar.gz) = 4c96fadc57a5de84cc3bc6b548b46aff -SIZE (amavisd-new-20030616-p9.tar.gz) = 363756 +MD5 (amavisd-new-20040701.tar.gz) = d5566eeaf1e47b6c856f4e676e93d584 +SIZE (amavisd-new-20040701.tar.gz) = 451622 diff -urN amavisd-new.orig/files/INSTALL.tmpl amavisd-new/files/INSTALL.tmpl --- amavisd-new.orig/files/INSTALL.tmpl Sat Jan 4 11:59:25 2003 +++ amavisd-new/files/INSTALL.tmpl Sun Jul 4 12:28:35 2004 @@ -41,6 +41,8 @@ /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR} echo "Created \"${DIR}\" directory." + /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR}/db + echo "Created \"${DIR}/db\" directory." /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${QUARANTINE} echo "Created \"${QUARANTINE}\" directory." fi diff -urN amavisd-new.orig/files/MESSAGE.tmpl amavisd-new/files/MESSAGE.tmpl --- amavisd-new.orig/files/MESSAGE.tmpl Thu Nov 20 12:00:18 2003 +++ amavisd-new/files/MESSAGE.tmpl Sun Jul 4 12:23:00 2004 @@ -1,9 +1,13 @@ ******************************************************************* To use amavisd-new, you need to install at least one virus scanner. - For example McAfee VirusScan is available as a FreeBSD port - in /usr/ports/security/vscan and Clam Antivirus is available - in /usr/ports/security/clamav. + The following virus scanners are available in the FreeBSD ports + collection: + + /usr/ports/security/vscan McAfee VirusScan + /usr/ports/security/clamav Clam Antivirus + /usr/ports/security/f-prot F-Prot Antivirus + /usr/ports/security/drweb DrWeb antivirus suite Enable amavisd-new in /etc/rc.conf with the following line: @@ -14,9 +18,9 @@ amavis_milter_enable="YES" - A configuration template is available in %%PREFIX%%/etc - as amavisd.conf-dist. Copy it to amavisd.conf and edit it to - suit your needs. Documentation is available in - %%DOCSDIR%%. + Configuration templates are available in %%PREFIX%%/etc + as amavisd.conf-dist, amavisd.conf-sample and amavisd.conf-default. + Copy any of them to amavisd.conf and edit the file to suit your + needs. Documentation is available in %%DOCSDIR%%. ******************************************************************* diff -urN amavisd-new.orig/files/amavisd.sh.tmpl amavisd-new/files/amavisd.sh.tmpl --- amavisd-new.orig/files/amavisd.sh.tmpl Thu Nov 20 12:00:19 2003 +++ amavisd-new/files/amavisd.sh.tmpl Tue Jul 6 18:57:26 2004 @@ -21,7 +21,7 @@ command=%%PREFIX%%/sbin/amavisd > /dev/null 2>&1 -amavisd_user=%%AMAVISUSER%% +amavisd_flags="-u %%AMAVISUSER%%" pidfile=%%AMAVISDIR%%/amavisd.pid required_files=%%PREFIX%%/etc/amavisd.conf diff -urN amavisd-new.orig/files/patch-amavisd amavisd-new/files/patch-amavisd --- amavisd-new.orig/files/patch-amavisd Sun Apr 4 08:23:11 2004 +++ amavisd-new/files/patch-amavisd Sun Jul 4 11:28:48 2004 @@ -1,11 +1,11 @@ ---- amavisd.orig Fri Apr 2 21:33:50 2004 -+++ amavisd Sat Apr 3 12:29:41 2004 -@@ -6461,7 +6461,7 @@ - my($amavisd_path) = find_program_path($0, [split(/:/, $path, -1)], 0); - $amavisd_path = $1 if $amavisd_path=~m{^([A-Za-z0-9/._=+-]+)$(?!\n)}; # untaint +--- amavisd.orig Sun Jul 4 03:19:35 2004 ++++ amavisd Sun Jul 4 11:28:36 2004 +@@ -7367,7 +7367,7 @@ + $Amavis::Conf::log_recip_templ = $1 + if $Amavis::Conf::log_recip_templ=~/^(.*?)[\r\n]+\z/s; -my($config_file) = '/etc/amavisd.conf'; # default location of config file +my($config_file) = '%%PREFIX%%/etc/amavisd.conf'; # default location of config file - if (@ARGV >= 2 && $ARGV[0] eq '-c') { # override by command line option -c - shift @ARGV; $config_file = shift @ARGV; - $config_file = $1 if $config_file=~m{^([A-Za-z0-9/._=+-]+)$(?!\n)};# untaint + + # Consider droping privileges early, before reading config file. + # This is only possible if running under chroot will not be needed. diff -urN amavisd-new.orig/files/patch-amavisd-sample.conf amavisd-new/files/patch-amavisd-sample.conf --- amavisd-new.orig/files/patch-amavisd-sample.conf Thu Jan 1 01:00:00 1970 +++ amavisd-new/files/patch-amavisd-sample.conf Sun Jul 4 12:14:31 2004 @@ -0,0 +1,40 @@ +--- amavisd.conf-sample.orig Mon Nov 10 00:07:53 2003 ++++ amavisd.conf-sample Tue Nov 11 22:48:05 2003 +@@ -51,7 +51,7 @@ + # $MYHOME serves as a quick default for some other configuration settings. + # More refined control is available with each individual setting further down. + # $MYHOME is not used directly by the program. No trailing slash! +-#$MYHOME = '/var/lib/amavis'; # (default is '/var/amavis') ++$MYHOME = '%%AMAVISDIR%%'; # (default is '/var/amavis') + + # $mydomain serves as a quick default for some other configuration settings. + # More refined control is available with each individual setting further down. +@@ -60,8 +60,8 @@ + + # Set the user and group to which the daemon will change if started as root + # (otherwise just keeps the UID unchanged, and these settings have no effect): +-$daemon_user = 'vscan'; # (no default; customary: vscan or amavis) +-$daemon_group = 'sweep'; # (no default; customary: vscan or amavis) ++$daemon_user = '%%AMAVISUSER%%'; # (no default; customary: vscan or amavis) ++$daemon_group = '%%AMAVISGROUP%%'; # (no default; customary: vscan or amavis) + + # Runtime working directory (cwd), and a place where + # temporary directories for unpacking mail are created. +@@ -274,7 +274,7 @@ + # 3: server, client + # 4: decompose parts + # 5: more debug details +-$log_level = 2; # (defaults to 0) ++$log_level = 0; # (defaults to 0) + + # Customizable template for the most interesting log file entry (e.g. with + # $log_level=0) (take care to properly quote Perl special characters like '\') +@@ -510,7 +510,7 @@ + # or a directory (no trailing slash) + # (the default value is undef, meaning no quarantine) + # +-$QUARANTINEDIR = '/var/virusmails'; ++$QUARANTINEDIR = '%%AMAVISQUARANTINE%%'; + + #$virus_quarantine_method = "local:virus-%i-%n"; # default + #$spam_quarantine_method = "local:spam-%b-%i-%n"; # default diff -urN amavisd-new.orig/files/patch-amavisd.conf amavisd-new/files/patch-amavisd.conf --- amavisd-new.orig/files/patch-amavisd.conf Thu Nov 20 12:00:19 2003 +++ amavisd-new/files/patch-amavisd.conf Sun Jul 4 11:32:32 2004 @@ -1,40 +1,31 @@ ---- amavisd.conf.orig Mon Nov 10 00:07:53 2003 -+++ amavisd.conf Tue Nov 11 22:48:05 2003 -@@ -51,7 +51,7 @@ - # $MYHOME serves as a quick default for some other configuration settings. - # More refined control is available with each individual setting further down. - # $MYHOME is not used directly by the program. No trailing slash! --#$MYHOME = '/var/lib/amavis'; # (default is '/var/amavis') -+$MYHOME = '%%AMAVISDIR%%'; # (default is '/var/amavis') - - # $mydomain serves as a quick default for some other configuration settings. - # More refined control is available with each individual setting further down. -@@ -60,8 +60,8 @@ - - # Set the user and group to which the daemon will change if started as root - # (otherwise just keeps the UID unchanged, and these settings have no effect): --$daemon_user = 'vscan'; # (no default; customary: vscan or amavis) --$daemon_group = 'sweep'; # (no default; customary: vscan or amavis) -+$daemon_user = '%%AMAVISUSER%%'; # (no default; customary: vscan or amavis) -+$daemon_group = '%%AMAVISGROUP%%'; # (no default; customary: vscan or amavis) - - # Runtime working directory (cwd), and a place where - # temporary directories for unpacking mail are created. -@@ -274,7 +274,7 @@ - # 3: server, client - # 4: decompose parts - # 5: more debug details --$log_level = 2; # (defaults to 0) -+$log_level = 0; # (defaults to 0) - - # Customizable template for the most interesting log file entry (e.g. with - # $log_level=0) (take care to properly quote Perl special characters like '\') -@@ -510,7 +510,7 @@ - # or a directory (no trailing slash) - # (the default value is undef, meaning no quarantine) - # +--- amavisd.conf.orig Thu Jul 1 22:04:36 2004 ++++ amavisd.conf Sun Jul 4 11:32:17 2004 +@@ -9,7 +9,7 @@ + # MUST BE SET (no useful default): + + $mydomain = 'example.com'; +-$MYHOME = '/var/amavis'; ++$MYHOME = '%%AMAVISDIR%%'; + $TEMPBASE = "$MYHOME/tmp"; + + +@@ -19,8 +19,8 @@ + # @bypass_spam_checks_maps = (1); # uncomment to DISABLE anti-spam code + + $max_servers = 2; # number of pre-forked children +-$daemon_user = 'vscan'; # (no default; customary: vscan or amavis) +-$daemon_group = 'vscan'; # (no default; customary: vscan or amavis) ++$daemon_user = '%%AMAVISUSER%%'; # (no default; customary: vscan or amavis) ++$daemon_group = '%%AMAVISGROUP%%'; # (no default; customary: vscan or amavis) + @local_domains_maps = ( [".$mydomain"] ); + + $log_level = 0; +@@ -28,7 +28,7 @@ + $DO_SYSLOG = 1; + $SYSLOG_LEVEL = 'mail.info'; + $ENV{TMPDIR} = $TEMPBASE; -$QUARANTINEDIR = '/var/virusmails'; +$QUARANTINEDIR = '%%AMAVISQUARANTINE%%'; + # $daemon_chroot_dir = $MYHOME; # (default is undef, meaning: do not chroot) - #$virus_quarantine_method = "local:virus-%i-%n"; # default - #$spam_quarantine_method = "local:spam-%b-%i-%n"; # default + $inet_socket_port = 10024; # accept SMTP on this local TCP port(s) (Postfix) diff -urN amavisd-new.orig/files/perlwarning.tmpl amavisd-new/files/perlwarning.tmpl --- amavisd-new.orig/files/perlwarning.tmpl Thu Jan 1 01:00:00 1970 +++ amavisd-new/files/perlwarning.tmpl Tue Jul 6 18:30:13 2004 @@ -0,0 +1,10 @@ + +******************************************************************* + WARNING: You appear to be running perl version %%PERLVERSION%%. + + amavisd-new has been tested and is guaranteed to run only with + perl 5.8.2 and above. There are numerous problems with amavisd-new + when running under previous perl versions, including perl crashes, + taint bugs and others. You are strongly advised to upgrade your + perl by using the /usr/ports/lang/perl5.8 port. +******************************************************************* diff -urN amavisd-new.orig/pkg-plist amavisd-new/pkg-plist --- amavisd-new.orig/pkg-plist Thu Jan 8 02:09:00 2004 +++ amavisd-new/pkg-plist Sun Jul 4 12:42:45 2004 @@ -1,5 +1,6 @@ %%PORTDOCS%%%%DOCSDIR%%/AAAREADME.first %%PORTDOCS%%%%DOCSDIR%%/INSTALL +%%PORTDOCS%%%%DOCSDIR%%/LDAP.schema %%PORTDOCS%%%%DOCSDIR%%/LICENSE %%PORTDOCS%%%%DOCSDIR%%/README.chroot %%PORTDOCS%%%%DOCSDIR%%/README.contributed @@ -21,7 +22,9 @@ %%PORTDOCS%%%%DOCSDIR%%/README.sendmail-dual %%PORTDOCS%%%%DOCSDIR%%/RELEASE_NOTES %%PORTDOCS%%@dirrm %%DOCSDIR%% +etc/amavisd.conf-default etc/amavisd.conf-dist +etc/amavisd.conf-sample %%AMAVIS_NOMILTER%%etc/rc.d/amavis-milter.sh etc/rc.d/amavisd.sh %%AMAVIS_NOMILTER%%sbin/amavis diff -urN amavisd-new.orig/scripts/configure amavisd-new/scripts/configure --- amavisd-new.orig/scripts/configure Thu Jan 1 01:00:00 1970 +++ amavisd-new/scripts/configure Sun Jul 4 14:00:49 2004 @@ -0,0 +1,80 @@ +#!/bin/sh +# $FreeBSD$ + +if [ -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc ]; then + exit +fi + +tempfile=`mktemp -t checklist` + +if [ "${AMAVISD_NEW_OPTIONS}" ]; then + set ${AMAVISD_NEW_OPTIONS} +fi + +for i; do + eval status_$i=ON +done + +if [ -z "${BATCH}" ]; then + /usr/bin/dialog --title "Amavisd-new configuration options" --clear \ + --checklist "\n\ +Please select desired options:" -1 -1 4 \ +MySQL "MySQL support" "$status_MySQL" \ +PgSQL "PostgreSQL support" "$status_PgSQL" \ +LDAP "LDAP support" "$status_LDAP" \ +2> $tempfile + + retval=$? + + if [ -s $tempfile ]; then + set `sed 's/"//g' $tempfile` + fi + rm -f $tempfile + + case $retval in + 0) if [ -z "$*" ]; then + echo "Nothing selected" + fi + ;; + 1) echo "Cancel pressed." + exit 1 + ;; + esac +fi + +${MKDIR} ${WRKDIRPREFIX}${CURDIR} +exec > ${WRKDIRPREFIX}${CURDIR}/Makefile.inc + +echo "PREFIX= ${PREFIX}" + +SUB_MYSQL="@comment " +SUB_PGSQL="@comment " +SUB_LDAP="@comment " + +while [ "$1" ]; do + case $1 in + MySQL) + echo "USE_MYSQL= yes" + echo "RUN_DEPENDS+= \${SITE_PERL}/\${PERL_ARCH}/Mysql.pm:\${PORTSDIR}/databases/p5-DBD-mysql" + SUB_MYSQL="" + ;; + PgSQL) + echo "RUN_DEPENDS+= \${SITE_PERL}/\${PERL_ARCH}/DBD/Pg.pm:\${PORTSDIR}/databases/p5-DBD-Pg" + SUB_PGSQL="" + ;; + LDAP) + echo "RUN_DEPENDS+= \${SITE_PERL}/Net/LDAP.pm:\${PORTSDIR}/net/p5-perl-ldap" + SUB_LDAP="" + ;; + *) + echo "Unknown option(s): $*" > /dev/stderr + rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc + exit 1 + ;; + esac + shift +done + +echo "PLIST_SUB+= SUB_MYSQL=\"${SUB_MYSQL}\"" +echo "PLIST_SUB+= SUB_PGSQL=\"${SUB_PGSQL}\"" +echo "PLIST_SUB+= SUB_LDAP=\"${SUB_LDAP}\"" >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040706171345.6AC175547D>