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?

5
  • 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
    Commented Feb 9, 2015 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
    Commented Feb 9, 2015 at 9:57
  • 3
    Another "mee too" here. Debian 7 wheezy 64 bit, the error appeared this morning. We hope for a fix soon! Commented Feb 9, 2015 at 10:36
  • Glad to hear that I am not the only one. I hope it gets reverted soon.
    – devnull
    Commented Feb 9, 2015 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
    Commented Feb 11, 2015 at 17:36

4 Answers 4

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).

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
    Commented Feb 9, 2015 at 15:56
  • Changes to the file 25_spf.cf will be overwritten, by regular spamassassin updates it seems.
    – Michael F
    Commented Feb 11, 2015 at 11:39
  • Yeah, right. But is a working temporary solution that doesn't require to install any unsupported package versions.
    – devnull
    Commented Feb 20, 2015 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.

1
  • This would also disable the pre-existing, working T_SPF_* rules like T_SPF_PASS and T_SPF_FAIL. Commented Feb 9, 2015 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.

4
  • Thanks for your reply, but since I'm on precise I have installed link spamassassin 3.3.2-2ubuntu1.
    – devnull
    Commented Feb 9, 2015 at 10:54
  • You can still try to install the new version of SPF.pm Commented Feb 9, 2015 at 14:15
  • Because SA is written in Perl you can install packages.ubuntu.com/trusty/spamassassin Commented Feb 9, 2015 at 14:16
  • Wheezy is 3.3.2-5+deb7u2, so probably not tenable for me, either. Commented Feb 9, 2015 at 20:11
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 

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .