From 1511c73924e502cdfb5ed3d1460784b04f7e4998 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sun, 9 Sep 2012 17:43:39 +0200 Subject: Adjust default maxproc settings, and adapt to local settings (for amavis - not yet for dkimproxy). --- postfix/postfix.sh | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/postfix/postfix.sh b/postfix/postfix.sh index 6d19240..9c90b8d 100755 --- a/postfix/postfix.sh +++ b/postfix/postfix.sh @@ -110,12 +110,16 @@ else warn "No SASL authentication - requires TLS encryption." fi amavis= +default_amavis_maxproc=2 if [ -x /usr/sbin/amavisd ] || [ -x /usr/sbin/amavisd-new ]; then amavis=1 else warn "AMaViS missing (Debian package amavisd-new)." fi dkimproxy= +#dkimproxy_maxproc_in=5 +# FIXME: update actual outgoing maxproc from /etc/default/dkimproxy (and /etc/dkimproxy/dkimproxy_out.conf too?) +dkimproxy_maxproc_out=5 if [ -x /usr/bin/dkimproxy-sign ]; then if [ "1" = "$amavis" ]; then dkimproxy=1 @@ -169,6 +173,17 @@ catfirstfile() { cat "$configdir/$file" } +# TODO: support quoted string, and trailing comment. +getperlvarfromfile() { + set -e + export var="$1" + export default="$2" + file="$3" + context="${3:-postfix}" + catfirstfile "$file" "$context" \ + | perl -nE'/^\$$ENV{"var"}\h*=\h*(\d+)/ and $s=$1; END {print ($s) ? $s : $ENV{'default'}}' +} + getlinesfromfile() { set -e param="$1" @@ -331,9 +346,10 @@ fi if [ -n "$amavis" ]; then $postconf -c "$tempdir" -e 'max_use = 10' # Avoid too much reuse + amavis_maxproc=$(getperlvarfromfile max_servers "$default_amavis_maxproc" amavisd.conf.addon amavis) cat $tempdir/master.cf | egrep -q "^smtp-amavis$sp" || \ cat >> $tempdir/master.cf << EOF -smtp-amavis unix - - n - 5 smtp +smtp-amavis unix - - n - $amavis_maxproc smtp -o smtp_data_done_timeout=1200s -o smtp_never_send_ehlo=yes -o smtp_send_xforward_command=yes @@ -378,13 +394,13 @@ EOF #EOF cat $tempdir/master.cf | egrep -q "^dkimsign$sp" || \ cat >> $tempdir/master.cf << EOF -dkimsign unix - - n - 10 smtp +dkimsign unix - - n - $dkimproxy_maxproc_out smtp -o smtp_send_xforward_command=yes -o smtp_discard_ehlo_keywords=8bitmime EOF cat $tempdir/master.cf | egrep -q "^127\.0\.0\.1:10029$sp" || \ cat >> $tempdir/master.cf << EOF -127.0.0.1:10029 inet n - n - 10 smtpd +127.0.0.1:10029 inet n - n - - smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -- cgit v1.2.3