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

Joe Quinn <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Joe Quinn <[email protected]> ---
This is caused by the following lines in
lib/Mail/SpamAssassin/SQLBasedAddrList.pm

    while ( defined($aryref = $sth->fetchrow_arrayref()) ) {
      if (defined $entry->{count} && defined $aryref->[1]) {
        $entry->{count} += $aryref->[0];
        $entry->{totscore} += $aryref->[1];
      }

When a message is signed by multiple domains, $entry->{count} is the total of
all rows for those different signers. Then when they get written back to the
table, each row's new count value is $entry->{count} + 1. With two signers,
this changes the behavior from (n + 1) to (2n + 1), meaning you get to that max
value after just 31 iterations.

For a reproduction, test any message that has multiple valid DKIM signatures
from different domains.

Not sure how to fix it yet, since it's pretty deep into SQLBasedAddrList and
that count value is used in many places throughout txrep.

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

Reply via email to