前 | 2014年 9月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
~~~ available_nameservers: No DNS servers available!
と、DNS 関連だ.
Google先生に伺うと、Net::DNS のモジュール、0.76 以降で仕様が少し変わったらしく.
でもってそのパッチを作っている人がいらっしゃったので、有難く頂戴してきた.
--- Mail/SpamAssassin/DnsResolver.pm.orig 2014-05-07 17:54:29 +0200
+++ Mail/SpamAssassin/DnsResolver.pm 2014-06-18 02:13:32 +0200
@@ -205,6 +205,8 @@
dbg("dns: servers set by config to: %s", join(', ',@ns_addr_port));
} elsif ($res) { # default as provided by Net::DNS, e.g. /etc/resolv.conf
- @ns_addr_port = map(untaint_var("[$_]:" . $res->{port}),
- @{$res->{nameservers}});
+ my @ns = $res->UNIVERSAL::can('nameservers') ? $res->nameservers
+ : @{$res->{nameservers}};
+ my $port = $res->UNIVERSAL::can('port') ? $res->port : $res->{port};
+ @ns_addr_port = map(untaint_var("[$_]:" . $port), @ns);
dbg("dns: servers obtained from Net::DNS : %s", join(', ',@ns_addr_port));
}
コイツを patch ファイルにして、SpamAsassin が使っているモジュールを書き換える.
CentOS 5 系だと、/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/DnsResolver.pm だ.
該当ディレクトリに移動して、
patch < [上記のpatch file]
で、DnsResolver.pm が修正された!
以後、 maillog で該当エラーは見ていない・・・・・・上手く動いているのだろう. たぶん(爆)