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 --lintFeb 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>>