11

After spamassassin was restarted by the daily cronjob this morning it's flooding syslog with the following errors:

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

I have already checked if there were any unattended upgrades. Also I checked Mail::SpamAssassin::PerMsgStatus via CPAN but it is already installed. OS is Ubuntu Server 12.04.5 LTS and there are no pending updates. How can I resolve this error?

Anthon
  • 78,313
  • 42
  • 165
  • 222
devnull
  • 227
  • 2
  • 13
  • 2
    Here's a "me too". This started to happen after an `sa-update` run, so presumably some new checks have been released that perhaps shouldn't have. – wurtel Feb 09 '15 at 09:35
  • 1
    Apparently these rules were added in http://svn.apache.org/r1656028 30th January 2015, so a newer `spamassassin` would be needed to interpret these rules (`Mail::SpamAssassin::Plugin::SPF` is modified in the same commit). Presumably the new rules escaped too soon and this will be reverted soon. It's happened before. – wurtel Feb 09 '15 at 09:57
  • 3
    Another "mee too" here. Debian 7 wheezy 64 bit, the error appeared this morning. We hope for a fix soon! – lucaferrario Feb 09 '15 at 10:36
  • Glad to hear that I am not the only one. I hope it gets reverted soon. – devnull Feb 09 '15 at 10:55
  • For Debian Wheezy an automatic update fixed the problem this morning with rewritten rules in `/var/lib/spamassassin/.../.../25-spf.cf`. – mivk Feb 11 '15 at 17:36

4 Answers4

6

It may be tad easier to go to the update directory (something like /var/lib/spamassassin/3.003002/updates_spamassassin_org) and comment out every lines containing T_SPF_PERMERROR or T_SPF_TEMPERROR, like:

# header T_SPF_PERMERROR         eval:check_for_spf_permerror()

etc. instead of upgrading or cherry-picking upstream changes. If you use automatic updates you may want to go manual until they realize their problem (which seems not to be the case just yet).

derobert
  • 107,579
  • 20
  • 231
  • 279
grin
  • 184
  • 3
  • This is great. I just updated the file and commented out all the error-producing lines mentioned in my logs. This seems to be a good temporary fix! – devnull Feb 09 '15 at 15:56
  • Changes to the file 25_spf.cf will be overwritten, by regular spamassassin updates it seems. – Michael Franzl Feb 11 '15 at 11:39
  • Yeah, right. But is a working temporary solution that doesn't require to install any unsupported package versions. – devnull Feb 20 '15 at 08:14
1

On Debian Wheezy the following works for me:

In

/etc/spamassassin/init.pre

comment the SPF plugin

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

Afterwards the update job will work without errors again.

itsok
  • 11
  • 2
0

You may copy the latest SPF.pm into /usr/share/perl5/Mail/SpamAssassin/Plugin providing you are using 3.4 Please do not forget about backing up the original file.

Szépe Viktor
  • 279
  • 2
  • 5
0

Just install the backported spamassassin. Add this to /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

and run:

$ apt-get install -t wheezy-backports spamassassin 
Hauke Laging
  • 88,146
  • 18
  • 125
  • 174
ThCTlo
  • 1