재시작 후 Spamassassin 오브젝트 메소드 위치 문제점


11

오늘 아침 매일 cronjob에 의해 spamassassin이 다시 시작된 후 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이며 보류중인 업데이트가 없습니다. 이 오류를 어떻게 해결할 수 있습니까?


2
여기도 "나"입니다. 이것은 sa-update실행 후 발생하기 시작 했을 것이므로 아마도 가지고 있지 않아야 할 몇 가지 새로운 검사가 릴리스되었을 것입니다.
wurtel

1
분명히 이러한 규칙은 svn.apache.org/r1656028 2015 년 1 월 30 일에 추가 되었으므로spamassassin 이러한 규칙을 해석하려면 새로운 규칙이 필요합니다 ( Mail::SpamAssassin::Plugin::SPF같은 커밋에서 수정 됨). 아마도 새로운 규칙이 너무 빨리 빠져 나왔을 것이고 이것은 곧 되돌릴 것입니다. 전에 일어난 일입니다.
wurtel

3
여기 또 다른 "나도". 데비안 7 wheezy 64 비트, 오늘 아침 오류가 나타났습니다. 우리는 곧 수정을 희망합니다!
lucaferrario

내가 유일한 사람이 아니라 니 다행입니다. 빨리 복구되기를 바랍니다.
devnull

데비안 위지 (Debian Wheezy)의 자동 업데이트는 오늘 아침에의 규칙을 다시 작성하여 문제를 해결했습니다 /var/lib/spamassassin/.../.../25-spf.cf.
mivk

답변:


6

이 업데이트 디렉토리 (같은 이동하기 쉽게 약간있을 수 있습니다 /var/lib/spamassassin/3.003002/updates_spamassassin_org) 모든 라인이 포함 된 주석 T_SPF_PERMERROR또는 T_SPF_TEMPERROR같은 :

# header T_SPF_PERMERROR         eval:check_for_spf_permerror()

업스트림 변경 사항을 업그레이드하거나 체리 피킹하는 대신. 자동 업데이트를 사용하는 경우 문제를 깨닫기 전까지는 수동으로 가고 싶을 수도 있습니다 (아직은 그렇지 않은 것 같습니다).


대단하다. 방금 파일을 업데이트하고 내 로그에 언급 된 모든 오류 생성 줄을 주석 처리했습니다. 이것은 좋은 임시 해결책 인 것 같습니다!
devnull

25_spf.cf 파일의 변경 사항은 정기적 인 spamassassin 업데이트에 의해 덮어 쓰여집니다.
Michael Franzl

그래 맞아. 그러나 지원되지 않는 패키지 버전을 설치할 필요가없는 작동하는 임시 솔루션입니다.
devnull

1

데비안 Wheezy에서 다음이 작동합니다.

/etc/spamassassin/init.pre

SPF 플러그인 주석

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

이후 업데이트 작업은 오류없이 다시 작동합니다.


또한 T_SPF_PASS 및 T_SPF_FAIL과 같이 기존의 작동중인 T_SPF_ * 규칙을 비활성화합니다.
보이드 스티븐 스미스 주니어

0

최신 SPF.pm 을 / usr / share / perl5 / Mail / SpamAssassin / Plugin에 복사 할 수 있습니다. 3.4 원본 파일을 백업하는 것을 잊지 마십시오.


답장을 보내 주셔서 감사합니다.하지만 정확한 시간에 링크 spamassassin 3.3.2-2ubuntu1 을 설치 했습니다.
devnull

새 버전의 SPF.pm
Szépe Viktor

SA는 Perl로 작성되어 있기 때문에 설치할 수 있습니다 packages.ubuntu.com/trusty/spamassassin
Szépe 빅토르에게

Wheezy는 3.3.2-5 + deb7u2이므로 아마도 나에게도 적합하지 않습니다.
보이드 스티븐 스미스 주니어

0

백 포트 된 설치하십시오 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 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.