Hi,

after upgrading to 3.4.0 (on a test machine ;-)) sa-update doesn'twork any more. I'm getting the following output:

----------------------------------------------------------------------------
XXX:~ # spamassassin -V
SpamAssassin version 3.4.0
  running on Perl version 5.8.8
XXX:~ # sa-update -V
sa-update version svn1475932
  running on Perl version 5.8.8
XXX:~ # sa-update
rules: failed to run T_HEADER_FROM_DIFFERENT_DOMAINS test, skipping:
(Can't locate object method "check_equal_from_domains" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1008) line 97.
)
channel: lint check of update failed, channel failed
XXX:~ # echo $?
4
----------------------------------------------------------------------------

Fortunately, sa-update didn't delete the downloaded archives for the rules. Thus, I unpacked the rules manually and I could locate the problem in 72_active.cf:

----------------------------------------------------------------------------
##{ T_HEADER_FROM_DIFFERENT_DOMAINS ifplugin Mail::SpamAssassin::Plugin::FreeMail if (version >= 3.004000)

ifplugin Mail::SpamAssassin::Plugin::FreeMail
  if (version >= 3.004000)
    header T_HEADER_FROM_DIFFERENT_DOMAINS eval:check_equal_from_domains()
describe T_HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
#    score T_HEADER_FROM_DIFFERENT_DOMAINS 0.25
endif
endif
##} T_HEADER_FROM_DIFFERENT_DOMAINS ifplugin Mail::SpamAssassin::Plugin::FreeMail if (version >= 3.004000)
----------------------------------------------------------------------------

With this rule I get:

----------------------------------------------------------------------------
XXX:~ # spamassassin --lint
Feb 28 16:39:50.580 [29782] warn: rules: failed to run T_HEADER_FROM_DIFFERENT_DOMAINS test, skipping: Feb 28 16:39:50.580 [29782] warn: (Can't locate object method "check_equal_from_domains" via package "Mail: [...]:SpamAssassin::PerMsgStatus" at (eval 988) line 97.
Feb 28 16:39:50.580 [29782] warn: )
Feb 28 16:39:50.819 [29782] warn: lint: 1 issues detected, please rerun with debug enabled for more information
----------------------------------------------------------------------------

After changing the version based condition for T_HEADER_FROM_DIFFERENT_DOMAINS from "if (version >= 3.004000)" to "if (version > 3.004000)", "spamassassin --lint" does not report any error any more (it doesn't report anything as it is wanted ;-)).

Doesn't that look pretty much like bug 6702, but now for version 3.4.0?

However, manually fixing the rule is OK for debugging on a test machine. But our production machine is automatically updating the rules every day. Introducing a manual step into this automatic procedure would just be a mess. ;-(

Is it possible to fix the source for this rule?

Regards,
Dieter

<<attachment: dieter_braun.vcf>>

Reply via email to