(The mailing list seems to have eaten my email (from t...@math.uni-bonn.de), resending it from my other email address)
1. A postfix configuration entry like: > alias_database = hash:$config_directory/foo causes the postfix's rc script to say > postfix: rebuilding $config_directory/foo (missing $config_directory/foo) i.e. $config_directory isn't expanded (by postconf). The fix is to give postconf an -x so it does expand variables. 2. A configuration list like: > alias_database = > hash:foo, > hash:bar causes the postfix's rc script to probe for 'foo,': > postfix: rebuilding foo, (missing foo,.db) even though comma is a legitimate separator (as is whitespace) in postfix's configuration file. More generally, any sequence of comma, space, tab, newline acts as a separator as far as postfix is concerned. postconf does not normalize the separators, so the rc script needs to be able to handle cases like "foo,bar fizz, buzz" (should split into 'foo' 'bar' 'fizz' 'buzz' rather than 'foo,bar' 'fizz,' 'buzz' as it does currently). The below patch addresses both issues. Note that NetBSD 6's postconf does not support expansion, so if backported, the -x must be dropped. Cheers, Timo Buhrmester --- etc/rc.d/postfix.orig 2016-08-18 00:32:51.000000000 +0200 +++ etc/rc.d/postfix 2016-08-18 00:32:41.000000000 +0200 @@ -44,9 +44,10 @@ postfix_precmd() fi done - for f in $($postconf -h alias_database); do - OIFS="${IFS}" - IFS="${IFS}:" + OIFS="${IFS}" + IFS="${IFS}," + for f in $($postconf -hx alias_database); do + IFS="${OIFS}:" set -- $f IFS="${OIFS}" case "$1" in