Package: Spamassassin
Version: 3.4.1
Severity: <Important>

The issue appears to be something with spam assassin 3.4.1 and one of its
modules
URILocalBL. 

This is submitted to the SpamAssassin team as well  ID: 7560
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7560


I am running Debian 4.9.51-1

root@server1:/var/log# cpanm Geo::IP
Geo::IP is up to date. (1.51)

root@server1:/var/log# cpanm Mail::SpamAssassin
Mail::SpamAssassin is up to date. (3.004001)

uname -a 
Linux server1 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64
GNU/Linux

I am getting the following error spamming my logs and it won't run
the URILocalBL.pm module. 

Now this comes from my /var/log/mail.log

Feb 21 10:18:21 server1 spamd[29378]: plugin: failed to parse plugin (from
@INC): Experimental each on scalar is now forbidden at
/usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line $
Feb 21 10:18:21 server1 spamd[29378]: Compilation failed in require at (eval
118) line 1, <DATA> line 717.
Feb 21 10:18:22 server1 spamd[29378]: netset: cannot include 127.0.0.0/8 as
it has already been included
Feb 21 10:18:23 server1 spamd[29378]: zoom: able to use 347/347 'body_0'
compiled rules (100%)
Feb 21 10:18:28 server1 spamd[29378]: spamd: server started on
IO::Socket::IP [::1]:783, IO::Socket::IP [127.0.0.1]:783 (running version
3.4.1)
Feb 21 10:18:28 server1 spamd[29378]: spamd: server pid: 29378
Feb 21 10:18:28 server1 spamd[29378]: spamd: server successfully spawned
child process, pid 29382
Feb 21 10:18:28 server1 spamd[29378]: spamd: server successfully spawned
child process, pid 29384
Feb 21 10:18:28 server1 spamd[29378]: prefork: child states: IS
Feb 21 10:18:28 server1 spamd[29378]: prefork: child states: II

root@server1:/etc/spamassassin# spamassassin --lint
Feb 21 11:05:33.649 [4736] warn: plugin: failed to parse plugin (from @INC):
Experimental each on scalar is now forbidden at
/usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line 353, <DATA>
line 717.
Feb 21 11:05:33.649 [4736] warn: Compilation failed in require at (eval 158)
line 1, <DATA> line 717.
Feb 21 11:05:34.191 [4736] warn: netset: cannot include 127.0.0.0/8 as it
has already been included

root@server1:/etc/spamassassin# spamassassin -V
SpamAssassin version 3.4.1
  running on Perl version 5.24.1

root@server1:/etc/spamassassin# perl -v

This is perl 5, version 24, subversion 1 (v5.24.1) built for
x86_64-linux-gnu-thread-multi
(with 75 registered patches, see perl -V for more detail)

Copyright 1987-2017, Larry Wall

Perl may be copied only under the terms of either the Artistic License or
the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

root@server1:/etc/spamassassin# which spamasassin
root@server1:/etc/spamassassin# which spamassassin
/usr/bin/spamassassin

root@server1:/etc/spamassassin# cpan -i Geo::IP
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 21 Feb 2018 05:29:02 GMT
Geo::IP is up to date (1.51).

Now I have seen this before and the SpamAssassin team claims
That this was fixed in Spamassassin 3.4.1 back in 2015.

But this error is occurring again 

https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7208
and 
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7332

http://spamassassin.1065346.n5.nabble.com/Bug-7208-New-URILocalBL-fails-to-l
oad-td116602.html


root@server1:/etc/spamassassin# spamassassin -D --lint 2>&1 | grep -i
URILoca -A5
Feb 21 11:20:34.559 [5100] dbg: plugin: loading
Mail::SpamAssassin::Plugin::URILocalBL from @INC
Feb 21 11:20:34.562 [5100] warn: plugin: failed to parse plugin (from @INC):
Experimental each on scalar is now forbidden at
/usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line 353, <DATA>
line 717.
Feb 21 11:20:34.562 [5100] warn: Compilation failed in require at (eval 158)
line 1, <DATA> line 717.
Feb 21 11:20:34.562 [5100] dbg: config: fixed relative path:
/var/lib/spamassassin/3.004001/updates_spamassassin_org/10_default_prefs.cf
Feb 21 11:20:34.562 [5100] dbg: config: using
"/var/lib/spamassassin/3.004001/updates_spamassassin_org/10_default_prefs.cf
" for included file
Feb 21 11:20:34.562 [5100] dbg: config: read file
/var/lib/spamassassin/3.004001/updates_spamassassin_org/10_default_prefs.cf
Feb 21 11:20:34.577 [5100] dbg: config: fixed relative path:
/var/lib/spamassassin/3.004001/updates_spamassassin_org/10_hasbase.cf

Appears to fail well when the module is run directly. 

perl -c /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm
Experimental each on scalar is now forbidden at
/usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line 353, <DATA>
line 717.

Now line 353 of /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm is 

   while (my($host, $domain) = each $info->{hosts}) {


This is more of the code in the same area in URILocalBL.pm

    # look for W3 links only
    next unless (defined $info->{types}->{a});

    while (my($host, $domain) = each $info->{hosts}) {

      # skip if the domain name was matched
      if (exists $rule->{exclusions} && exists
$rule->{exclusions}->{$domain}) {
        dbg("check: uri_local_bl excludes %s as *.%s\n", $host, $domain);
        next;
      }

Reply via email to