You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@spamassassin.apache.org on 2023/03/15 16:15:53 UTC

[Bug 8121] New: header rules with keyword all not working

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

            Bug ID: 8121
           Summary: header rules with keyword all not working
           Product: Spamassassin
           Version: 4.0.0
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Libraries
          Assignee: dev@spamassassin.apache.org
          Reporter: sa-mst@lrz.de
  Target Milestone: Undefined

rules like __TO_EQ_FROM_1 are not working anymore because the newlines at the
end of the line are doubled.

Deleting the \n in line

$hval = scalar(@harr) ? join("\n", @harr) : ' .

of Check.pm corrects the problem.

A workaround for the ALL-rules is to replace the \n with \n{1,2}.

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

[Bug 8121] header rules with keyword all not working

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8121

Henrik Krohns <ap...@hege.li> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #2 from Henrik Krohns <ap...@hege.li> ---
I think it's best that Check.pm checks if get() value has newlines and joins
the matching string accordingly. Normally a get() user should know what
header/metadata is called and expect certain format, but Check.pm is not normal
since it accepts anything from header rules. Will try to document more if I
have time.

Sending        lib/Mail/SpamAssassin/PerMsgStatus.pm
Sending        lib/Mail/SpamAssassin/Plugin/Check.pm
Sending        t/header.t
Transmitting file data ...done
Committing transaction...
Committed revision 1908472.

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

[Bug 8121] header rules with keyword all not working

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8121

Henrik Krohns <ap...@hege.li> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 OS|Linux                       |All
                 CC|                            |apache@hege.li
   Target Milestone|Undefined                   |4.0.1

--- Comment #1 from Henrik Krohns <ap...@hege.li> ---
Thanks, we are missing many tests for these..

Unfortunately the fix is not that simple. Removing "\n" from Check.pm breaks
other stuff like Cc:addr. The real culprit is pms->_get() returning
inconsistent line endings, this needs careful vetting and adding tests for all
cases.

In the meantime, I've committed the workaround for some tests:

Sending        rules/20_head_tests.cf
Sending        rulesrc/sandbox/jhardin/20_misc_testing.cf
Sending        rulesrc/sandbox/jm/20_basic.cf
Sending        rulesrc/sandbox/khopesh/20_khop_experimental.cf
Sending        rulesrc/sandbox/pds/10_menaces.cf
Transmitting file data .....done
Committing transaction...
Committed revision 1908419.

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