https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7822

            Bug ID: 7822
           Summary: HashBL not examining all addresses in a message
           Product: Spamassassin
           Version: 3.4.4
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Plugins
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: Undefined

HashBL isn't examining all email addresses in a message.  

On line 344 of HashBO.pm, it gets the stripped body of lines back in an array
reference.  The join is returning an array and not a string in this case.  (see
https://www.perlmonks.org/?node_id=222012).  So all we need to do is deref it
into an array.

Here's the fix:

*** /usr/share/perl5/Mail/SpamAssassin/Plugin/HashBL.pm 2020-06-07
05:38:02.517917366 -0400
--- /usr/share/perl5/Mail/SpamAssassin/Plugin/HashBL.pm.orig    2019-11-10
23:09:44.000000000 -0500
***************
*** 341,347 ****
          }
        }
      }
!     my $body = join('', @{$pms->get_decoded_stripped_body_text_array()});
      if ($opts =~ /\bnouri\b/) {
        # strip urls with possible emails inside
        $body =~ s#<?https?://\S{0,255}(?:\@|%40)\S{0,255}# #gi;
--- 341,347 ----
          }
        }
      }
!     my $body = join('', $pms->get_decoded_stripped_body_text_array());
      if ($opts =~ /\bnouri\b/) {
        # strip urls with possible emails inside
        $body =~ s#<?https?://\S{0,255}(?:\@|%40)\S{0,255}# #gi;

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to