10

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?

  • 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 9 '15 at 9:35
  • 1
    Apparently these rules were added in 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 9 '15 at 9:57
  • 3
    Another "mee too" here. Debian 7 wheezy 64 bit, the error appeared this morning. We hope for a fix soon! – lucaferrario Feb 9 '15 at 10:36
  • Glad to hear that I am not the only one. I hope it gets reverted soon. – devnull Feb 9 '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
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).

  • 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 9 '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 8: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.

  • This would also disable the pre-existing, working T_SPF_* rules like T_SPF_PASS and T_SPF_FAIL. – Boyd Stephen Smith Jr. Feb 9 '15 at 20:08
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.

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 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.