Problemas de localização do método de objeto Spamassassin após a reinicialização

11

Depois que o spamassassin foi reiniciado pelo cronjob diário esta manhã, ele inundou o syslog com os seguintes erros:

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

Eu já verifiquei se havia alguma atualização autônoma. Também verifiquei o Mail :: SpamAssassin :: PerMsgStatus via CPAN, mas ele já está instalado. O SO é o Ubuntu Server 12.04.5 LTS e não há atualizações pendentes. Como posso resolver este erro?

devnull
fonte
2
Aqui está um "eu também". Isso começou a acontecer após uma sa-updateexecução, então, presumivelmente, foram lançadas novas verificações que talvez não devessem.
Wurtel
1
Aparentemente, essas regras foram adicionadas em svn.apache.org/r1656028 em 30 de janeiro de 2015, portanto, spamassassinseria necessário um mais novo para interpretar essas regras ( Mail::SpamAssassin::Plugin::SPFé modificado no mesmo commit). Presumivelmente, as novas regras escaparam cedo demais e isso será revertido em breve. Já aconteceu antes.
Wurtel
3
Outro "eu também" aqui. Debian 7 chiado de 64 bits, o erro apareceu nesta manhã. Esperamos uma correção em breve!
Lucaferrario # 9/15
Fico feliz em saber que eu não sou o único. Espero que seja revertido em breve.
585 devnull
Para o Debian Wheezy, uma atualização automática corrigiu o problema esta manhã com regras reescritas no /var/lib/spamassassin/.../.../25-spf.cf.
mivk

Respostas:

6

Pode ser um pouco mais fácil ir para o diretório de atualização (algo como /var/lib/spamassassin/3.003002/updates_spamassassin_org) e comentar todas as linhas que contêm T_SPF_PERMERRORou T_SPF_TEMPERROR, como:

# header T_SPF_PERMERROR         eval:check_for_spf_permerror()

etc., em vez de atualizar ou selecionar mudanças a montante. Se você usar as atualizações automáticas, talvez queira usar o manual até que elas percebam o problema (o que parece não ser o caso ainda).

sorrir
fonte
Isso é ótimo. Acabei de atualizar o arquivo e comentei todas as linhas que produzem erros mencionadas nos meus logs. Esta parece ser uma boa solução temporária!
9115 devnull
As alterações no arquivo 25_spf.cf serão substituídas, pelo que parece ser feito pelas atualizações regulares do spamassassin.
Michael Franzl
Okay, certo. Mas é uma solução temporária que não requer a instalação de nenhuma versão de pacote não suportada.
devnull
1

No Debian Wheezy, o seguinte funciona para mim:

No

/etc/spamassassin/init.pre

comente o plug-in SPF

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

Posteriormente, o trabalho de atualização funcionará novamente sem erros.

está certo
fonte
Isso também desativaria as regras T_SPF_ * funcionais pré-existentes, como T_SPF_PASS e T_SPF_FAIL.
Boyd Stephen Smith Jr.
0

Você pode copiar o SPF.pm mais recente em / usr / share / perl5 / Mail / SpamAssassin / Plugin, desde que esteja usando o 3.4. Por favor, não esqueça de fazer backup do arquivo original.

Szépe Viktor
fonte
Obrigado pela sua resposta, mas como eu sou preciso, instalei o link spamassassin 3.3.2-2ubuntu1.
9115 devnull
Você ainda pode tentar instalar a nova versão do SPF.pm
Szépe Viktor 9/15
Como o SA está escrito em Perl, você pode instalar packages.ubuntu.com/trusty/spamassassin
Szépe Viktor
O Wheezy é 3.3.2-5 + deb7u2, então provavelmente também não é sustentável para mim.
Boyd Stephen Smith Jr.
0

Basta instalar o backport spamassassin. Adicione isto a /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

e corra:

$ apt-get install -t wheezy-backports spamassassin 
ThCTlo
fonte