You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Dieter Braun <di...@onevision.com> on 2014/03/03 16:06:26 UTC
Re: sa-update fails - bug 6702 reappearing?
Tried it - removed all files listed in
/usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Mail/SpamAssassin/.packlist
and recompiled from scratch (after "make clean"): Same behavior as
described below.
Noticed something I'm wondering about: "sa-update" and "spamassassin
--lint" want to call "check_equal_from_domains" via package
"Mail::SpamAssassin::PerMsgStatus". But when I grep through the source
code, I find "check_equal_from_domains" in the file
"lib/Mail/SpamAssassin/Plugin/HeaderEval.pm". (In the installed files
"check_equal_from_domains" is defined in
"/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm".) Just
wondering about this.
Regards,
Dieter
Am 28.02.2014 18:02, schrieb Kevin A. McGrail:
> This looks like a step where you have old and new as versions
> intermingling and not playing nicely. Can you clear the install and
> reinstall?
> Regards,
> KAM
>
> Dieter Braun <di...@onevision.com> wrote:
>
> 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 <http://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
>
Re: sa-update fails - bug 6702 reappearing?
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
I tried 5.8.6 with no problems so like I said I am baffled. Perhaps do make uninstall and cut and paste all the commands it would run. Then move everything out of /etc/mail/spamassassin and do another install. That will remove any of your config from consideration.
If that works, put back your config and maybe this is a config bug.
Regards,
KAM
Dieter Braun <di...@onevision.com> wrote:
>
>Am 03.03.2014 18:24, schrieb Kevin A. McGrail:
>> On 3/3/2014 12:18 PM, Dieter Braun wrote:
>>> ---------------------------------------------
>>> XXX:~ # updatedb
>>> XXX:~ # locate FreeMail.pm
>>>
>/root/install/Mail-SpamAssassin-3.4.0/blib/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
>
>>>
>>>
>/root/install/Mail-SpamAssassin-3.4.0/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
>
>>>
>>> /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/FreeMail.pm
>>> ---------------------------------------------
>> I'm baffled. You appear to have the right code but your perl is
>> saying the code is not there and I can't replicate the issue.
>>
>>
>Thus, I guess, I should try to update perl.
Re: sa-update fails - bug 6702 reappearing?
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
On 3/4/2014 9:18 AM, Kevin A. McGrail wrote:
> On 3/4/2014 9:09 AM, Mark Martinec wrote:
>> Dieter Braun wrote:
>>
>>> # 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.
>>
>> You are missing a line:
>> loadplugin Mail::SpamAssassin::Plugin::HeaderEval
>> in one of your .pre files.
>>
>> That line is normally in v320.pre. You may have commented it out,
>> or the file v320.pre is missing from your SpamAssassin configuration
>> directory.
>>
>> Btw, the rule T_HEADER_FROM_DIFFERENT_DOMAINS should have
>> been conditionalized to only apply if the plugin HeaderEval
>> is available.
>
> Good call. Working on that now.
Change committed, good catch Mark. I was moving in that direction but
it's very clear from reviewing now.
Dieter, if you uncomment/add loadplugin
Mail::SpamAssassin::Plugin::HeaderEval to your v320.pre for now, you
should be good to go.
svn commit -m 'Adding HeaderEval condition to FREEMAIL_FORGED_FROMDOMAIN
& HEADER_FROM_DIFFERENT_DOMAINS'
Sending rulesrc/sandbox/kmcgrail/20_freemail.cf
Transmitting file data .
Committed revision 1574117.
Expect the rule to be fixed in a few days and you can revert.
regards,
KAM
Re: sa-update fails - bug 6702 reappearing?
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
On 3/4/2014 9:09 AM, Mark Martinec wrote:
> Dieter Braun wrote:
>
>> # 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.
>
> You are missing a line:
> loadplugin Mail::SpamAssassin::Plugin::HeaderEval
> in one of your .pre files.
>
> That line is normally in v320.pre. You may have commented it out,
> or the file v320.pre is missing from your SpamAssassin configuration
> directory.
>
> Btw, the rule T_HEADER_FROM_DIFFERENT_DOMAINS should have
> been conditionalized to only apply if the plugin HeaderEval
> is available.
Good call. Working on that now.
Re: sa-update fails - bug 6702 reappearing? --- solved
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
On 3/5/2014 8:36 AM, Dieter Braun wrote:
> Thanks a lot for this hint - that's been it!
>
> This had happened: The files /etc/mail/spamassassin/*.pre, that
> already existed, were not replaced by the new versions. Only the new
> file v340.pre was copied to /etc/mail/spamassassin.
>
> After moving the existing *.pre files somewhere else and copying the
> new *.pre files, sa-update worked without any problem.
>
> But now I'm wondering, why the *.pre files aren't included in
> /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Mail/SpamAssassin/.packlist
> (and not included in the file list shown after "make uninstall")? But
> that's another topic.
>
User configuration files (.pre files are intended to be changed) are
usually exempted to avoid removing important local configuration.
The bug really was on our end where we were not testing all the plugins
needed for that rule and you happened to have one of the two disabled.
You just helped identify the bug.
> (Sorry, that I couldn't come back to this topic earlier - many
> colleagues are ill and need substitution.)
Better health to them!
regards,
KAM
Re: sa-update fails - bug 6702 reappearing? --- solved
Posted by Dieter Braun <di...@onevision.com>.
Thanks a lot for this hint - that's been it!
This had happened: The files /etc/mail/spamassassin/*.pre, that already
existed, were not replaced by the new versions. Only the new file
v340.pre was copied to /etc/mail/spamassassin.
After moving the existing *.pre files somewhere else and copying the new
*.pre files, sa-update worked without any problem.
But now I'm wondering, why the *.pre files aren't included in
/usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Mail/SpamAssassin/.packlist
(and not included in the file list shown after "make uninstall")? But
that's another topic.
(Sorry, that I couldn't come back to this topic earlier - many
colleagues are ill and need substitution.)
Best regards and many thanks,
Dieter
Am 04.03.2014 15:09, schrieb Mark Martinec:
> Dieter Braun wrote:
>
>> # 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.
>
> You are missing a line:
> loadplugin Mail::SpamAssassin::Plugin::HeaderEval
> in one of your .pre files.
>
> That line is normally in v320.pre. You may have commented it out,
> or the file v320.pre is missing from your SpamAssassin configuration
> directory.
>
> Btw, the rule T_HEADER_FROM_DIFFERENT_DOMAINS should have
> been conditionalized to only apply if the plugin HeaderEval
> is available.
>
> Mark
>
>
Re: sa-update fails - bug 6702 reappearing?
Posted by Mark Martinec <Ma...@ijs.si>.
Dieter Braun wrote:
> # 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.
You are missing a line:
loadplugin Mail::SpamAssassin::Plugin::HeaderEval
in one of your .pre files.
That line is normally in v320.pre. You may have commented it out,
or the file v320.pre is missing from your SpamAssassin configuration
directory.
Btw, the rule T_HEADER_FROM_DIFFERENT_DOMAINS should have
been conditionalized to only apply if the plugin HeaderEval
is available.
Mark
Re: sa-update fails - bug 6702 reappearing?
Posted by Dieter Braun <di...@onevision.com>.
Am 03.03.2014 18:24, schrieb Kevin A. McGrail:
> On 3/3/2014 12:18 PM, Dieter Braun wrote:
>> ---------------------------------------------
>> XXX:~ # updatedb
>> XXX:~ # locate FreeMail.pm
>> /root/install/Mail-SpamAssassin-3.4.0/blib/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
>>
>> /root/install/Mail-SpamAssassin-3.4.0/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
>>
>> /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/FreeMail.pm
>> ---------------------------------------------
> I'm baffled. You appear to have the right code but your perl is
> saying the code is not there and I can't replicate the issue.
>
>
Thus, I guess, I should try to update perl.
Re: sa-update fails - bug 6702 reappearing?
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
On 3/3/2014 12:18 PM, Dieter Braun wrote:
> ---------------------------------------------
> XXX:~ # updatedb
> XXX:~ # locate FreeMail.pm
> /root/install/Mail-SpamAssassin-3.4.0/blib/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
>
> /root/install/Mail-SpamAssassin-3.4.0/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
>
> /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/FreeMail.pm
> ---------------------------------------------
I'm baffled. You appear to have the right code but your perl is saying
the code is not there and I can't replicate the issue.
Re: sa-update fails - bug 6702 reappearing?
Posted by Dieter Braun <di...@onevision.com>.
Am 03.03.2014 17:49, schrieb Axb:
> On 03/03/2014 05:25 PM, Kevin A. McGrail wrote:
>> On 3/3/2014 11:21 AM, Dieter Braun wrote:
>>>
>>> Am 03.03.2014 17:13, schrieb Kevin A. McGrail:
>>>> On 3/3/2014 10:57 AM, Dieter Braun wrote:
>>>>> All Plugins appear to be from 3.4.0. With 'find / -nzme "perl*"' I
>>>>> cannot find any file belonging to another version of perl. (To be
>>>>> more exact: I cannot claim this for the man pages, but that
>>>>> shouldn't matter here.:-) )
>>>> Can you view HeaderEval.pm and confirm
>>>> $self->register_eval_rule("check_equal_from_domains"); is on the list
>>>> of functions?
>>> From
>>> /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm:
>> Bizarre... I am at a complete loss on your error. The code is there.
>> Perhaps someone has a thought.
>
> shot in the dark...
>
> can you run
>
> updatedb
> locate FreeMail.pm
>
>
---------------------------------------------
XXX:~ # updatedb
XXX:~ # locate FreeMail.pm
/root/install/Mail-SpamAssassin-3.4.0/blib/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
/root/install/Mail-SpamAssassin-3.4.0/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/FreeMail.pm
---------------------------------------------
As before: "/root/install/Mail-SpamAssassin-3.4.0/" is the location of
the source code.
Re: sa-update fails - bug 6702 reappearing?
Posted by Axb <ax...@gmail.com>.
On 03/03/2014 05:25 PM, Kevin A. McGrail wrote:
> On 3/3/2014 11:21 AM, Dieter Braun wrote:
>>
>> Am 03.03.2014 17:13, schrieb Kevin A. McGrail:
>>> On 3/3/2014 10:57 AM, Dieter Braun wrote:
>>>> All Plugins appear to be from 3.4.0. With 'find / -nzme "perl*"' I
>>>> cannot find any file belonging to another version of perl. (To be
>>>> more exact: I cannot claim this for the man pages, but that
>>>> shouldn't matter here.:-) )
>>> Can you view HeaderEval.pm and confirm
>>> $self->register_eval_rule("check_equal_from_domains"); is on the list
>>> of functions?
>> From
>> /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm:
> Bizarre... I am at a complete loss on your error. The code is there.
> Perhaps someone has a thought.
shot in the dark...
can you run
updatedb
locate FreeMail.pm
Re: sa-update fails - bug 6702 reappearing?
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
On 3/3/2014 11:21 AM, Dieter Braun wrote:
>
> Am 03.03.2014 17:13, schrieb Kevin A. McGrail:
>> On 3/3/2014 10:57 AM, Dieter Braun wrote:
>>> All Plugins appear to be from 3.4.0. With 'find / -nzme "perl*"' I
>>> cannot find any file belonging to another version of perl. (To be
>>> more exact: I cannot claim this for the man pages, but that
>>> shouldn't matter here.:-) )
>> Can you view HeaderEval.pm and confirm
>> $self->register_eval_rule("check_equal_from_domains"); is on the list
>> of functions?
> From
> /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm:
Bizarre... I am at a complete loss on your error. The code is there.
Perhaps someone has a thought.
Re: sa-update fails - bug 6702 reappearing?
Posted by Dieter Braun <di...@onevision.com>.
Am 03.03.2014 17:13, schrieb Kevin A. McGrail:
> On 3/3/2014 10:57 AM, Dieter Braun wrote:
>> All Plugins appear to be from 3.4.0. With 'find / -nzme "perl*"' I
>> cannot find any file belonging to another version of perl. (To be
>> more exact: I cannot claim this for the man pages, but that shouldn't
>> matter here.:-) )
> Can you view HeaderEval.pm and confirm
> $self->register_eval_rule("check_equal_from_domains"); is on the list
> of functions?
>From /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm:
---------------------------------------------------------
[...]
$self->register_eval_rule("check_equal_from_domains");
[...]
# ADDED FROM BUG 6487
sub check_equal_from_domains {
my ($self, $pms) = @_;
my $from = $pms->get('From:addr');
my $envfrom = $pms->get('EnvelopeFrom:addr');
local $1;
my $fromdomain = '';
#Revised regexp from 6487 comment 3
$fromdomain = $1 if $from =~ /\@([^@]*)\z/;
$fromdomain =~ s/^.+\.([^\.]+\.[^\.]+)$/$1/;
return 0 if $fromdomain eq '';
my $envfromdomain = '';
$envfromdomain = $1 if $envfrom =~ /\@([^@]*)\z/;
$envfromdomain =~ s/^.+\.([^\.]+\.[^\.]+)$/$1/;
return 0 if $envfromdomain eq '';
dbg("eval: From 2nd level domain: $fromdomain, EnvelopeFrom 2nd level
domain: $envfromdomain");
return 1 if lc($fromdomain) ne lc($envfromdomain);
return 0;
}
[...]
---------------------------------------------------------
Regards,
Dieter
Re: sa-update fails - bug 6702 reappearing?
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
On 3/3/2014 10:57 AM, Dieter Braun wrote:
> All Plugins appear to be from 3.4.0. With 'find / -nzme "perl*"' I
> cannot find any file belonging to another version of perl. (To be more
> exact: I cannot claim this for the man pages, but that shouldn't
> matter here.:-) )
Can you view HeaderEval.pm and confirm
$self->register_eval_rule("check_equal_from_domains"); is on the list of
functions?
Re: sa-update fails - bug 6702 reappearing?
Posted by Dieter Braun <di...@onevision.com>.
Am 03.03.2014 16:21, schrieb Kevin A. McGrail:
> On 3/3/2014 10:06 AM, Dieter Braun wrote:
>> Tried it - removed all files listed in
>> /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Mail/SpamAssassin/.packlist
>> and recompiled from scratch (after "make clean"): Same behavior as
>> described below.
>>
>> Noticed something I'm wondering about: "sa-update" and "spamassassin
>> --lint" want to call "check_equal_from_domains" via package
>> "Mail::SpamAssassin::PerMsgStatus". But when I grep through the
>> source code, I find "check_equal_from_domains" in the file
>> "lib/Mail/SpamAssassin/Plugin/HeaderEval.pm". (In the installed files
>> "check_equal_from_domains" is defined in
>> "/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm".)
>> Just wondering about this.
> PerMsgStatus or PMS is more of the core library that loops through the
> message.
>
> I would do a locate HeaderEval.pm or similar. To me, this is acting
> like you have an old version of the file HeaderEval.pm (perhaps
> multiple versions of perl)?
>
> I can recreate this issue by modifying HeaderEval.pm to remove
> $self->register_eval_rule("check_equal_from_domains");
>
> 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 1125) line 1423.
> )
> channel: lint check of update failed, channel failed
>
> Did you install via cpan, source, rpm, etc?
>
> Regards,
> KAM
-------------------------------------------------------
XXX:~ # locate HeaderEval.pm
/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm
-------------------------------------------------------
-------------------------------------------------------
XXX:~ # l /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin
total 736
drwxr-xr-x 2 root root 4096 Mar 3 15:51 ./
drwxr-xr-x 10 root root 4096 Mar 3 15:51 ../
-r--r--r-- 1 root root 15023 Feb 7 09:36 ASN.pm
-r--r--r-- 1 root root 19875 Feb 7 09:36 AWL.pm
-r--r--r-- 1 root root 4672 Feb 7 09:36 AccessDB.pm
-r--r--r-- 1 root root 4572 Feb 7 09:36 AntiVirus.pm
-r--r--r-- 1 root root 28105 Feb 7 09:36 AskDNS.pm
-r--r--r-- 1 root root 8816 Feb 7 09:36 AutoLearnThreshold.pm
-r--r--r-- 1 root root 52152 Feb 7 09:36 Bayes.pm
-r--r--r-- 1 root root 8900 Feb 7 09:36 BodyEval.pm
-r--r--r-- 1 root root 34302 Feb 7 09:36 BodyRuleBaseExtractor.pm
-r--r--r-- 1 root root 46722 Feb 7 09:36 Check.pm
-r--r--r-- 1 root root 33535 Feb 7 09:36 DCC.pm
-r--r--r-- 1 root root 49285 Feb 7 09:36 DKIM.pm
-r--r--r-- 1 root root 12415 Feb 7 09:36 DNSEval.pm
-r--r--r-- 1 root root 18906 Feb 7 09:36 FreeMail.pm
-r--r--r-- 1 root root 5458 Feb 7 09:36 HTMLEval.pm
-r--r--r-- 1 root root 3589 Feb 7 09:36 HTTPSMismatch.pm
-r--r--r-- 1 root root 10214 Feb 7 09:36 Hashcash.pm
-r--r--r-- 1 root root 33326 Feb 7 09:36 HeaderEval.pm
-r--r--r-- 1 root root 12860 Feb 7 09:36 ImageInfo.pm
-r--r--r-- 1 root root 15417 Feb 7 09:36 MIMEEval.pm
-r--r--r-- 1 root root 6075 Feb 7 09:36 MIMEHeader.pm
-r--r--r-- 1 root root 4127 Feb 7 09:36 OneLineBodyRuleType.pm
-r--r--r-- 1 root root 7448 Feb 7 09:36 PhishTag.pm
-r--r--r-- 1 root root 13163 Feb 7 09:36 Pyzor.pm
-r--r--r-- 1 root root 14430 Feb 7 09:36 Razor2.pm
-r--r--r-- 1 root root 4496 Feb 7 09:36 RelayCountry.pm
-r--r--r-- 1 root root 11363 Feb 7 09:36 RelayEval.pm
-r--r--r-- 1 root root 7831 Feb 7 09:36 ReplaceTags.pm
-r--r--r-- 1 root root 6975 Feb 7 09:36 Reuse.pm
-r--r--r-- 1 root root 8733 Feb 7 09:36 Rule2XSBody.pm
-r--r--r-- 1 root root 28730 Feb 7 09:36 SPF.pm
-r--r--r-- 1 root root 8396 Feb 7 09:36 Shortcircuit.pm
-r--r--r-- 1 root root 8578 Feb 7 09:36 SpamCop.pm
-r--r--r-- 1 root root 2018 Feb 7 09:36 Test.pm
-r--r--r-- 1 root root 14167 Feb 7 09:36 TextCat.pm
-r--r--r-- 1 root root 39526 Feb 7 09:36 URIDNSBL.pm
-r--r--r-- 1 root root 7329 Feb 7 09:36 URIDetail.pm
-r--r--r-- 1 root root 2693 Feb 7 09:36 URIEval.pm
-r--r--r-- 1 root root 4987 Feb 7 09:36 VBounce.pm
-r--r--r-- 1 root root 14646 Feb 7 09:36 WLBLEval.pm
-r--r--r-- 1 root root 4221 Feb 7 09:36 WhiteListSubject.pm
-------------------------------------------------------
All Plugins appear to be from 3.4.0. With 'find / -name "perl*"' I
cannot find any file belonging to another version of perl. (To be more
exact: I cannot claim this for the man pages, but that shouldn't matter
here.:-) )
-------------------------------------------------------
XXX:~ # find / -name HeaderEval.pm
/root/install/Mail-SpamAssassin-3.4.0/blib/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
/root/install/Mail-SpamAssassin-3.4.0/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm
-------------------------------------------------------
"/root/install/Mail-SpamAssassin-3.4.0/" is the directory where the
source code is located. I'm installing by compiling from source code:
-------------------------------------------------------
cd /root/install/Mail-SpamAssassin-3.4.0/
perl Makefile.PL
make
make install
-------------------------------------------------------
I have not installed all optional modules:
-------------------------------------------------------
XXX:~ # perl build/check_dependencies
[...]
optional module missing: Mail::SPF
optional module missing: Geo::IP
optional module missing: IO::Socket::IP
optional module missing: Mail::DKIM
optional module missing: Net::Patricia
optional binary missing or nonfunctional: fetch
-------------------------------------------------------
Regards,
Dieter
Re: sa-update fails - bug 6702 reappearing?
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
On 3/3/2014 10:06 AM, Dieter Braun wrote:
> Tried it - removed all files listed in
> /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Mail/SpamAssassin/.packlist
> and recompiled from scratch (after "make clean"): Same behavior as
> described below.
>
> Noticed something I'm wondering about: "sa-update" and "spamassassin
> --lint" want to call "check_equal_from_domains" via package
> "Mail::SpamAssassin::PerMsgStatus". But when I grep through the source
> code, I find "check_equal_from_domains" in the file
> "lib/Mail/SpamAssassin/Plugin/HeaderEval.pm". (In the installed files
> "check_equal_from_domains" is defined in
> "/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/HeaderEval.pm".)
> Just wondering about this.
PerMsgStatus or PMS is more of the core library that loops through the
message.
I would do a locate HeaderEval.pm or similar. To me, this is acting
like you have an old version of the file HeaderEval.pm (perhaps multiple
versions of perl)?
I can recreate this issue by modifying HeaderEval.pm to remove
$self->register_eval_rule("check_equal_from_domains");
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 1125) line 1423.
)
channel: lint check of update failed, channel failed
Did you install via cpan, source, rpm, etc?
Regards,
KAM