web-dev-qa-db-ja.com

再起動後のSpamassassinオブジェクトメソッドの場所の問題

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で、保留中のアップデートはありません。このエラーを解決するにはどうすればよいですか?

11
devnull

更新ディレクトリ(/var/lib/spamassassin/3.003002/updates_spamassassin_orgのようなもの)に移動して、次のようにT_SPF_PERMERRORまたはT_SPF_TEMPERRORを含むすべての行をコメント化する方が少し簡単かもしれません。

# header T_SPF_PERMERROR         eval:check_for_spf_permerror()

アップストリームの変更をアップグレードまたはチェリーピッキングする代わりになど。自動更新を使用する場合は、問題が発生するまで手動で実行することをお勧めします(まだそうなっていないようです)。

6
grin

Debian Wheezyでは、次のように動作します:

/etc/spamassassin/init.pre

sPFプラグインにコメントする

# SPF - perform SPF verification.
#
#loadplugin Mail::SpamAssassin::Plugin::SPF

その後、更新ジョブはエラーなしで再び機能します。

1
itsok

バックポートされた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 
0
ThCTlo

最新の SPF.pm を/ usr/share/Perl5/Mail/SpamAssassin/Pluginにコピーできます。ただし、3.4を使用している場合は、元のファイルのバックアップを忘れないでください。

0
Szépe Viktor