summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2022-08-31 15:37:40 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2022-08-31 15:57:29 +0100
commit4e9ed49f8f12eb331b29bd5b6dc3693c520fddc2 (patch)
treef8041218c4d3a259b1a5c5b72ad944424f40a922 /test
parent1072af868662ea8fec30454c2d62afdee24f2c8e (diff)
downloadexim4-4e9ed49f8f12eb331b29bd5b6dc3693c520fddc2.tar.gz
Fix $regex<n> use-after-free. Bug 2915
Diffstat (limited to 'test')
-rw-r--r--test/confs/400210
-rw-r--r--test/mail/4002.userx7
-rw-r--r--test/scripts/4000-scanning/40027
3 files changed, 24 insertions, 0 deletions
diff --git a/test/confs/4002 b/test/confs/4002
index d9a12a368..4578cc019 100644
--- a/test/confs/4002
+++ b/test/confs/4002
@@ -10,6 +10,7 @@ rfc1413_query_timeout = 0s
acl_smtp_rcpt = check_rcpt
acl_smtp_data = check_data
+acl_smtp_mime = check_mime
acl_not_smtp = check_data
@@ -20,6 +21,15 @@ begin acl
check_rcpt:
accept
+check_mime:
+ warn condition = ${if match{$mime_content_type}{text}}
+ mime_regex = \N(?s)([\w.+=-]+@\w[\w-]*\.[\w.-]+\w)\
+ (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\
+ (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\
+ (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\
+ (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\N
+ accept
+
check_data:
warn regex = \N(THIS\s((\w+)\s)?REGEX)\N
message = X-Regex: Regex matched <$regex1> <$regex3>
diff --git a/test/mail/4002.userx b/test/mail/4002.userx
index 6bc565c3f..8ec49da09 100644
--- a/test/mail/4002.userx
+++ b/test/mail/4002.userx
@@ -27,9 +27,16 @@ Subject: A real test message
Date: Tue, 2 Mar 1999 09:44:33 +0000
Message-ID: <41C2F849.3060203@projectile.test.ex>
FakeReject: test fakereject
+MIME-Version: 1.0
+Content-Type: text/plain
Sender: CALLER_NAME <CALLER@myhost.test.ex>
X-Regex: Regex matched <THIS gazornenplaz REGEX> <gazornenplaz>
OK, this should look like a genuine message, but
it will trip on THIS gazornenplaz REGEX.
+This checks proper release of variable used for mime_regex
+firstname@foobar.com
+secondname@blaz.com
+thirdname@blaz.com
+
diff --git a/test/scripts/4000-scanning/4002 b/test/scripts/4000-scanning/4002
index a660f6805..fcfae698b 100644
--- a/test/scripts/4000-scanning/4002
+++ b/test/scripts/4000-scanning/4002
@@ -30,9 +30,16 @@ Subject: A real test message
Date: Fri, 17 Dec 2004 16:13:04 +0100
Message-ID: <41C2F849.3060203@projectile.test.ex>
FakeReject: test fakereject
+MIME-Version: 1.0
+Content-Type: text/plain
OK, this should look like a genuine message, but
it will trip on THIS gazornenplaz REGEX.
+
+This checks proper release of variable used for mime_regex
+firstname@foobar.com
+secondname@blaz.com
+thirdname@blaz.com
.
quit
****