summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2023-02-25 15:50:58 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2023-02-25 15:59:34 +0000
commit7c60296900bdff369ffd2bf54eecfe6097b997a4 (patch)
tree8d98943241cdfb2ebf519a98706eda294887325b /test
parente603a342100ed93b09a152b6150e65f77abe5b0d (diff)
downloadexim4-7c60296900bdff369ffd2bf54eecfe6097b997a4.tar.gz
Linewrap long lines in bounce bodies. Bug 2979
Diffstat (limited to 'test')
-rw-r--r--test/confs/063531
-rw-r--r--test/log/06356
-rw-r--r--test/mail/4700.CALLER9
-rwxr-xr-xtest/runtest12
-rw-r--r--test/scripts/0000-Basic/063537
-rw-r--r--test/stdout/0635108
6 files changed, 198 insertions, 5 deletions
diff --git a/test/confs/0635 b/test/confs/0635
new file mode 100644
index 000000000..3c8a68708
--- /dev/null
+++ b/test/confs/0635
@@ -0,0 +1,31 @@
+# Exim test configuration 0635
+
+.include DIR/aux-var/std_conf_prefix
+
+primary_hostname = myhost.test.ex
+
+# ----- Main settings -----
+
+trusted_users = CALLER
+bounce_return_linesize_limit = 20
+acl_smtp_rcpt = accept
+
+
+# ----- Routers -----
+
+begin routers
+
+my_main_router:
+ driver = manualroute
+ transport = t1
+ route_list = * 127.0.0.1::PORT_S
+ self = send
+
+# ----- Transports -----
+
+begin transports
+
+t1:
+ driver = smtp
+
+# End
diff --git a/test/log/0635 b/test/log/0635
new file mode 100644
index 000000000..e91469bda
--- /dev/null
+++ b/test/log/0635
@@ -0,0 +1,6 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmaX-0005vi-00 ** fred@undeliverable.org R=my_main_router T=t1 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:<fred@undeliverable.org>: 550-no mate\n550-123456789 100 123456789 a really long line to blow the limits 123456789 123456789 123456789 123456789 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1000 123456789 12
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= <> R=10HmaX-0005vi-00 U=EXIMUSER P=local S=sss
+1999-03-02 09:44:33 10HmaY-0005vi-00 => CALLER@myhost.test.ex R=my_main_router T=t1 H=127.0.0.1 [127.0.0.1] C="250 got that"
+1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
diff --git a/test/mail/4700.CALLER b/test/mail/4700.CALLER
index 378b05d7e..c43b56c13 100644
--- a/test/mail/4700.CALLER
+++ b/test/mail/4700.CALLER
@@ -39,7 +39,8 @@ Status: 5.0.0
Remote-MTA: dns; localhost4.test.ex
Remote-MTA: X-ip; [127.0.0.1]:1111
X-Remote-MTA-smtp-greeting: X-str; 550 Go away
-X-Exim-Diagnostic: X-str; SMTP error from remote mail server after initial connection: 550 Go away
+X-Exim-Diagnostic: X-str; SMTP error from remote mail server after initial
+ connection: 550 Go away
Diagnostic-Code: smtp; 550 Go away
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
@@ -106,7 +107,8 @@ Remote-MTA: dns; localhost4.test.ex
Remote-MTA: X-ip; [127.0.0.1]:1111
X-Remote-MTA-smtp-greeting: X-str; 220 Connected OK
X-Remote-MTA-helo-response: X-str; 550 Go away
-X-Exim-Diagnostic: X-str; SMTP error from remote mail server after HELO the.local.host.name: 550 Go away
+X-Exim-Diagnostic: X-str; SMTP error from remote mail server after HELO
+ the.local.host.name: 550 Go away
Diagnostic-Code: smtp; 550 Go away
Action: failed
@@ -116,7 +118,8 @@ Remote-MTA: dns; localhost4.test.ex
Remote-MTA: X-ip; [127.0.0.1]:1111
X-Remote-MTA-smtp-greeting: X-str; 220 Connected OK
X-Remote-MTA-helo-response: X-str; 550 Go away
-X-Exim-Diagnostic: X-str; SMTP error from remote mail server after HELO the.local.host.name: 550 Go away
+X-Exim-Diagnostic: X-str; SMTP error from remote mail server after HELO
+ the.local.host.name: 550 Go away
Diagnostic-Code: smtp; 550 Go away
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
diff --git a/test/runtest b/test/runtest
index 32dfe73ab..3931b06d4 100755
--- a/test/runtest
+++ b/test/runtest
@@ -399,6 +399,7 @@ RESET_AFTER_EXTRA_LINE_READ:
{
next if $extra =~ m%^/% && eval $extra;
eval $extra if $extra =~ m/^s/;
+ eval substr($extra, 1) if $extra =~ m/^R/;
}
# Check for "*** truncated ***"
@@ -1926,7 +1927,8 @@ return 2;
# Usable files are:
# paniclog, rejectlog, mainlog, stdout, stderr, msglog, mail
# Search strings starting with 's' do substitutions;
-# with '/' do line-skips.
+# with '/' do line-skips,
+# with 'R' run given code.
# Triggered by a scriptfile line "munge <name>"
##################################################
$munges =
@@ -1973,7 +1975,13 @@ $munges =
},
'optional_dsn_info' =>
- { 'mail' => '/^(X-(Remote-MTA-(smtp-greeting|helo-response)|Exim-Diagnostic|(body|message)-linecount):|Remote-MTA: X-ip;)/'
+ { 'mail' => 'Rif (/^(X-(Remote-MTA-(smtp-greeting|helo-response)|Exim-Diagnostic|(body|message)-linecount):|Remote-MTA: X-ip;)/) {
+ while (1) {
+ $_ = <IN>;
+ next if /^ /;
+ goto RESET_AFTER_EXTRA_LINE_READ;
+ }
+ }'
},
'optional_config' =>
diff --git a/test/scripts/0000-Basic/0635 b/test/scripts/0000-Basic/0635
new file mode 100644
index 000000000..314c84ebb
--- /dev/null
+++ b/test/scripts/0000-Basic/0635
@@ -0,0 +1,37 @@
+# bounce from long SMTP response
+#
+server PORT_S 2
+220 Hi
+EHLO
+250 Yo
+MAIL FROM
+250 ok
+RCPT TO
+550-no mate\x0d\x0a550-123456789 100 123456789 a really long line to blow the limits 123456789 123456789 123456789 123456789 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789\x0d\x0a550 go away
+QUIT
+250 bye
+*eof
+220 Hi
+EHLO
+250 Yo
+MAIL FROM:<>
+250 ok
+RCPT TO
+250 acceptable
+DATA
+354 go ahead
+.
+250 got that
+QUIT
+250 bye
+****
+#
+exim -odi fred@undeliverable.org
+Subject: test
+
+msg with ok lines
+00000000001111111
+01234567890123456
+****
+#
+no_msglog_check
diff --git a/test/stdout/0635 b/test/stdout/0635
new file mode 100644
index 000000000..b4bfe581f
--- /dev/null
+++ b/test/stdout/0635
@@ -0,0 +1,108 @@
+
+******** SERVER ********
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Hi
+EHLO myhost.test.ex
+250 Yo
+MAIL FROM:<CALLER@myhost.test.ex>
+250 ok
+RCPT TO:<fred@undeliverable.org>
+550-no mate
+550-123456789 100 123456789 a really long line to blow the limits 123456789 123456789 123456789 123456789 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+550 go away
+QUIT
+250 bye
+Expected EOF read from client
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Hi
+EHLO myhost.test.ex
+250 Yo
+MAIL FROM:<>
+250 ok
+RCPT TO:<CALLER@myhost.test.ex>
+250 acceptable
+DATA
+354 go ahead
+Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz)
+ id 10HmaY-0005vi-00
+ for CALLER@myhost.test.ex;
+ Tue, 2 Mar 1999 09:44:33 +0000
+X-Failed-Recipients: fred@undeliverable.org
+Auto-Submitted: auto-replied
+From: Mail Delivery System <Mailer-Daemon@myhost.test.ex>
+To: CALLER@myhost.test.ex
+References: <E10HmaX-0005vi-00@myhost.test.ex>
+Content-Type: multipart/report; report-type=delivery-status; boundary=NNNNNNNNNN-eximdsn-MMMMMMMMMM
+MIME-Version: 1.0
+Subject: Mail delivery failed: returning message to sender
+Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+--NNNNNNNNNN-eximdsn-MMMMMMMMMM
+Content-type: text/plain; charset=us-ascii
+
+This message was created automatically by mail delivery software.
+
+A message that you sent could not be delivered to one or more of its
+recipients. This is a permanent error. The following address(es) failed:
+
+ fred@undeliverable.org
+ host 127.0.0.1 [127.0.0.1]
+ SMTP error from remote mail server after RCPT TO:<fred@undeliverable.org>:
+ 550-no mate
+ 550-123456789 100 123456789 a really long line to blow the limits 123456789 123456789 123456789 123456789 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1000 123456789 12
+
+--NNNNNNNNNN-eximdsn-MMMMMMMMMM
+Content-type: message/delivery-status
+
+Reporting-MTA: dns; myhost.test.ex
+
+Action: failed
+Final-Recipient: rfc822;fred@undeliverable.org
+Status: 5.0.0
+Remote-MTA: dns; 127.0.0.1
+Remote-MTA: X-ip; [127.0.0.1]:1111
+X-Exim-Diagnostic: X-str; SMTP error from remote mail server after RCPT
+ TO:<fred@undeliverable.org>: 550-no mate
+ 550-123456789 100 123456789 a really long line to blow the limits
+ 123456789 123456789 123456789 123456789 200 123456789 123456789
+ 123456789 123456789 123456789 123456789 123456789 123456789 123456789 300
+ 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+ 123456789 123456789 400 123456789 123456789 123456789 123456789
+ 123456789 123456789 123456789 123456789 123456789 500 123456789
+ 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+ 123456789 600 123456789 123456789 123456789 123456789 123456789
+ 123456789 123456789 123456789 123456789 700 123456789 123456789
+ 123456789 123456789 123456789 123456789 123456789 123456789 123456789 800
+ 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+ 123456789 123456789 900 123456789 123456789 123456789 123456789
+ 123456789 123456789 123456789 123456789 123456789 1000 123456789 12
+Diagnostic-Code: smtp; 550-no mate
+ 550-123456789 100 123456789 a really long line to blow the limits 123456789 123456789 123456789 123456789 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1[truncated]
+
+--NNNNNNNNNN-eximdsn-MMMMMMMMMM
+Content-type: message/rfc822
+
+Return-path: <CALLER@myhost.test.ex>
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+ (envelope-from <CALLER@myhost.test.ex>)
+ id 10HmaX-0005vi-00
+ for fred@undeliverable.org;
+ Tue, 2 Mar 1999 09:44:33 +0000
+Subject: test
+Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+msg with ok lines
+00000000001111111
+01234567890123456
+
+--NNNNNNNNNN-eximdsn-MMMMMMMMMM--
+.
+250 got that
+QUIT
+250 bye
+End of script