You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2018/10/20 03:19:42 UTC
svn commit: r1844387 - in /spamassassin:
branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm trunk/rules/20_head_tests.cf
Author: hege
Date: Sat Oct 20 03:19:42 2018
New Revision: 1844387
URL: http://svn.apache.org/viewvc?rev=1844387&view=rev
Log:
Fix check_illegal_chars ALL:raw usage
Modified:
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
spamassassin/trunk/rules/20_head_tests.cf
Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm?rev=1844387&r1=1844386&r2=1844387&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm Sat Oct 20 03:19:42 2018
@@ -266,16 +266,10 @@ sub word_is_in_dictionary {
sub check_illegal_chars {
my ($self, $pms, $header, $ratio, $count) = @_;
- $header .= ":raw" unless ($header eq "ALL" || $header =~ /:raw$/);
+ $header .= ":raw" unless $header =~ /:raw$/;
my $str = $pms->get($header);
return 0 if !defined $str || $str eq '';
- # avoid overlap between tests
- if ($header eq "ALL") {
- # Remove Subject and From
- $str =~ s/^(?:Subject|From):.*$//gmi;
- }
-
# count illegal substrings (RFC 2045)
# (non-ASCII + C0 controls except TAB, NL, CR)
my $illegal = $str =~ tr/\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff//;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm?rev=1844387&r1=1844386&r2=1844387&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm Sat Oct 20 03:19:42 2018
@@ -267,16 +267,10 @@ sub word_is_in_dictionary {
sub check_illegal_chars {
my ($self, $pms, $header, $ratio, $count) = @_;
- $header .= ":raw" unless ($header eq "ALL" || $header =~ /:raw$/);
+ $header .= ":raw" unless $header =~ /:raw$/;
my $str = $pms->get($header);
return 0 if !defined $str || $str eq '';
- # avoid overlap between tests
- if ($header eq "ALL") {
- # Remove Subject and From
- $str =~ s/^(?:Subject|From):.*$//gmi;
- }
-
if ($str =~ tr/\x00-\x7F//c && is_valid_utf_8($str)) {
# is non-ASCII and is valid UTF-8
if ($str =~ tr/\x00-\x08\x0B\x0C\x0E-\x1F//) {
Modified: spamassassin/trunk/rules/20_head_tests.cf
URL: http://svn.apache.org/viewvc/spamassassin/trunk/rules/20_head_tests.cf?rev=1844387&r1=1844386&r2=1844387&view=diff
==============================================================================
--- spamassassin/trunk/rules/20_head_tests.cf (original)
+++ spamassassin/trunk/rules/20_head_tests.cf Sat Oct 20 03:19:42 2018
@@ -458,7 +458,8 @@ describe SUBJ_ILLEGAL_CHARS Subject: has
header FROM_ILLEGAL_CHARS eval:check_illegal_chars('From','0.20','2')
describe FROM_ILLEGAL_CHARS From: has too many raw illegal characters
-header HEAD_ILLEGAL_CHARS eval:check_illegal_chars('ALL','0.010','2')
+header __HEAD_ILLEGAL_CHARS eval:check_illegal_chars('ALL','0.010','2')
+meta HEAD_ILLEGAL_CHARS __HEAD_ILLEGAL_CHARS && !__SUBJ_ILLEGAL_CHARS && !FROM_ILLEGAL_CHARS
describe HEAD_ILLEGAL_CHARS Headers have too many raw illegal characters
###################################################################