Spamassassinが今朝の毎日のcronjobによって再起動された後、syslogに次のエラーが殺到します。
Feb 9 09:24:26 mail spamd[8766]: spamd: got connection over /var/run/spamd.socket
Feb 9 09:24:26 mail spamd[8766]: spamd: setuid to Debian-exim succeeded
Feb 9 09:24:26 mail spamd[8766]: spamd: checking message <004c01d0444a$01d5a905$d690a59f@kiffyv> for Debian-exim:106
Feb 9 09:24:26 mail spamd[8766]: rules: failed to run T_SPF_HELO_PERMERROR test, skipping:
Feb 9 09:24:26 mail spamd[8766]: (Can't locate object method "check_for_spf_helo_permerror" via package "Mail: [...]:SpamAssassin::PerMsgStatus" at (eval 1169) line 19.
Feb 9 09:24:26 mail spamd[8766]: )
Feb 9 09:24:28 mail spamd[8766]: rules: failed to run T_SPF_TEMPERROR test, skipping:
Feb 9 09:24:28 mail spamd[8766]: (Can't locate object method "check_for_spf_temperror" via package "Mail: [...]:SpamAssassin::PerMsgStatus" at (eval 1169) line 614.
Feb 9 09:24:28 mail spamd[8766]: )
Feb 9 09:24:28 mail spamd[8766]: rules: failed to run T_SPF_PERMERROR test, skipping:
Feb 9 09:24:28 mail spamd[8766]: (Can't locate object method "check_for_spf_permerror" via package "Mail: [...]:SpamAssassin::PerMsgStatus" at (eval 1169) line 784.
Feb 9 09:24:28 mail spamd[8766]: )
Feb 9 09:24:28 mail spamd[8766]: rules: failed to run T_SPF_HELO_TEMPERROR test, skipping:
Feb 9 09:24:28 mail spamd[8766]: (Can't locate object method "check_for_spf_helo_temperror" via package "Mail: [...]:SpamAssassin::PerMsgStatus" at (eval 1169) line 1129.
Feb 9 09:24:28 mail spamd[8766]: )
Feb 9 09:24:29 mail spamd[8766]: spamd: identified spam (26.6/5.0) for Debian-exim:106 in 3.1 seconds, 821 bytes.
Feb 9 09:24:29 mail spamd[8766]: spamd: result: Y 26 - AXB_XMAILER_MIMEOLE_OL_024C2,BAYES_99,BAYES_999,DOS_OE_TO_MX,NAME_EMAIL_DIFF,RAZOR2_CF_RANGE_51_100,RAZOR2_CF_RANGE_E8_51_100,RAZOR2_CHECK,RCVD_IN_BRBL_LASTEXT,RCVD_IN_PSBL,RCV
Feb 9 09:24:30 mail spamd[8759]: prefork: child states: II
無人アップグレードの有無を確認しました。また、CPANを介してMail :: SpamAssassin :: PerMsgStatusを確認しましたが、すでにインストールされています。 OSはUbuntu Server 12.04.5 LTSで、保留中のアップデートはありません。このエラーを解決するにはどうすればよいですか?
更新ディレクトリ(/var/lib/spamassassin/3.003002/updates_spamassassin_org
のようなもの)に移動して、次のようにT_SPF_PERMERROR
またはT_SPF_TEMPERROR
を含むすべての行をコメント化する方が少し簡単かもしれません。
# header T_SPF_PERMERROR eval:check_for_spf_permerror()
アップストリームの変更をアップグレードまたはチェリーピッキングする代わりになど。自動更新を使用する場合は、問題が発生するまで手動で実行することをお勧めします(まだそうなっていないようです)。
Debian Wheezyでは、次のように動作します:
に
/etc/spamassassin/init.pre
sPFプラグインにコメントする
# SPF - perform SPF verification.
#
#loadplugin Mail::SpamAssassin::Plugin::SPF
その後、更新ジョブはエラーなしで再び機能します。
バックポートされたspamassassin
をインストールするだけです。これを/etc/apt/sources.list.d/debian-wheezy-backports.list
に追加:
deb http://ftp.nl.debian.org/debian/ wheezy-backports main contrib non-free
deb-src http://ftp.nl.debian.org/debian/ wheezy-backports main contrib non-free
そして実行します:
$ apt-get install -t wheezy-backports spamassassin
最新の SPF.pm を/ usr/share/Perl5/Mail/SpamAssassin/Pluginにコピーできます。ただし、3.4を使用している場合は、元のファイルのバックアップを忘れないでください。