summaryrefslogtreecommitdiff
path: root/postfix
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2012-09-09 17:43:39 +0200
committerJonas Smedegaard <dr@jones.dk>2012-09-09 17:43:59 +0200
commit1511c73924e502cdfb5ed3d1460784b04f7e4998 (patch)
tree15c569168b00d61bf913ff8d3bf4322c35bcd1e3 /postfix
parent3947d475419f28f5c96d3db96eea26d8e1e92314 (diff)
Adjust default maxproc settings, and adapt to local settings (for amavis - not yet for dkimproxy).
Diffstat (limited to 'postfix')
-rwxr-xr-xpostfix/postfix.sh22
1 files 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=