https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8415
Bug ID: 8415
Summary: FreeMail plugin strips addresses from the shared
rendered body array, corrupting body rules that run
after it
Product: Spamassassin
Version: 4.0.2
Hardware: PC
OS: Mac OS X
Status: NEW
Severity: normal
Priority: P2
Component: Plugins
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: Undefined
FreeMail::_parse_body() harvests addresses from the body and, before
scanning, blanks out addresses it doesn't want to count. That's reasonable,
but it does it in place on the array returned by
get_decoded_stripped_body_text_array(), which is the message's *cached*
rendered body. "foreach (@$body)" aliases $_ to the live elements, so the
s/// calls permanently rewrite the body for every rule that runs afterward.
Net effect: any body rule evaluated after FreeMail sees a corrupted body.
Three things are destroyed: addresses in <>; bare addresses followed by a
short lowercase word and a colon, *along with that trailing word*; and any
URL containing @ or %40. Forwarded mail is hit the hardest.
Examples:
From: Jane Doe <[email protected]> -> From: Jane Doe
To: [email protected] Subject: hi -> To: hi
On Mon, [email protected] wrote: -> On Mon,
--
You are receiving this mail because:
You are the assignee for the bug.