Problemy z lokalizacją metody obiektu Spamassassin po ponownym uruchomieniu

11

Po ponownym uruchomieniu spamassassin przez codzienną cronjob dziś rano zalany syslog z następującymi błędami:

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

Już sprawdziłem, czy były jakieś nienadzorowane aktualizacje. Sprawdziłem także Mail :: SpamAssassin :: PerMsgStatus przez CPAN, ale jest już zainstalowany. System operacyjny to Ubuntu Server 12.04.5 LTS i nie ma żadnych oczekujących aktualizacji. Jak mogę rozwiązać ten błąd?

diabelnie
źródło
2
Oto „ja też”. To zaczęło się dziać po sa-updatebiegu, więc prawdopodobnie zostały wydane nowe kontrole, które być może nie powinny.
wurtel
1
Najwyraźniej reguły te zostały dodane w svn.apache.org/r1656028 30 stycznia 2015 r., Więc spamassassindo interpretacji tych reguł będzie potrzebny nowszy ( Mail::SpamAssassin::Plugin::SPFzmodyfikowany w tym samym zatwierdzeniu). Przypuszczalnie nowe zasady uciekły zbyt wcześnie i wkrótce zostaną one cofnięte. To się zdarzyło wcześniej.
wurtel
3
Kolejne „ja też” tutaj. Debian 7 wheezy 64 bit, błąd pojawił się dziś rano. Mamy nadzieję na naprawę już wkrótce!
lucaferrario
Cieszę się, że nie jestem jedyny. Mam nadzieję, że wkrótce zostanie przywrócony.
devnull
W przypadku Debian Wheezy automatyczna aktualizacja naprawiła problem rano z przepisanymi regułami /var/lib/spamassassin/.../.../25-spf.cf.
mivk

Odpowiedzi:

6

Może być troszkę łatwiej przejść do katalogu aktualizacji (coś podobnego /var/lib/spamassassin/3.003002/updates_spamassassin_org) i skomentować wszystkie wiersze zawierające T_SPF_PERMERRORlub T_SPF_TEMPERROR:

# header T_SPF_PERMERROR         eval:check_for_spf_permerror()

itp. zamiast uaktualniania lub wybierania wcześniejszych zmian. Jeśli korzystasz z automatycznych aktualizacji, możesz przejść ręcznie, dopóki nie zdadzą sobie sprawy z problemu (co wydaje się jeszcze nie mieć miejsca).

szeroki uśmiech
źródło
To jest świetne. Właśnie zaktualizowałem plik i skomentowałem wszystkie linie produkujące błędy wspomniane w moich logach. To wydaje się być dobrą tymczasową poprawką!
devnull
Zmiany w pliku 25_spf.cf zostaną zastąpione, jak się wydaje, przez regularne aktualizacje spamassassin.
Michael Franzl
Tak, jasne. Ale jest działającym tymczasowym rozwiązaniem, które nie wymaga instalowania żadnych nieobsługiwanych wersji pakietów.
devnull
1

W Debian Wheezy następujące prace działają dla mnie:

W

/etc/spamassassin/init.pre

skomentuj wtyczkę SPF

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

Następnie zadanie aktualizacji będzie działać ponownie bez błędów.

w porządku
źródło
Spowodowałoby to również wyłączenie istniejących, działających reguł T_SPF_ *, takich jak T_SPF_PASS i T_SPF_FAIL.
Boyd Stephen Smith Jr.
0

Możesz skopiować najnowszy plik SPF.pm do / usr / share / perl5 / Mail / SpamAssassin / Plugin pod warunkiem, że używasz 3.4 Nie zapomnij o utworzeniu kopii zapasowej oryginalnego pliku.

Szépe Viktor
źródło
Dziękuję za twoją odpowiedź, ale skoro jestem precyzyjny, zainstalowałem link spamassassin 3.3.2-2ubuntu1.
devnull
Nadal możesz spróbować zainstalować nową wersję SPF.pm
Szépe Viktor
Ponieważ SA jest napisany w Perlu można zainstalować packages.ubuntu.com/trusty/spamassassin
Szépe Wiktor
Wheezy to 3.3.2-5 + deb7u2, więc prawdopodobnie też nie da się go utrzymać.
Boyd Stephen Smith Jr.
0

Wystarczy zainstalować backported spamassassin. Dodaj to do /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

i biegnij:

$ apt-get install -t wheezy-backports spamassassin 
ThCTlo
źródło