diff --git a/mail/mimedefang/Makefile b/mail/mimedefang/Makefile index f1f60724a54d..fd19fc93f26d 100644 --- a/mail/mimedefang/Makefile +++ b/mail/mimedefang/Makefile @@ -1,81 +1,83 @@ # Created by: Andrey V. Pevnev PORTNAME= mimedefang PORTVERSION= 2.84 +PORTREVISION= 1 + CATEGORIES= mail MASTER_SITES= http://www.mimedefang.org/static/ \ http://fossies.org/linux/misc/ MAINTAINER= m.tsatsenko@gmail.com COMMENT= Milter based anti-spam and anti-virus filtering program LICENSE= GPLv2 BUILD_DEPENDS= \ p5-IO-Stringy>=0:devel/p5-IO-Stringy \ p5-MIME-Tools>=5.417:mail/p5-MIME-Tools \ p5-Mail-Tools>=0:mail/p5-Mail-Tools \ p5-Digest-SHA1>=0:security/p5-Digest-SHA1 \ spamassassin>=3.0:mail/spamassassin RUN_DEPENDS:= ${BUILD_DEPENDS} USES= cpe perl5 shebangfix perl_OLD_CMD= perl GNU_CONFIGURE= yes CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/etc \ --with-confsubdir=mimedefang \ --with-user=${MIMEDEFANG_USER} \ --with-spooldir=${SPOOLDIR} \ --with-quarantinedir=${QUARANTINEDIR} \ --with-ipheader \ --prefix=${PREFIX} CONFIGURE_ENV+= PERL=${PERL} SUB_FILES= pkg-message PLIST_SUB+= USER="${MIMEDEFANG_USER}" \ GROUP="${MIMEDEFANG_GROUP}" \ MIMEDEFANG_RUNDIR="${SPOOLDIR}" \ MIMEDEFANG_QUARANTINEDIR="${QUARANTINEDIR}" MIMEDEFANG_USER?= mailnull MIMEDEFANG_GROUP?= mailnull SPOOLDIR?= /var/spool/MIMEDefang QUARANTINEDIR?= /var/spool/MD-Quarantine CONFIG_FILES= mimedefang-filter sa-mimedefang.cf mimedefang-ip-key OPTIONS_DEFINE= CLAMAV DOCS EXAMPLES OPTIONS_DEFAULT= CLAMAV CLAMAV_DESC= Enable Clamav CLAMAV_BUILD_DEPENDS= clamscan:security/clamav CLAMAV_RUN_DEPENDS= clamscan:security/clamav CLAMAV_CONFIGURE_ENABLE= antivirus clamav clamd .include .include "${PORTSDIR}/mail/sendmail/bsd.milter.mk" CONFIGURE_ARGS+= --with-milterinc=${MILTERBASE}/include --with-milterlib=${MILTERBASE}/lib post-patch: @${REINPLACE_CMD} -e '/fgrep -e/d' ${WRKSRC}/configure pre-install: @${REINPLACE_CMD} -e '/LOCAL_STATE_DIR/s,/var/lib,/var/db,' ${WRKSRC}/mimedefang.pl post-install: @${REINPLACE_CMD} -e 's,%%CHMOD%%,${CHMOD},g' ${WRKSRC}/examples/init-script ${INSTALL_SCRIPT} ${WRKSRC}/examples/init-script ${STAGEDIR}${PREFIX}/etc/rc.d/mimedefang post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README* ${STAGEDIR}${DOCSDIR}/ post-install-EXAMPLES-on: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} @cd ${WRKSRC}/examples/ && ${INSTALL_DATA} stream-by-domain-filter \ suggested-minimum-filter-for-windows-clients README ${STAGEDIR}${EXAMPLESDIR}/ .include diff --git a/mail/mimedefang/files/patch-examples__init-script.in b/mail/mimedefang/files/patch-examples__init-script.in index 00fb159a37c1..9483e3f663d1 100644 --- a/mail/mimedefang/files/patch-examples__init-script.in +++ b/mail/mimedefang/files/patch-examples__init-script.in @@ -1,107 +1,122 @@ --- examples/init-script.in.orig 2017-09-07 17:52:24 UTC +++ examples/init-script.in -@@ -41,6 +41,12 @@ export LC_ALL +@@ -7,6 +7,14 @@ + # BEFORE: mail + # KEYWORD: shutdown + ++. /etc/rc.subr ++ ++# read settings, set default values ++load_rc_config "$name" ++ ++: ${mimedefang_mx_max_rss=100000} ++: ${mimedefang_mx_max_as=300000} ++ + RETVAL=0 + prog='mimedefang' + SPOOLDIR='@SPOOLDIR@' +@@ -41,6 +49,12 @@ export LC_ALL # The socket used by mimedefang to communicate with sendmail # SOCKET=$SPOOLDIR/mimedefang.sock +# Timeout while waiting for socket to appear +# SOCKET_TIMEOUT=60 + +# The value of socket file access mode +# SOCKET_MODE=600 + # Run the multiplexor and filters as this user, not root. RECOMMENDED MX_USER=@DEFANGUSER@ -@@ -138,11 +144,11 @@ MX_MAXIMUM=10 +@@ -138,11 +152,11 @@ MX_MAXIMUM=10 # Limit worker processes' resident-set size to this many kilobytes. Default # is unlimited. -# MX_MAX_RSS=10000 -+MX_MAX_RSS=100000 ++MX_MAX_RSS=${mimedefang_mx_max_rss} # Limit total size of worker processes' memory space to this many kilobytes. # Default is unlimited. -# MX_MAX_AS=30000 -+MX_MAX_AS=300000 ++MX_MAX_AS=${mimedefang_mx_max_as} # If you want to use the "notification" facility, set the appropriate port. # See the mimedefang-notify man page for details. -@@ -189,7 +195,7 @@ then +@@ -189,7 +203,7 @@ then . /etc/rc.subr name=$prog - rcvar=`set_rcvar` + rcvar=${prog}_enable # default to not enabled, enable in rc.conf eval $rcvar=\${$rcvar:-NO} -@@ -199,6 +205,7 @@ then +@@ -199,6 +213,7 @@ then procname=$PROGDIR/$prog-multiplexor start_cmd="start_it" stop_cmd="stop_it" + restart_cmd="restart_it" sig_reload="INT" reread_cmd="reread_it" # provide both "reload", the FreeBSD default, with a direct signal to -@@ -209,6 +216,8 @@ fi +@@ -209,6 +224,8 @@ fi # Make sure required vars are set SOCKET=${SOCKET:=$SPOOLDIR/$prog.sock} MX_SOCKET=${MX_SOCKET:=$SPOOLDIR/$prog-multiplexor.sock} +SOCKET_TIMEOUT=${SOCKET_TIMEOUT:=60} +SOCKET_MODE=${SOCKET_MODE:=600} start_it() { if test -r $PID ; then -@@ -294,6 +303,29 @@ start_it() { +@@ -294,6 +311,29 @@ start_it() { kill `cat $MXPID` return 1 fi + + SOCKET_PREFIX=${SOCKET%:*} + # We can have inet or inet6, try to remove 6 + SOCKET_PREFIX=${SOCKET_PREFIX%6} + + if [ "x$SOCKET" != "x" -a "${SOCKET_PREFIX}" != "inet" ] ; then + printf "Waiting for $prog socket." + i=${SOCKET_TIMEOUT} + while [ $i -ne 0 ] + do + [ -S "$SOCKET" ] && break + printf "." + sleep 1 + i=$(($i-1)) + done + echo "" + if [ $i -eq 0 ] ; then + echo "There is no $prog socket (${SOCKET})!" + return 1 + fi + %%CHMOD%% ${SOCKET_MODE} ${SOCKET} > /dev/null 2>&1 + fi + return 0 } -@@ -329,7 +361,7 @@ stop_it() { +@@ -329,7 +369,7 @@ stop_it() { rm -f $MX_SOCKET > /dev/null 2>&1 rm -f $SOCKET > /dev/null 2>&1 - if [ "$1" = "wait" ] ; then + if [ 1 ] ; then printf "Waiting for daemons to exit." WAITPID="" test -f $PID && WAITPID=`cat $PID` -@@ -381,6 +413,12 @@ reread_it() { +@@ -379,6 +419,12 @@ reread_it() { + echo "Could not find process-ID of $prog-multiplexor" + fi fi - } - ++} ++ +restart_it() { + stop_it wait + start_it + RETVAL=$? -+} -+ + } + if type run_rc_command > /dev/null 2>&1 - then - # NetBSD/FreeBSD compatible startup script diff --git a/mail/mimedefang/files/patch-mimedefang-filter.5.in b/mail/mimedefang/files/patch-mimedefang-filter.5.in index 90a57e1844ba..b16fc89aaded 100644 --- a/mail/mimedefang/files/patch-mimedefang-filter.5.in +++ b/mail/mimedefang/files/patch-mimedefang-filter.5.in @@ -1,11 +1,11 @@ ---- mimedefang-filter.5.in.orig 2014-05-21 13:51:21 UTC +--- mimedefang-filter.5.in.orig 2017-09-07 17:46:57 UTC +++ mimedefang-filter.5.in -@@ -622,7 +622,7 @@ and entity_contains_virus_sophie unless +@@ -634,7 +634,7 @@ and entity_contains_virus_sophie unless a socket is pr routine. .TP -.B $ClamdSock \fR(default @SPOOLDIR@/clamd.sock) +.B $ClamdSock \fR(default /var/run/clamav/clamd.sock) Socket used for clamd daemon calls within message_contains_virus_clamd and entity_contains_virus_clamd unless a socket is provided by the calling routine.