summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2017-12-30 13:55:54 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2017-12-30 14:13:23 +0000
commit5b6f765805bac2cfe4dc62195c33d24f64cc49e4 (patch)
tree82ae391505194abcc74d15694cea59f8343bf914
parent2577f55f69b29e2aa23e8c1a67795b1403aa4ba2 (diff)
MIME ACL: fix SMTP response for non-accept result of the ACL. Bug 2214.
As far as I can see this was broken back in 2013, f4c1088 for 4.82
-rw-r--r--doc/doc-txt/ChangeLog4
-rw-r--r--src/src/receive.c51
-rw-r--r--src/src/smtp_in.c2
-rw-r--r--test/confs/40004
-rw-r--r--test/log/400019
-rw-r--r--test/mail/4000.userx42
-rw-r--r--test/rejectlog/400019
-rw-r--r--test/scripts/4000-scanning/400029
-rw-r--r--test/stdout/400025
9 files changed, 129 insertions, 66 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index a30c71ae3..86c02412e 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -43,6 +43,10 @@ JH/06 Fix issue with continued-connections when the DNS shifts unreliably.
queue the message. Spotted by Lena with Yahoo, probably involving
round-robin DNS.
+JH/07 Bug 2214: Fix SMTP responses resulting from non-accept result of MIME ACL.
+ Previously a spurious "250 OK id=" response was appended to the proper
+ failure response.
+
Exim version 4.90
-----------------
diff --git a/src/src/receive.c b/src/src/receive.c
index 2b6143a32..84552dc1c 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -1348,7 +1348,7 @@ run_mime_acl(uschar *acl, BOOL *smtp_yield_ptr, uschar **smtp_reply_ptr,
uschar **blackholed_by_ptr)
{
FILE *mbox_file;
-uschar rfc822_file_path[2048];
+uschar * rfc822_file_path = NULL;
unsigned long mbox_size;
header_line *my_headerlist;
uschar *user_msg, *log_msg;
@@ -1356,8 +1356,6 @@ int mime_part_count_buffer = -1;
uschar * mbox_filename;
int rc = OK;
-memset(CS rfc822_file_path,0,2048);
-
/* check if it is a MIME message */
for (my_headerlist = header_list; my_headerlist; my_headerlist = my_headerlist->next)
@@ -1397,7 +1395,7 @@ mime_part_count = -1;
rc = mime_acl_check(acl, mbox_file, NULL, &user_msg, &log_msg);
(void)fclose(mbox_file);
-if (Ustrlen(rfc822_file_path) > 0)
+if (rfc822_file_path)
{
mime_part_count = mime_part_count_buffer;
@@ -1405,36 +1403,31 @@ if (Ustrlen(rfc822_file_path) > 0)
{
log_write(0, LOG_PANIC,
"acl_smtp_mime: can't unlink RFC822 spool file, skipping.");
- goto END_MIME_ACL;
+ goto END_MIME_ACL;
}
+ rfc822_file_path = NULL;
}
/* check if we must check any message/rfc822 attachments */
if (rc == OK)
{
- uschar * scandir;
+ uschar * scandir = string_copyn(mbox_filename,
+ Ustrrchr(mbox_filename, '/') - mbox_filename);
struct dirent * entry;
DIR * tempdir;
- scandir = string_copyn(mbox_filename, Ustrrchr(mbox_filename, '/') - mbox_filename);
-
- tempdir = opendir(CS scandir);
- for (;;)
- {
- if (!(entry = readdir(tempdir)))
- break;
+ for (tempdir = opendir(CS scandir); entry = readdir(tempdir); )
if (strncmpic(US entry->d_name, US"__rfc822_", 9) == 0)
{
- (void) string_format(rfc822_file_path, sizeof(rfc822_file_path),
- "%s/%s", scandir, entry->d_name);
- DEBUG(D_receive) debug_printf("RFC822 attachment detected: running MIME ACL for '%s'\n",
- rfc822_file_path);
+ rfc822_file_path = string_sprintf("%s/%s", scandir, entry->d_name);
+ DEBUG(D_receive)
+ debug_printf("RFC822 attachment detected: running MIME ACL for '%s'\n",
+ rfc822_file_path);
break;
}
- }
closedir(tempdir);
- if (entry)
+ if (rfc822_file_path)
{
if ((mbox_file = Ufopen(rfc822_file_path, "rb")))
{
@@ -1463,10 +1456,10 @@ else if (rc != OK)
#ifdef EXPERIMENTAL_DCC
dcc_ok = 0;
#endif
- if ( smtp_input
- && smtp_handle_acl_fail(ACL_WHERE_MIME, rc, user_msg, log_msg) != 0)
+ if (smtp_input)
{
- *smtp_yield_ptr = FALSE; /* No more messages after dropped connection */
+ if (smtp_handle_acl_fail(ACL_WHERE_MIME, rc, user_msg, log_msg) != 0)
+ *smtp_yield_ptr = FALSE; /* No more messages after dropped connection */
*smtp_reply_ptr = US""; /* Indicate reply already sent */
}
message_id[0] = 0; /* Indicate no message accepted */
@@ -3475,9 +3468,10 @@ else
#endif /* DISABLE_DKIM */
#ifdef WITH_CONTENT_SCAN
- if (recipients_count > 0 &&
- acl_smtp_mime != NULL &&
- !run_mime_acl(acl_smtp_mime, &smtp_yield, &smtp_reply, &blackholed_by))
+ if ( recipients_count > 0
+ && acl_smtp_mime
+ && !run_mime_acl(acl_smtp_mime, &smtp_yield, &smtp_reply, &blackholed_by)
+ )
goto TIDYUP;
#endif /* WITH_CONTENT_SCAN */
@@ -3597,9 +3591,10 @@ else
{
#ifdef WITH_CONTENT_SCAN
- if (acl_not_smtp_mime != NULL &&
- !run_mime_acl(acl_not_smtp_mime, &smtp_yield, &smtp_reply,
- &blackholed_by))
+ if ( acl_not_smtp_mime
+ && !run_mime_acl(acl_not_smtp_mime, &smtp_yield, &smtp_reply,
+ &blackholed_by)
+ )
goto TIDYUP;
#endif /* WITH_CONTENT_SCAN */
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index bf7a308db..92e4a2908 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -3134,7 +3134,7 @@ return;
/* This function is called when acl_check() fails. As well as calls from within
this module, it is called from receive.c for an ACL after DATA. It sorts out
-logging the incident, and sets up the error response. A message containing
+logging the incident, and sends the error response. A message containing
newlines is turned into a multiline SMTP response, but for logging, only the
first line is used.
diff --git a/test/confs/4000 b/test/confs/4000
index c8ad7f8aa..a62f7c6a3 100644
--- a/test/confs/4000
+++ b/test/confs/4000
@@ -17,6 +17,10 @@ acl_smtp_mime = check_mime
begin acl
check_mime:
+.ifdef BAD
+ deny message = this is a deny from the mime acl
+.endif
+
warn decode = default
add_header = X-$mime_part_count-content-type: $mime_content_type\n\
X-$mime_part_count-filename: $mime_filename\n\
diff --git a/test/log/4000 b/test/log/4000
index c39fb583c..965c0b170 100644
--- a/test/log/4000
+++ b/test/log/4000
@@ -1,21 +1,22 @@
-1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3058@test.ex T="[exim] Re: Bug#286074: eximstats: uses message count as data for\n the \"volume\" charts"
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
-1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3058@test.ex T="Nasty"
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3058@test.ex T="[exim] Re: Bug#286074: eximstats: uses message count as data for\n the \"volume\" charts"
1999-03-02 09:44:33 10HmaY-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3059@test.ex T="Nasty"
+1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3058@test.ex T="Nasty"
1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3059@test.ex T="Nasty3"
+1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3059@test.ex T="Nasty"
1999-03-02 09:44:33 10HmbA-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3059@test.ex T="Nasty4"
+1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3059@test.ex T="Nasty3"
1999-03-02 09:44:33 10HmbB-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
1999-03-02 09:44:33 10HmbB-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbC-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3058@test.ex T="Nasty5"
+1999-03-02 09:44:33 10HmbC-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3059@test.ex T="Nasty4"
1999-03-02 09:44:33 10HmbC-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
1999-03-02 09:44:33 10HmbC-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133502.GA3059@test.ex T="Nasty6"
+1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133501.GA3058@test.ex T="Nasty5"
1999-03-02 09:44:33 10HmbD-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
1999-03-02 09:44:33 10HmbD-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbE-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss id=20041217133502.GA3059@test.ex T="Nasty6"
+1999-03-02 09:44:33 10HmbE-0005vi-00 => userx <userx@test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbE-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaX-0005vi-00 U=CALLER F=<CALLER@myhost.test.ex> rejected during MIME ACL checks: this is a deny from the mime acl
diff --git a/test/mail/4000.userx b/test/mail/4000.userx
index 486fb039d..92776edde 100644
--- a/test/mail/4000.userx
+++ b/test/mail/4000.userx
@@ -2,7 +2,7 @@ From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
Received: from CALLER (helo=test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmaX-0005vi-00
+ id 10HmaY-0005vi-00
for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
Date: Tue, 2 Mar 1999 09:44:33 +0000
From: J Caesar <jcaesar@test.ex>
@@ -28,7 +28,7 @@ X-0-content-description:
X-0-is-multipart: 1
X-0-is-coverletter: 1
X-0-is-rfc822: 0
-X-0-decode-filename: TESTSUITE/spool/scan/10HmaX-0005vi-00/10HmaX-0005vi-00-00000
+X-0-decode-filename: TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00-00000
X-0-content-size: 2
X-1-content-type: text/plain
X-1-filename:
@@ -41,7 +41,7 @@ X-1-content-description:
X-1-is-multipart: 0
X-1-is-coverletter: 1
X-1-is-rfc822: 0
-X-1-decode-filename: TESTSUITE/spool/scan/10HmaX-0005vi-00/10HmaX-0005vi-00-00001
+X-1-decode-filename: TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00-00001
X-1-content-size: 1
X-2-content-type: text/plain
X-2-filename:
@@ -54,7 +54,7 @@ X-2-content-description:
X-2-is-multipart: 0
X-2-is-coverletter: 0
X-2-is-rfc822: 0
-X-2-decode-filename: TESTSUITE/spool/scan/10HmaX-0005vi-00/10HmaX-0005vi-00-00002
+X-2-decode-filename: TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00-00002
X-2-content-size: 1
X-3-content-type: text/plain
X-3-filename: working-patch
@@ -67,7 +67,7 @@ X-3-content-description:
X-3-is-multipart: 0
X-3-is-coverletter: 0
X-3-is-rfc822: 0
-X-3-decode-filename: TESTSUITE/spool/scan/10HmaX-0005vi-00/10HmaX-0005vi-00-00003
+X-3-decode-filename: TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00-00003
X-3-content-size: 1
X-4-content-type: text/plain
X-4-filename:
@@ -80,7 +80,7 @@ X-4-content-description:
X-4-is-multipart: 0
X-4-is-coverletter: 0
X-4-is-rfc822: 0
-X-4-decode-filename: TESTSUITE/spool/scan/10HmaX-0005vi-00/10HmaX-0005vi-00-00004
+X-4-decode-filename: TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00-00004
X-4-content-size: 1
--T4sUOijqQbZv57TR
@@ -135,7 +135,7 @@ From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
Received: from CALLER (helo=test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmaY-0005vi-00
+ id 10HmaZ-0005vi-00
for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
Date: Tue, 2 Mar 1999 09:44:33 +0000
From: J Caesar <jcaesar@test.ex>
@@ -157,7 +157,7 @@ X-0-content-description:
X-0-is-multipart: 1
X-0-is-coverletter: 1
X-0-is-rfc822: 0
-X-0-decode-filename: TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00-00000
+X-0-decode-filename: TESTSUITE/spool/scan/10HmaZ-0005vi-00/10HmaZ-0005vi-00-00000
X-0-content-size: 1
X-1-content-type: text/plain
X-1-filename:
@@ -170,7 +170,7 @@ X-1-content-description:
X-1-is-multipart: 0
X-1-is-coverletter: 1
X-1-is-rfc822: 0
-X-1-decode-filename: TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00-00001
+X-1-decode-filename: TESTSUITE/spool/scan/10HmaZ-0005vi-00/10HmaZ-0005vi-00-00001
X-1-content-size: 1
--T4sUOijqQbZv57TR
@@ -184,7 +184,7 @@ From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
Received: from CALLER (helo=test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmaZ-0005vi-00
+ id 10HmbA-0005vi-00
for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
Date: Tue, 2 Mar 1999 09:44:33 +0000
From: J Caesar <jcaesar@test.ex>
@@ -208,7 +208,7 @@ X-0-content-description:
X-0-is-multipart: 0
X-0-is-coverletter: 1
X-0-is-rfc822: 0
-X-0-decode-filename: TESTSUITE/spool/scan/10HmaZ-0005vi-00/10HmaZ-0005vi-00-00000
+X-0-decode-filename: TESTSUITE/spool/scan/10HmbA-0005vi-00/10HmbA-0005vi-00-00000
X-0-content-size: 1
--T4sUOijqQbZv57TR
@@ -222,7 +222,7 @@ From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
Received: from CALLER (helo=test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmbA-0005vi-00
+ id 10HmbB-0005vi-00
for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
Date: Tue, 2 Mar 1999 09:44:33 +0000
From: J Caesar <jcaesar@test.ex>
@@ -244,7 +244,7 @@ X-0-content-description:
X-0-is-multipart: 0
X-0-is-coverletter: 1
X-0-is-rfc822: 0
-X-0-decode-filename: TESTSUITE/spool/scan/10HmbA-0005vi-00/10HmbA-0005vi-00-00000
+X-0-decode-filename: TESTSUITE/spool/scan/10HmbB-0005vi-00/10HmbB-0005vi-00-00000
X-0-content-size: 1
--T4sUOijqQbZv57TR
@@ -258,7 +258,7 @@ From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
Received: from CALLER (helo=test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmbB-0005vi-00
+ id 10HmbC-0005vi-00
for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
Date: Tue, 2 Mar 1999 09:44:33 +0000
From: J Caesar <jcaesar@test.ex>
@@ -285,7 +285,7 @@ X-0-content-description:
X-0-is-multipart: 0
X-0-is-coverletter: 1
X-0-is-rfc822: 0
-X-0-decode-filename: TESTSUITE/spool/scan/10HmbB-0005vi-00/10HmbB-0005vi-00-00000
+X-0-decode-filename: TESTSUITE/spool/scan/10HmbC-0005vi-00/10HmbC-0005vi-00-00000
X-0-content-size: 1
--T4sUOijqQbZv57TR
@@ -299,7 +299,7 @@ From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
Received: from CALLER (helo=test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmbC-0005vi-00
+ id 10HmbD-0005vi-00
for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
Date: Tue, 2 Mar 1999 09:44:33 +0000
Message-ID: <20041217133501.GA3058@test.ex>
@@ -318,7 +318,7 @@ X-0-content-description:
X-0-is-multipart: 1
X-0-is-coverletter: 1
X-0-is-rfc822: 0
-X-0-decode-filename: TESTSUITE/spool/scan/10HmbC-0005vi-00/10HmbC-0005vi-00-00000
+X-0-decode-filename: TESTSUITE/spool/scan/10HmbD-0005vi-00/10HmbD-0005vi-00-00000
X-0-content-size: 1
X-1-content-type: text/plain
X-1-filename: test ä test1
@@ -331,7 +331,7 @@ X-1-content-description:
X-1-is-multipart: 0
X-1-is-coverletter: 1
X-1-is-rfc822: 0
-X-1-decode-filename: TESTSUITE/spool/scan/10HmbC-0005vi-00/10HmbC-0005vi-00-00001
+X-1-decode-filename: TESTSUITE/spool/scan/10HmbD-0005vi-00/10HmbD-0005vi-00-00001
X-1-content-size: 1
X-2-content-type: text/plain
X-2-filename: test ä test2
@@ -344,7 +344,7 @@ X-2-content-description:
X-2-is-multipart: 0
X-2-is-coverletter: 0
X-2-is-rfc822: 0
-X-2-decode-filename: TESTSUITE/spool/scan/10HmbC-0005vi-00/10HmbC-0005vi-00-00002
+X-2-decode-filename: TESTSUITE/spool/scan/10HmbD-0005vi-00/10HmbD-0005vi-00-00002
X-2-content-size: 1
--T4sUOijqQbZv57TR
@@ -365,7 +365,7 @@ From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
Received: from CALLER (helo=test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmbD-0005vi-00
+ id 10HmbE-0005vi-00
for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
Date: Tue, 2 Mar 1999 09:44:33 +0000
From: J Caesar <jcaesar@test.ex>
@@ -389,7 +389,7 @@ X-0-content-description:
X-0-is-multipart: 0
X-0-is-coverletter: 1
X-0-is-rfc822: 0
-X-0-decode-filename: TESTSUITE/spool/scan/10HmbD-0005vi-00/10HmbD-0005vi-00-00000
+X-0-decode-filename: TESTSUITE/spool/scan/10HmbE-0005vi-00/10HmbE-0005vi-00-00000
X-0-content-size: 1
--T4sUOijqQbZv57TR
diff --git a/test/rejectlog/4000 b/test/rejectlog/4000
new file mode 100644
index 000000000..d401a5e78
--- /dev/null
+++ b/test/rejectlog/4000
@@ -0,0 +1,19 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 U=CALLER F=<CALLER@myhost.test.ex> rejected during MIME ACL checks: this is a deny from the mime acl
+Envelope-from: <CALLER@myhost.test.ex>
+Envelope-to: <userx@test.ex>
+P Received: from CALLER (helo=test.ex)
+ by myhost.test.ex with local-esmtp (Exim x.yz)
+ (envelope-from <CALLER@myhost.test.ex>)
+ id 10HmaX-0005vi-00
+ for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+ Date: Tue, 2 Mar 1999 09:44:33 +0000
+F From: J Caesar <jcaesar@test.ex>
+T To: a-list00@exim.org
+I Message-ID: <20041217133502.GA3059@test.ex>
+ Mime-Version: 1.0
+ Content-Type: application/pdf;
+ name*=''2015.11.13%20-%20Pr%C3%A4sentation%20GI%20-%20LK.PDF
+ Content-Disposition: attachment;
+ filename*=''2015.11.13%20-%20Pr%C3%A4sentation%20GI%20-%20LK.PDF
+ Subject: Nasty6
+S Sender: CALLER_NAME <CALLER@myhost.test.ex>
diff --git a/test/scripts/4000-scanning/4000 b/test/scripts/4000-scanning/4000
index b29aed1e0..623c5420f 100644
--- a/test/scripts/4000-scanning/4000
+++ b/test/scripts/4000-scanning/4000
@@ -243,3 +243,32 @@ foobar
.
quit
****
+#
+#
+# As above, but with a deny from the mime acl
+#
+exim -DBAD=bad -odi -bs
+ehlo test.ex
+mail from:<>
+rcpt to:<userx@test.ex>
+data
+Date: Fri, 17 Dec 2004 14:35:01 +0100
+From: J Caesar <jcaesar@test.ex>
+To: a-list00@exim.org
+Message-ID: <20041217133502.GA3059@test.ex>
+Mime-Version: 1.0
+Content-Type: application/pdf;
+ name*=''2015.11.13%20-%20Pr%C3%A4sentation%20GI%20-%20LK.PDF
+Content-Disposition: attachment;
+ filename*=''2015.11.13%20-%20Pr%C3%A4sentation%20GI%20-%20LK.PDF
+Subject: Nasty6
+
+--T4sUOijqQbZv57TR
+Content-Type: text/plain;
+
+foobar
+
+--T4sUOijqQbZv57TR--
+.
+quit
+****
diff --git a/test/stdout/4000 b/test/stdout/4000
index c1e2b2450..efcc83661 100644
--- a/test/stdout/4000
+++ b/test/stdout/4000
@@ -7,7 +7,7 @@
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
-250 OK id=10HmaX-0005vi-00
+250 OK id=10HmaY-0005vi-00
221 myhost.test.ex closing connection
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250-myhost.test.ex Hello CALLER at test.ex
@@ -18,7 +18,7 @@
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
-250 OK id=10HmaY-0005vi-00
+250 OK id=10HmaZ-0005vi-00
221 myhost.test.ex closing connection
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250-myhost.test.ex Hello CALLER at test.ex
@@ -29,7 +29,7 @@
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
-250 OK id=10HmaZ-0005vi-00
+250 OK id=10HmbA-0005vi-00
221 myhost.test.ex closing connection
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250-myhost.test.ex Hello CALLER at test.ex
@@ -40,7 +40,7 @@
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
-250 OK id=10HmbA-0005vi-00
+250 OK id=10HmbB-0005vi-00
221 myhost.test.ex closing connection
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250-myhost.test.ex Hello CALLER at test.ex
@@ -51,7 +51,7 @@
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
-250 OK id=10HmbB-0005vi-00
+250 OK id=10HmbC-0005vi-00
221 myhost.test.ex closing connection
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250-myhost.test.ex Hello CALLER at test.ex
@@ -62,7 +62,7 @@
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
-250 OK id=10HmbC-0005vi-00
+250 OK id=10HmbD-0005vi-00
221 myhost.test.ex closing connection
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250-myhost.test.ex Hello CALLER at test.ex
@@ -73,5 +73,16 @@
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
-250 OK id=10HmbD-0005vi-00
+250 OK id=10HmbE-0005vi-00
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250-myhost.test.ex Hello CALLER at test.ex
+250-SIZE 52428800
+250-8BITMIME
+250-PIPELINING
+250 HELP
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+550 this is a deny from the mime acl
221 myhost.test.ex closing connection