Fix rawbody rules documentation

Resolves: rhbz#1639251
This commit is contained in:
Ondřej Lysoněk 2019-10-01 17:44:43 +02:00
parent 01ea39b049
commit e0972dee68
2 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,63 @@
--- a/lib/Mail/SpamAssassin/Conf.pm 2019/08/01 12:28:38 1864149
+++ b/lib/Mail/SpamAssassin/Conf.pm 2019/08/08 08:11:36 1864686
@@ -3066,12 +3066,19 @@
as per the header tests, C<#> must be escaped (C<\#>) or else it is considered
the beginning of a comment.
-The 'body' in this case is the textual parts of the message body;
-any non-text MIME parts are stripped, and the message decoded from
-Quoted-Printable or Base-64-encoded format if necessary. The message
-Subject header is considered part of the body and becomes the first
-paragraph when running the rules. All HTML tags and line breaks will
-be removed before matching.
+The 'body' in this case is the textual parts of the message body; any
+non-text MIME parts are stripped, and the message decoded from
+Quoted-Printable or Base-64-encoded format if necessary. Parts declared as
+text/html will be rendered from HTML to text.
+
+All body paragraphs (double-newline-separated blocks text) are turned into a
+line breaks removed, whitespace normalized single line. Any lines longer
+than 2kB are split into shorter separate lines (from a boundary when
+possible), this may unexpectedly prevent pattern from matching. Patterns
+are matched independently against each of these lines.
+
+Note that the message Subject header is considered part of the body and
+becomes the first line when running the rules.
=item body SYMBOLIC_TEST_NAME eval:name_of_eval_method([args])
@@ -3152,6 +3159,10 @@
tags and line breaks will still be present. Multiline expressions will
need to be used to match strings that are broken by line breaks.
+Note that the text is split into 2-4kB chunks (from a word boundary when
+possible), this may unexpectedly prevent pattern from matching. Patterns
+are matched independently against each of these chunks.
+
=item rawbody SYMBOLIC_TEST_NAME eval:name_of_eval_method([args])
Define a raw-body eval test. See above.
--- a/lib/Mail/SpamAssassin/PerMsgStatus.pm 2019/08/03 13:55:00 1864336
+++ b/lib/Mail/SpamAssassin/PerMsgStatus.pm 2019/08/08 08:11:36 1864686
@@ -1769,8 +1769,10 @@
Returns the message body, with B<base64> or B<quoted-printable> encodings
decoded, and non-text parts or non-inline attachments stripped.
-It is returned as an array of strings, with each string representing
-one newline-separated line of the body.
+This is the same result text as used in 'rawbody' rules.
+
+It is returned as an array of strings, with each string being a 2-4kB chunk
+of the body, split from boundaries if possible.
=cut
@@ -1784,6 +1786,8 @@
get_decoded_body_text_array()), with HTML rendered, and with whitespace
normalized.
+This is the same result text as used in 'body' rules.
+
It will always render text/html, and will use a heuristic to determine if other
text/* parts should be considered text/html.

View File

@ -60,7 +60,7 @@ Summary: Spam filter for email which can be invoked from mail delivery agents
Name: spamassassin
Version: 3.4.2
#Release: 0.8.%%{prerev}%%{?dist}
Release: 6%{?dist}
Release: 7%{?dist}
License: ASL 2.0
URL: https://spamassassin.apache.org/
Source0: https://www.apache.org/dist/%{name}/source/%{real_name}-%{version}.tar.bz2
@ -91,6 +91,7 @@ Source17: sa-update.timer
Patch0: spamassassin-3.3.2-gnupg2.patch
Patch1: spamassassin-3.4.1-add-logfile-homedir-options.patch
# Patches 100+ are SVN backports (DO NOT REUSE!)
Patch100: spamassassin-3.4.2-fix-rawbody-rules-documentation.patch
# end of patches
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%if %{use_systemd} == 0
@ -210,6 +211,7 @@ To filter spam for all users, add that line to /etc/procmailrc
%patch0 -p1
%patch1 -p1
# Patches 100+ are SVN backports (DO NOT REUSE!)
%patch100 -p1
# end of patches
echo "RHEL=%{?rhel} FEDORA=%{?fedora}"
@ -389,6 +391,9 @@ exit 0
%endif
%changelog
* Tue Oct 01 2019 Ondřej Lysoněk <olysonek@redhat.com> - 3.4.2-7
- Fix rawbody rules documentation
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild