Problemas de ubicación del método del objeto Spamassassin después de reiniciar

11

Después de que spamassassin fue reiniciado por el cronjob diario esta mañana, está inundando syslog con los siguientes errores:

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

Ya he verificado si hubo actualizaciones desatendidas. También verifiqué Mail :: SpamAssassin :: PerMsgStatus a través de CPAN pero ya está instalado. El sistema operativo es Ubuntu Server 12.04.5 LTS y no hay actualizaciones pendientes. ¿Cómo puedo resolver este error?

devnull
fuente
2
Aquí hay un "yo también". Esto comenzó a suceder después de una sa-updatecarrera, por lo que presumiblemente se han lanzado algunas comprobaciones nuevas que tal vez no deberían haberlo hecho.
wurtel
1
Aparentemente, estas reglas se agregaron en svn.apache.org/r1656028 el 30 de enero de 2015, por spamassassinlo que se necesitaría una más nueva para interpretar estas reglas ( Mail::SpamAssassin::Plugin::SPFse modifica en el mismo compromiso). Presumiblemente, las nuevas reglas escaparon demasiado pronto y esto se revertirá pronto. Ya ha sucedido antes.
wurtel
3
Otro "yo también" aquí. Debian 7 wheezy 64 bit, el error apareció esta mañana. ¡Esperamos una solución pronto!
lucaferrario
Me alegra saber que no soy el único. Espero que se revierta pronto.
devnull
Para Debian Wheezy, una actualización automática solucionó el problema esta mañana con reglas reescritas /var/lib/spamassassin/.../.../25-spf.cf.
mivk

Respuestas:

6

Puede ser un poco más fácil ir al directorio de actualización (algo así como /var/lib/spamassassin/3.003002/updates_spamassassin_org) y comentar todas las líneas que contienen T_SPF_PERMERRORo T_SPF_TEMPERROR, como:

# header T_SPF_PERMERROR         eval:check_for_spf_permerror()

etc. en lugar de actualizar o seleccionar cambios ascendentes. Si usa actualizaciones automáticas, es posible que desee pasar a manual hasta que se den cuenta de su problema (que parece no ser el caso todavía).

mueca
fuente
Esto es genial. Acabo de actualizar el archivo y comenté todas las líneas que producen errores mencionadas en mis registros. ¡Esto parece ser una buena solución temporal!
devnull
Los cambios en el archivo 25_spf.cf se sobrescribirán, al parecer, mediante actualizaciones regulares de spamassassin.
Michael Franzl
Sí claro. Pero es una solución temporal que no requiere instalar ninguna versión de paquete no compatible.
devnull
1

En Debian Wheezy, lo siguiente funciona para mí:

En

/etc/spamassassin/init.pre

comentar el complemento SPF

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

Posteriormente, el trabajo de actualización funcionará sin errores nuevamente.

está bien
fuente
Esto también deshabilitaría las reglas T_SPF_ * preexistentes que funcionan como T_SPF_PASS y T_SPF_FAIL.
Boyd Stephen Smith Jr.
0

Puede copiar el último archivo SPF.pm en / usr / share / perl5 / Mail / SpamAssassin / Plugin siempre que esté utilizando 3.4 No olvide hacer una copia de seguridad del archivo original.

Szépe Viktor
fuente
Gracias por su respuesta, pero como estoy en lo cierto, he instalado el enlace spamassassin 3.3.2-2ubuntu1.
devnull
Todavía puede intentar instalar la nueva versión de SPF.pm
Szépe Viktor
Como SA está escrito en Perl, puede instalar packages.ubuntu.com/trusty/spamassassin
Szépe Viktor
Wheezy es 3.3.2-5 + deb7u2, por lo que probablemente tampoco sea sostenible para mí.
Boyd Stephen Smith Jr.
0

Simplemente instale el backported spamassassin. Agregue esto 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

y correr:

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