Skip to content

Commit

Permalink
Bug 7307: Base64 decoded headers have invisible characters sometimes …
Browse files Browse the repository at this point in the history
…injected at line breaks - updated t/header_utf8.t, see comment #4

git-svn-id: https://svn.apache.org/repos/asf/spamassassin/trunk@1749338 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
Mark Martinec committed Jun 20, 2016
1 parent a2623e2 commit 5d4979d
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 3 deletions.
1 change: 1 addition & 0 deletions MANIFEST
Expand Up @@ -339,6 +339,7 @@ t/data/nice/spf2
t/data/nice/spf3
t/data/nice/spf3-received-spf
t/data/nice/unicode1
t/data/nice/unicode2
t/data/reporterplugin.pm
t/data/spam/001
t/data/spam/002
Expand Down
10 changes: 10 additions & 0 deletions t/data/nice/unicode2
@@ -0,0 +1,10 @@
From: test
To: test
Message-ID: <123@test.example.com>
Date: Thu, 16 Jun 2016 00:41:19 (UTC)
Subject: =?UTF-8?B?44CQ6YeN6KaB6KiK5oGv44CR5Y+w6Zu7MTA15bm0?=
=?UTF-8?B?M+aciOmbu+iyu++8jOWnlOiol+mHkeiejeapn+ani+aJow==?=
=?UTF-8?B?57mz5oiQ5Yqf6Zu75a2Q57mz6LK75oaR6K2JKOmbu+iZnw==?=
=?UTF-8?B?MDc0ODc2MTY3MzAp?=

test
29 changes: 26 additions & 3 deletions t/header_utf8.t
Expand Up @@ -10,7 +10,8 @@ BEGIN {
eval { require Net::LibIDN } and do { $have_libidn = 1 };
}

use Test; BEGIN { plan tests => (TEST_ENABLED ? 154 : 0) };
use Test; BEGIN { plan tests => (TEST_ENABLED ? 142 : 0) };
#use Test; BEGIN { plan tests => (TEST_ENABLED ? 156 : 0) };

exit unless (TEST_ENABLED);

Expand All @@ -26,11 +27,11 @@ exit unless (TEST_ENABLED);
q{/ LT_TO_ADDR /} => 'LT_TO_ADDR',
q{/ LT_TO_NAME /} => 'LT_TO_NAME',
q{/ LT_CC_ADDR /} => 'LT_CC_ADDR',
q{/ LT_SUBJ /} => 'LT_SUBJ',
# q{/ LT_SUBJ /} => 'LT_SUBJ',
q{/ LT_SUBJ_RAW /} => 'LT_SUBJ_RAW',
q{/ LT_MESSAGEID /} => 'LT_MESSAGEID',
q{/ LT_MSGID /} => 'LT_MSGID',
q{/ LT_CT /} => 'LT_CT',
# q{/ LT_CT /} => 'LT_CT',
q{/ LT_CT_RAW /} => 'LT_CT_RAW',
q{/ LT_AUTH_DOM /} => 'LT_AUTH_DOM',
q{/ LT_NOTE /} => 'LT_NOTE',
Expand All @@ -51,6 +52,11 @@ exit unless (TEST_ENABLED);
q{/(?m)^\t\* 0\.0 LT_ANY_CHARS =\?UTF-8\?B\?5a2X56ym6KKr5YyF5ZCr5Zyo5raI5oGv5oql5aS06YOo5YiG\?=$/} => 'LT_ANY_CHARS mime encoded',
);

%mypatterns_mime_b64_bug7307 = (
q{/ LT_SUBJ2 /} => 'LT_SUBJ2',
q{/ LT_SUBJ2_RAW /} => 'LT_SUBJ2_RAW',
);

%anti_patterns = (
q{/ NO_RELAYS /} => 'NO_RELAYS',
# q{/ INVALID_MSGID /} => 'INVALID_MSGID',
Expand Down Expand Up @@ -85,6 +91,10 @@ my $myrules = <<'END';
score LT_SUBJ 0.01
header LT_SUBJ_RAW Subject:raw =~ /^\s*=\?iso-8859-2\*sl\?Q\?Doma=e8e\?=\s+=\?utf-8\*sl\?Q\?_omre=C5\?=/m
score LT_SUBJ_RAW 0.01
header LT_SUBJ2 Subject =~ /^【重要訊息】台電105年3月電費,委託金融機構扣繳成功電子繳費憑證\(電號07487616730\)$/m
score LT_SUBJ2 0.01
header LT_SUBJ2_RAW Subject:raw =~ /^\s*=\?UTF-8\?B\?44CQ6YeN6KaB6KiK5oGv44CR5Y\+w6Zu7MTA15bm0\?=\s*=\?UTF-8\?B\?M\+aciOmbu\+iyu\+\+8jOWnlOiol\+mHkeiejeapn\+ani\+aJow==\?=\s*=\?UTF-8\?B\?57mz5oiQ5Yqf6Zu75a2Q57mz6LK75oaR6K2JKOmbu\+iZnw==\?=\s*=\?UTF-8\?B\?MDc0ODc2MTY3MzAp\?=$/m
score LT_SUBJ2_RAW 0.01
header LT_MSGID Message-ID =~ /^<b497e6c2\@example\.срб>$/m
score LT_MSGID 0.01
header LT_MESSAGEID MESSAGEID =~ /^<b497e6c2\@example\.срб>$/m
Expand Down Expand Up @@ -182,3 +192,16 @@ tstlocalrules ($myrules . '
%patterns = (%mypatterns, %mypatterns_mime_b64);
sarun ("-L < data/nice/unicode1", \&patterns_run_cb);
ok_all_patterns();

#--- base64 encoded-words - Bug 7307

$ENV{LANGUAGE} = $ENV{LANG} = 'en_US.UTF-8';

tstlocalrules ($myrules . '
report_safe 0
normalize_charset 1
');
%patterns = (%mypatterns_mime_b64_bug7307);
%anti_patterns = ();
sarun ("-L < data/nice/unicode2", \&patterns_run_cb);
ok_all_patterns();

0 comments on commit 5d4979d

Please sign in to comment.