自宅外から、自宅へのメールが届いていないことが判明。 原因を調べてみると、どうも postgrey が起動していない。 なんで起動しないのと、手作業で postgrey を起動していると、pid ファイルが原因ぽいことが 分ってきた。手作業で起動スクリプトを治そうとしたけど、 動いたり動かなかったり。改めて、"postgrey pidfile debian" で調べていたら、 perl 起動時の "-T" オプションあたりが関係していて、 その根本原因は、perl-base 5.18 になっているため。
作者がパッチを提供しているというけど、パッケージには反映されていないようなので、 パッチの差分を /usr/sbin/postfix に手作業で修正した。
if($opt{dbdir}) { $opt{dbdir} =~ /^(.*)$/; $opt{dbdir} = $1; } + # untaint what is given on --pidfile. It is not security sensitive since + # it is provided by the admin + if($opt{pidfile}) { + $opt{pidfile} =~ /^(.*)$/; $opt{pidfile} = $1; + } + # untaint what is given on --inet. It is not security sensitive since + # it is provided by the admin + if($opt{inet}) { + $opt{inet} =~ /^(.*)$/; $opt{inet} = $1; + } # determine proper "logsock" for Sys::Syslog my $syslog_logsock;