summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/README4
-rw-r--r--test/confs/04392
-rw-r--r--test/confs/056418
-rw-r--r--test/confs/056550
-rw-r--r--test/confs/201165
-rw-r--r--test/log/04396
-rw-r--r--test/log/05642
-rw-r--r--test/log/05656
-rw-r--r--test/log/201150
-rw-r--r--test/msglog/0564.10HmaX-0005vi-001
-rw-r--r--test/paniclog/04396
-rwxr-xr-xtest/runtest172
-rw-r--r--test/scripts/0000-Basic/00023
-rw-r--r--test/scripts/0000-Basic/056425
-rw-r--r--test/scripts/0000-Basic/056558
-rw-r--r--test/scripts/2000-GnuTLS/201139
-rw-r--r--test/scripts/3450-plaintext-GnuTLS/34503
-rw-r--r--test/scripts/3450-plaintext-GnuTLS/34532
-rw-r--r--test/scripts/3450-plaintext-GnuTLS/345441
-rw-r--r--test/scripts/3650-Dovecot/365018
-rw-r--r--test/scripts/3650-Dovecot/REQUIRES2
-rw-r--r--test/scripts/9350-Dovecot/935019
-rw-r--r--test/stderr/04396
-rw-r--r--test/stdout/00027
-rw-r--r--test/stdout/056429
-rw-r--r--test/stdout/056571
-rw-r--r--test/stdout/34506
-rw-r--r--test/stdout/34534
-rw-r--r--test/stdout/345444
-rw-r--r--test/stdout/51002
30 files changed, 498 insertions, 263 deletions
diff --git a/test/README b/test/README
index b6d06e540..4fd16eb9d 100644
--- a/test/README
+++ b/test/README
@@ -142,8 +142,8 @@ RUNNING THE TEST SUITE
(2) cd into the exim-testsuite-x.xx directory.
-(3) Run "./configure" and then "make". This builds a few auxiliary programs
- that are written in C.
+(3) Run "autoconf" then "./configure" and then "make". This builds a few
+ auxiliary programs that are written in C.
(4) echo $PWD/test-config >> your_TRUSTED_CONFIG_LIST_filename
diff --git a/test/confs/0439 b/test/confs/0439
index 67c51f4e0..1d79e650b 100644
--- a/test/confs/0439
+++ b/test/confs/0439
@@ -12,6 +12,6 @@ gecos_name = CALLER_NAME
# ----- Main settings -----
-message_size_limit = 2048M
+message_size_limit = 8796093022208M
# End
diff --git a/test/confs/0564 b/test/confs/0564
new file mode 100644
index 000000000..e10445be7
--- /dev/null
+++ b/test/confs/0564
@@ -0,0 +1,18 @@
+# Exim test configuration 0564
+
+exim_path = EXIM_PATH
+host_lookup_order = bydns
+rfc1413_query_timeout = 0s
+spool_directory = DIR/spool
+log_file_path = DIR/spool/log/%slog
+gecos_pattern = ""
+gecos_name = CALLER_NAME
+
+# ----- Main settings -----
+
+acl_smtp_rcpt = accept
+acl_smtp_data = accept
+
+queue_only
+
+# End
diff --git a/test/confs/0565 b/test/confs/0565
new file mode 100644
index 000000000..c51fd6354
--- /dev/null
+++ b/test/confs/0565
@@ -0,0 +1,50 @@
+# Exim test configuration 0565
+
+exim_path = EXIM_PATH
+host_lookup_order = bydns
+primary_hostname = myhost.test.ex
+rfc1413_query_timeout = 0s
+spool_directory = DIR/spool
+log_file_path = DIR/spool/log/%slog
+gecos_pattern = ""
+gecos_name = CALLER_NAME
+
+# ----- Main settings -----
+
+acl_smtp_rcpt = accept
+
+
+# ----- Routers -----
+
+begin routers
+
+hdronly_dnslookup:
+ domains = test.ex
+ driver = manualroute
+ route_data = 127.0.0.1
+ self = send
+ transport = remote_smtp_hdrs
+
+dnslookup:
+ driver = manualroute
+ route_data = 127.0.0.1
+ self = send
+ transport = remote_smtp
+
+
+# ----- Transports -----
+
+begin transports
+
+remote_smtp:
+ driver = smtp
+ port = PORT_S
+ allow_localhost
+
+remote_smtp_hdrs:
+ driver = smtp
+ port = PORT_S
+ allow_localhost
+ headers_only
+
+# End
diff --git a/test/confs/2011 b/test/confs/2011
deleted file mode 100644
index 334ca894f..000000000
--- a/test/confs/2011
+++ /dev/null
@@ -1,65 +0,0 @@
-# Exim test configuration 2011
-
-SERVER =
-CREQCIP =
-CREQMAC =
-SREQCIP =
-SREQMAC =
-
-exim_path = EXIM_PATH
-host_lookup_order = bydns
-primary_hostname = myhost.test.ex
-rfc1413_query_timeout = 0s
-spool_directory = DIR/spool
-log_file_path = DIR/spool/log/SERVER%slog
-gecos_pattern = ""
-gecos_name = CALLER_NAME
-
-# ----- Main settings -----
-
-acl_smtp_rcpt = accept
-log_selector = +tls_peerdn
-queue_only
-queue_run_in_order
-
-tls_advertise_hosts = *
-
-# Set certificate only if server
-
-tls_certificate = ${if eq {SERVER}{server}{DIR/aux-fixed/cert1}fail}
-tls_privatekey = ${if eq {SERVER}{server}{DIR/aux-fixed/cert1}fail}
-
-tls_verify_hosts = *
-tls_verify_certificates = ${if eq {SERVER}{server}{DIR/aux-fixed/cert2}fail}
-
-SREQCIP
-SREQMAC
-
-
-# ----- Routers -----
-
-begin routers
-
-client:
- driver = accept
- condition = ${if eq {SERVER}{server}{no}{yes}}
- retry_use_local_part
- transport = send_to_server
-
-
-# ----- Transports -----
-
-begin transports
-
-send_to_server:
- driver = smtp
- allow_localhost
- hosts = HOSTIPV4 : 127.0.0.1
- hosts_require_tls = HOSTIPV4
- port = PORT_D
- tls_certificate = DIR/aux-fixed/cert2
- tls_privatekey = DIR/aux-fixed/cert2
- CREQCIP
- CREQMAC
-
-# End
diff --git a/test/log/0439 b/test/log/0439
index 050f9f897..05245e7f0 100644
--- a/test/log/0439
+++ b/test/log/0439
@@ -1,4 +1,4 @@
-1999-03-02 09:44:33 invalid value for message_size_limit: absolute value of integer "2048M" is too large (overflow)
-1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "2048M" is too large (overflow)
+1999-03-02 09:44:33 invalid value for message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
+1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225
-1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "2048M" is too large (overflow)
+1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
diff --git a/test/log/0564 b/test/log/0564
new file mode 100644
index 000000000..dbaac4b92
--- /dev/null
+++ b/test/log/0564
@@ -0,0 +1,2 @@
+1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, launched with listening socket, with no wait timeout
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= userx@test.ex H=(abcd) [127.0.0.1] P=esmtp S=sss
diff --git a/test/log/0565 b/test/log/0565
new file mode 100644
index 000000000..1fef38b61
--- /dev/null
+++ b/test/log/0565
@@ -0,0 +1,6 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmaX-0005vi-00 => x@y R=dnslookup T=remote_smtp H=127.0.0.1 [127.0.0.1]
+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-smtp S=sss
+1999-03-02 09:44:33 10HmaY-0005vi-00 => x@test.ex R=hdronly_dnslookup T=remote_smtp_hdrs H=127.0.0.1 [127.0.0.1]
+1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
diff --git a/test/log/2011 b/test/log/2011
deleted file mode 100644
index 41abc9b95..000000000
--- a/test/log/2011
+++ /dev/null
@@ -1,50 +0,0 @@
-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 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmaX-0005vi-00 TLS error on connection to ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] (gnutls_handshake): No supported cipher suites have been found.
-1999-03-02 09:44:33 10HmaX-0005vi-00 TLS error on connection to 127.0.0.1 [127.0.0.1] (gnutls_handshake): No supported cipher suites have been found.
-1999-03-02 09:44:33 10HmaX-0005vi-00 TLS session failure: delivering unencrypted to 127.0.0.1 [127.0.0.1] (not in hosts_require_tls)
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
-1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-1999-03-02 09:44:33 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
-1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-1999-03-02 09:44:33 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.2:RSA_ARCFOUR_MD5:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
-1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-1999-03-02 09:44:33 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmbA-0005vi-00 => userx@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.2:RSA_ARCFOUR_MD5:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
-1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-1999-03-02 09:44:33 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmbB-0005vi-00 => userx@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.2:RSA_AES_256_CBC_SHA1:256 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
-1999-03-02 09:44:33 10HmbB-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-1999-03-02 09:44:33 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmbC-0005vi-00 => userx@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.2:RSA_AES_256_CBC_SHA1:256 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
-1999-03-02 09:44:33 10HmbC-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-1999-03-02 09:44:33 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmbD-0005vi-00 => userx@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=SSL3.0:RSA_AES_256_CBC_SHA1:256 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
-1999-03-02 09:44:33 10HmbD-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-1999-03-02 09:44:33 Start queue run: pid=pppp -qf
-1999-03-02 09:44:33 10HmbE-0005vi-00 => userx@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.2:RSA_ARCFOUR_MD5:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
-1999-03-02 09:44:33 10HmbE-0005vi-00 Completed
-1999-03-02 09:44:33 End queue run: pid=pppp -qf
-
-******** SERVER ********
-1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225
-1999-03-02 09:44:33 TLS error on connection from the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] (gnutls_handshake): A TLS packet with unexpected length was received.
-1999-03-02 09:44:33 TLS error on connection from localhost (myhost.test.ex) [127.0.0.1] (gnutls_handshake): A TLS packet with unexpected length was received.
-1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex H=localhost (myhost.test.ex) [127.0.0.1] P=esmtp S=sss id=E10HmaX-0005vi-00@myhost.test.ex
-1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel" S=sss id=E10HmaX-0005vi-00@myhost.test.ex
-1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.2:RSA_ARCFOUR_MD5:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel" S=sss id=E10HmaX-0005vi-00@myhost.test.ex
-1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.2:RSA_ARCFOUR_MD5:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel" S=sss id=E10HmaX-0005vi-00@myhost.test.ex
-1999-03-02 09:44:33 10HmbC-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.2:RSA_AES_256_CBC_SHA1:256 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel" S=sss id=E10HmaX-0005vi-00@myhost.test.ex
-1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.2:RSA_AES_256_CBC_SHA1:256 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel" S=sss id=E10HmaX-0005vi-00@myhost.test.ex
-1999-03-02 09:44:33 10HmbE-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=SSL3.0:RSA_AES_256_CBC_SHA1:256 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel" S=sss id=E10HmaX-0005vi-00@myhost.test.ex
-1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225
-1999-03-02 09:44:33 10HmbF-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.2:RSA_ARCFOUR_MD5:128 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel" S=sss id=E10HmaX-0005vi-00@myhost.test.ex
diff --git a/test/msglog/0564.10HmaX-0005vi-00 b/test/msglog/0564.10HmaX-0005vi-00
new file mode 100644
index 000000000..3b44e8802
--- /dev/null
+++ b/test/msglog/0564.10HmaX-0005vi-00
@@ -0,0 +1 @@
+1999-03-02 09:44:33 Received from userx@test.ex H=(abcd) [127.0.0.1] P=esmtp S=sss
diff --git a/test/paniclog/0439 b/test/paniclog/0439
index 0cbb80591..9b990fca5 100644
--- a/test/paniclog/0439
+++ b/test/paniclog/0439
@@ -1,3 +1,3 @@
-1999-03-02 09:44:33 invalid value for message_size_limit: absolute value of integer "2048M" is too large (overflow)
-1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "2048M" is too large (overflow)
-1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "2048M" is too large (overflow)
+1999-03-02 09:44:33 invalid value for message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
+1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
+1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
diff --git a/test/runtest b/test/runtest
index d42d400a9..5f77e6256 100755
--- a/test/runtest
+++ b/test/runtest
@@ -13,15 +13,17 @@
# Placed in the Exim CVS: 06 February 2006 #
###############################################################################
+#use strict;
require Cwd;
use Errno;
use FileHandle;
use Socket;
+use Time::Local;
# Start by initializing some global variables
-$testversion = "4.72 (02-Jun-10)";
+$testversion = "4.78 (08-May-12)";
$cf = "bin/cf -exact";
$cr = "\r";
@@ -118,6 +120,12 @@ s?\bV6NET:?$parm_ipv6_test_net:?g;
}
+##################################################
+# Any state to be preserved across tests #
+##################################################
+
+my $TEST_STATE = {};
+
##################################################
# Subroutine to tidy up and exit #
@@ -140,6 +148,13 @@ my($spool);
# than SIGTERM to stop it outputting "Terminated" to the terminal when not in
# the background.
+if (exists $TEST_STATE->{exim_pid})
+ {
+ $pid = $TEST_STATE->{exim_pid};
+ print "Tidyup: killing wait-mode daemon pid=$pid\n";
+ system("sudo kill -SIGINT $pid");
+ }
+
if (opendir(DIR, "spool"))
{
my(@spools) = sort readdir(DIR);
@@ -196,14 +211,26 @@ return $newid;
}
-# This is used while munging the output from exim_dumpdb. We cheat by assuming
-# that the date always the same, and just return the number of seconds since
-# midnight.
+# This is used while munging the output from exim_dumpdb.
+# May go wrong across DST changes.
sub date_seconds {
my($day,$month,$year,$hour,$min,$sec) =
$_[0] =~ /^(\d\d)-(\w\w\w)-(\d{4})\s(\d\d):(\d\d):(\d\d)/;
-return $hour * 60 * 60 + $min * 60 + $sec;
+my($mon);
+if ($month =~ /Jan/) {$mon = 0;}
+elsif($month =~ /Feb/) {$mon = 1;}
+elsif($month =~ /Mar/) {$mon = 2;}
+elsif($month =~ /Apr/) {$mon = 3;}
+elsif($month =~ /May/) {$mon = 4;}
+elsif($month =~ /Jun/) {$mon = 5;}
+elsif($month =~ /Jul/) {$mon = 6;}
+elsif($month =~ /Aug/) {$mon = 7;}
+elsif($month =~ /Sep/) {$mon = 8;}
+elsif($month =~ /Oct/) {$mon = 9;}
+elsif($month =~ /Nov/) {$mon = 10;}
+elsif($month =~ /Dec/) {$mon = 11;}
+return timelocal($sec,$min,$hour,$day,$mon,$year);
}
@@ -1360,17 +1387,21 @@ system("$cmd");
# reference to the subtest number, holding previous value
# reference to the expected return code value
# reference to where to put the command name (for messages)
+# auxilliary information returned from a previous run
#
# Returns: 0 the commmand was executed inline, no subprocess was run
# 1 a non-exim command was run and waited for
# 2 an exim command was run and waited for
# 3 a command was run and not waited for (daemon, server, exim_lock)
# 4 EOF was encountered after an initial return code line
+# Optionally alse a second parameter, a hash-ref, with auxilliary information:
+# exim_pid: pid of a run process
sub run_command{
my($testno) = $_[0];
my($subtestref) = $_[1];
my($commandnameref) = $_[3];
+my($aux_info) = $_[4];
my($yield) = 1;
if (/^(\d+)\s*$/) # Handle unusual return code
@@ -1541,11 +1572,27 @@ if (/^gnutls/)
if (/^killdaemon/)
{
- $pid = `cat $parm_cwd/spool/exim-daemon.*`;
- run_system("sudo /bin/kill -SIGINT $pid");
- close DAEMONCMD; # Waits for process
- run_system("sudo /bin/rm -f spool/exim-daemon.*");
- return 1;
+ my $return_extra = {};
+ if (exists $aux_info->{exim_pid})
+ {
+ $pid = $aux_info->{exim_pid};
+ $return_extra->{exim_pid} = undef;
+ print ">> killdaemon: recovered pid $pid\n" if $debug;
+ if ($pid)
+ {
+ run_system("sudo /bin/kill -SIGINT $pid");
+ wait;
+ }
+ } else {
+ $pid = `cat $parm_cwd/spool/exim-daemon.*`;
+ if ($pid)
+ {
+ run_system("sudo /bin/kill -SIGINT $pid");
+ close DAEMONCMD; # Waits for process
+ }
+ }
+ run_system("sudo /bin/rm -f spool/exim-daemon.*");
+ return (1, $return_extra);
}
@@ -1773,6 +1820,10 @@ elsif (/^([A-Z_]+=\S+\s+)?(\d+)?\s*(sudo\s+)?exim(_\S+)?\s+(.*)$/)
my($i);
for ($i = @msglist; $i > 0; $i--) { $args =~ s/\$msg$i/$msglist[$i-1]/g; }
+ if ( $args =~ /\$msg\d/ )
+ {
+ tests_exit(-1, "Not enough messages in spool, for test $testno line $lineno\n");
+ }
}
# If -d is specified in $optargs, remove it from $args; i.e. let
@@ -1816,6 +1867,38 @@ elsif (/^([A-Z_]+=\S+\s+)?(\d+)?\s*(sudo\s+)?exim(_\S+)?\s+(.*)$/)
select(undef, undef, undef, 0.3); # Let the daemon get going
return 3; # Don't wait
}
+ elsif ($cmd =~ /\s-DSERVER=wait:(\d+)\s/)
+ {
+ my $listen_port = $1;
+ my $waitmode_sock = new FileHandle;
+ if ($debug) { printf ">> wait-mode daemon: $cmd\n"; }
+ run_system("sudo mkdir spool/log 2>/dev/null");
+ run_system("sudo chown $parm_eximuser:$parm_eximgroup spool/log");
+
+ my ($s_ip,$s_port) = ('127.0.0.1', $listen_port);
+ my $sin = sockaddr_in($s_port, inet_aton($s_ip))
+ or die "** Failed packing $s_ip:$s_port\n";
+ socket($waitmode_sock, PF_INET, SOCK_STREAM, getprotobyname('tcp'))
+ or die "** Unable to open socket $s_ip:$s_port: $!\n";
+ setsockopt($waitmode_sock, SOL_SOCKET, SO_REUSEADDR, 1)
+ or die "** Unable to setsockopt(SO_REUSEADDR): $!\n";
+ bind($waitmode_sock, $sin)
+ or die "** Unable to bind socket ($s_port): $!\n";
+ listen($waitmode_sock, 5);
+ my $pid = fork();
+ if (not defined $pid) { die "** fork failed: $!\n" }
+ if (not $pid) {
+ close(STDIN);
+ open(STDIN, "<&", $waitmode_sock) or die "** dup sock to stdin failed: $!\n";
+ close($waitmode_sock);
+ print "[$$]>> ${cmd}-server\n" if ($debug);
+ exec "exec ${cmd}-server";
+ exit(1);
+ }
+ while (<SCRIPT>) { $lineno++; last if /^\*{4}\s*$/; } # Ignore any input
+ select(undef, undef, undef, 0.3); # Let the daemon get going
+ return (3, { exim_pid => $pid }); # Don't wait
+ }
}
@@ -1916,7 +1999,7 @@ else
# If the first character of the first argument is '/', the argument is taken
# as the path to the binary.
-$parm_exim = (@ARGV > 0 && $ARGV[0] =~ ?^/?)? shift @ARGV : "";
+$parm_exim = (@ARGV > 0 && $ARGV[0] =~ m?^/?)? shift @ARGV : "";
print "Exim binary is $parm_exim\n" if $parm_exim ne "";
@@ -2179,6 +2262,8 @@ unlink("$parm_cwd/test-config");
if (defined $parm_support{'Content_Scanning'})
{
+ my $sock = new FileHandle;
+
if (system("spamc -h 2>/dev/null >/dev/null") == 0)
{
print "The spamc command works:\n";
@@ -2195,23 +2280,23 @@ if (defined $parm_support{'Content_Scanning'})
{
my $sin = sockaddr_in($sport, inet_aton($sint))
or die "** Failed packing $sint:$sport\n";
- socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'))
+ socket($sock, PF_INET, SOCK_STREAM, getprotobyname('tcp'))
or die "** Unable to open socket $sint:$sport\n";
local $SIG{ALRM} =
sub { die "** Timeout while connecting to socket $sint:$sport\n"; };
alarm(5);
- connect(SOCK, $sin)
+ connect($sock, $sin)
or die "** Unable to connect to socket $sint:$sport\n";
alarm(0);
- select((select(SOCK), $| = 1)[0]);
- print SOCK "bad command\r\n";
+ select((select($sock), $| = 1)[0]);
+ print $sock "bad command\r\n";
$SIG{ALRM} =
sub { die "** Timeout while reading from socket $sint:$sport\n"; };
alarm(10);
- my $res = <SOCK>;
+ my $res = <$sock>;
alarm(0);
$res =~ m|^SPAMD/|
@@ -2322,18 +2407,18 @@ if (defined $parm_support{'Content_Scanning'})
{
die "** Unknown socket domain '$socket_domain' (should not happen)\n";
}
- socket(SOCK, $socket_domain, SOCK_STREAM, 0) or die "** Unable to open socket '$parm_clamsocket'\n";
+ socket($sock, $socket_domain, SOCK_STREAM, 0) or die "** Unable to open socket '$parm_clamsocket'\n";
local $SIG{ALRM} = sub { die "** Timeout while connecting to socket '$parm_clamsocket'\n"; };
alarm(5);
- connect(SOCK, $socket) or die "** Unable to connect to socket '$parm_clamsocket'\n";
+ connect($sock, $socket) or die "** Unable to connect to socket '$parm_clamsocket'\n";
alarm(0);
- my $ofh = select SOCK; $| = 1; select $ofh;
- print SOCK "PING\n";
+ my $ofh = select $sock; $| = 1; select $ofh;
+ print $sock "PING\n";
$SIG{ALRM} = sub { die "** Timeout while reading from socket '$parm_clamsocket'\n"; };
alarm(10);
- my $res = <SOCK>;
+ my $res = <$sock>;
alarm(0);
$res =~ /PONG/ or die "** Did not get PONG from socket '$parm_clamsocket'. It said: $res\n";
@@ -2649,7 +2734,7 @@ system("sudo cp eximdir/exim eximdir/exim_exim;" .
# Certain of the tests make use of some of Exim's utilities. We do not need
# to be root to copy these.
-($parm_exim_dir) = $parm_exim =~ ?^(.*)/exim?;
+($parm_exim_dir) = $parm_exim =~ m?^(.*)/exim?;
$dbm_build_deleted = 0;
if (defined $parm_lookups{'dbm'} &&
@@ -3168,10 +3253,30 @@ foreach $test (@test_list)
my($commandname) = "";
my($expectrc) = 0;
- my($rc) = run_command($testno, \$subtestno, \$expectrc, \$commandname);
+ my($rc, $run_extra) = run_command($testno, \$subtestno, \$expectrc, \$commandname, $TEST_STATE);
my($cmdrc) = $?;
- print ">> rc=$rc cmdrc=$cmdrc\n" if $debug;
+ if ($debug) {
+ print ">> rc=$rc cmdrc=$cmdrc\n";
+ if (defined $run_extra) {
+ foreach my $k (keys %$run_extra) {
+ my $v = defined $run_extra->{$k} ? qq!"$run_extra->{$k}"! : '<undef>';
+ print ">> $k -> $v\n";
+ }
+ }
+ }
+ $run_extra = {} unless defined $run_extra;
+ foreach my $k (keys %$run_extra) {
+ if (exists $TEST_STATE->{$k}) {
+ my $nv = defined $run_extra->{$k} ? qq!"$run_extra->{$k}"! : 'removed';
+ print ">> override of $k; was $TEST_STATE->{$k}, now $nv\n" if $debug;
+ }
+ if (defined $run_extra->{$k}) {
+ $TEST_STATE->{$k} = $run_extra->{$k};
+ } elsif (exists $TEST_STATE->{$k}) {
+ delete $TEST_STATE->{$k};
+ }
+ }
# Hit EOF after an initial return code number
@@ -3200,10 +3305,10 @@ foreach $test (@test_list)
for (;;)
{
- print "\nshow stdErr, show stdOut, Continue (without file comparison), or Quit? [Q] ";
+ print "\nshow stdErr, show stdOut, Retry, Continue (without file comparison), or Quit? [Q] ";
$_ = <T>;
tests_exit(1) if /^q?$/i;
- last if /^c$/i;
+ last if /^[rc]$/i;
if (/^e$/i)
{
system("$more test-stderr");
@@ -3214,6 +3319,7 @@ foreach $test (@test_list)
}
}
+ $retry = 1 if /^r$/i;
$docheck = 0;
}
@@ -3236,10 +3342,10 @@ foreach $test (@test_list)
for (;;)
{
- print "\nShow server stdout, Continue, or Quit? [Q] ";
+ print "\nShow server stdout, Retry, Continue, or Quit? [Q] ";
$_ = <T>;
tests_exit(1) if /^q?$/i;
- last if /^c$/i;
+ last if /^[rc]$/i;
if (/^s$/i)
{
@@ -3249,6 +3355,7 @@ foreach $test (@test_list)
close(S);
}
}
+ $retry = 1 if /^r$/i;
}
}
}
@@ -3259,6 +3366,13 @@ foreach $test (@test_list)
# function returns 0 if all is well, 1 if we should rerun the test (the files
# have been updated). It does not return if the user responds Q to a prompt.
+ if ($retry)
+ {
+ $retry = '0';
+ print (("#" x 79) . "\n");
+ redo;
+ }
+
if ($docheck)
{
if (check_output() != 0)
@@ -3282,4 +3396,4 @@ tests_exit(-1, "No runnable tests selected") if @test_list == 0;
tests_exit(0);
# End of runtest script
-# vim: set sw=2 :
+# vim: set sw=2 et :
diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002
index 01ba6d911..f87251e1e 100644
--- a/test/scripts/0000-Basic/0002
+++ b/test/scripts/0000-Basic/0002
@@ -239,9 +239,12 @@ md5: ${if eq {1}{2}{${md5:invalid}}{NO}}
mask: ${if eq {1}{2}{${mask:invalid}}{NO}}
# Numeric overflow
+# >32b should work, >64b not
4096M ${if >{1}{4096M}{y}{n}}
4096000000 ${if >{1}{4096000000}{y}{n}}
+4611686018427387904 ${if >{1}{4611686018427387904} {y}{n}}
+46116860184273879040 ${if >{1}{46116860184273879040}{y}{n}}
# Conditions
diff --git a/test/scripts/0000-Basic/0564 b/test/scripts/0000-Basic/0564
new file mode 100644
index 000000000..68fb607ec
--- /dev/null
+++ b/test/scripts/0000-Basic/0564
@@ -0,0 +1,25 @@
+# testing -bw inetd wait mode
+need_ipv4
+#
+exim -DSERVER=wait:PORT_D -bw
+****
+client 127.0.0.1 PORT_D
+??? 220
+ehlo abcd
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250
+mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>\r\ndata
+??? 250
+??? 250
+??? 354
+This is a test message.
+.
+??? 250
+quit
+??? 221
+****
+sleep 1
+killdaemon
diff --git a/test/scripts/0000-Basic/0565 b/test/scripts/0000-Basic/0565
new file mode 100644
index 000000000..859623378
--- /dev/null
+++ b/test/scripts/0000-Basic/0565
@@ -0,0 +1,58 @@
+# headers_only in SMTP
+need_ipv4
+server -noipv6 PORT_S
+220 ESMTP
+EHLO
+250-OK
+250 HELP
+MAIL FROM:
+250 Sender OK
+RCPT TO:
+250 Receiver OK
+DATA
+354 Send it
+.
+250 OK (wizzle)
+QUIT
+221 bye
+****
+exim -odf -bs
+mail from:<postmaster@y>
+rcpt to:<x@y>
+data
+From: postmaster@y
+To: x@y
+Subject: first test message
+
+This is the FIRST message body.
+.
+quit
+****
+server -noipv6 PORT_S
+220 ESMTP
+EHLO
+250-OK
+250 HELP
+MAIL FROM:
+250 Sender OK
+RCPT TO:
+250 Receiver OK
+DATA
+354 Send it
+.
+250 OK (wizzle)
+QUIT
+221 bye
+****
+exim -odf -bs
+mail from:<postmaster@y>
+rcpt to:<x@test.ex>
+data
+From: postmaster@y
+To: x@y
+Subject: second test message
+
+This is the SECOND message body.
+.
+quit
+****
diff --git a/test/scripts/2000-GnuTLS/2011 b/test/scripts/2000-GnuTLS/2011
deleted file mode 100644
index 6f72fba80..000000000
--- a/test/scripts/2000-GnuTLS/2011
+++ /dev/null
@@ -1,39 +0,0 @@
-# TLS client & server: (gnu)tls_require_xxx
-gnutls
-# Start up the server
-exim -DSERVER=server -bd -oX PORT_D
-****
-# This puts a message on the queue (queue_only is set).
-exim userx@test.ex
-Testing
-****
-# This will fail to deliver encrypted because there are no acceptable
-# ciphers, so it will deliver in clear.
-exim -qf -DCREQCIP=tls_require_ciphers=IDEA-CBC-MD5
-****
-# This delivers the message to the server, where it will remain
-# on the queue because queue_only is set.
-exim -qf -DCREQCIP=tls_require_ciphers=IDEA-CBC-MD5:DES-CBC3-SHA:RSA_ARCFOUR_SHA
-****
-# So we can deliver it again and again, with different parameters.
-exim -qf -DCREQMAC=gnutls_require_mac=MD5
-****
-exim -qf -DCREQMAC=gnutls_require_mac=!SHA1
-****
-exim -qf -DCREQMAC=gnutls_require_mac=MD5:SHA
-****
-exim -qf -DCREQMAC=gnutls_require_kx=!DHE
-****
-exim -qf -DCREQMAC=gnutls_require_protocols=SSL3
-****
-# Restart the server with a cipher restriction
-killdaemon
-exim -DSERVER=server \
- -DSREQCIP=tls_require_ciphers=ARCFOUR \
- -DSREQMAC=gnutls_require_mac=MD5 \
- -bd -oX PORT_D
-****
-exim -qf
-****
-killdaemon
-no_msglog_check
diff --git a/test/scripts/3450-plaintext-GnuTLS/3450 b/test/scripts/3450-plaintext-GnuTLS/3450
index bb50a3e9c..0494118ca 100644
--- a/test/scripts/3450-plaintext-GnuTLS/3450
+++ b/test/scripts/3450-plaintext-GnuTLS/3450
@@ -10,6 +10,7 @@ ehlo foobar
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
auth plain AHVzZXJ4AHNlY3JldA==
??? 235
@@ -24,6 +25,7 @@ ehlo foobar
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
auth plain AHVzZXJ4AHNlY3JldA==
??? 503
@@ -34,6 +36,7 @@ ehlo foobar
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
auth plain AHVzZXJ4AHNlY3JldA==
??? 235
diff --git a/test/scripts/3450-plaintext-GnuTLS/3453 b/test/scripts/3450-plaintext-GnuTLS/3453
index cf99cd896..a88f49f3d 100644
--- a/test/scripts/3450-plaintext-GnuTLS/3453
+++ b/test/scripts/3450-plaintext-GnuTLS/3453
@@ -10,6 +10,7 @@ ehlo foobar
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
starttls
??? 220
@@ -31,6 +32,7 @@ ehlo foobar
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
starttls
??? 220
diff --git a/test/scripts/3450-plaintext-GnuTLS/3454 b/test/scripts/3450-plaintext-GnuTLS/3454
index 0c45cbcc5..7ef007707 100644
--- a/test/scripts/3450-plaintext-GnuTLS/3454
+++ b/test/scripts/3450-plaintext-GnuTLS/3454
@@ -5,34 +5,37 @@ exim -DSERVER=server -bd -oX PORT_D
client-ssl 127.0.0.1 PORT_D
??? 220
ehlo foobar
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250
+??? 250-myhost
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-AUTH
+??? 250-STARTTLS
+??? 250 HELP
starttls
-??? 220
+??? 220 TLS
auth plain AHVzZXJ4AHNlY3JldA==
??? 503
****
client-ssl 127.0.0.1 PORT_D
??? 220
ehlo foobar
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250
+??? 250-myhost
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-AUTH
+??? 250-STARTTLS
+??? 250 HELP
starttls
-??? 220
+??? 220 TLS
ehlo foobar
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250
+??? 250-myhost
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-AUTH
+??? 250 HELP
auth plain AHVzZXJ4AHNlY3JldA==
??? 235
quit
diff --git a/test/scripts/3650-Dovecot/3650 b/test/scripts/3650-Dovecot/3650
deleted file mode 100644
index 55b6c1e42..000000000
--- a/test/scripts/3650-Dovecot/3650
+++ /dev/null
@@ -1,18 +0,0 @@
-# Dovecot authentication (server only)
-exim -DSERVER=server -bd -oX PORT_D
-****
-client -t3 127.0.0.1 PORT_D
-??? 220
-EHLO xxxx
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250
-AUTH PLAIN AHVzZXJ4AHNlY3JldA==
-??? 535
-quit
-??? 221
-****
-killdaemon
-no_msglog_check
diff --git a/test/scripts/3650-Dovecot/REQUIRES b/test/scripts/3650-Dovecot/REQUIRES
deleted file mode 100644
index 76218eb92..000000000
--- a/test/scripts/3650-Dovecot/REQUIRES
+++ /dev/null
@@ -1,2 +0,0 @@
-authenticator dovecot
-running IPv4
diff --git a/test/scripts/9350-Dovecot/9350 b/test/scripts/9350-Dovecot/9350
index 3325f246c..ccfaf32b6 100644
--- a/test/scripts/9350-Dovecot/9350
+++ b/test/scripts/9350-Dovecot/9350
@@ -3,14 +3,15 @@ exim -DSERVER=server -bd -oX PORT_D
****
# Try without TLS
client -t3 127.0.0.1 PORT_D
-??? 220
+??? 220 myhost
EHLO xxxx
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250-
-??? 250
+??? 250-myhost
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-AUTH
+??? 250-STARTTLS
+??? 250 HELP
AUTH PLAIN AHVzZXJ4AHNlY3JldA==
??? 535
quit
@@ -25,6 +26,7 @@ EHLO xxxx
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
STARTTLS
??? 220
@@ -33,6 +35,7 @@ EHLO xxxx
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
AUTH PLAIN AHVzZXJ4AHNlY3JldA==
??? 535
@@ -48,6 +51,7 @@ EHLO xxxx
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
STARTTLS
??? 220
@@ -56,6 +60,7 @@ EHLO xxxx
??? 250-
??? 250-
??? 250-
+??? 250-
??? 250
AUTH PLAIN AHVzZXJ4AHNlY3JldA==
??? 535
diff --git a/test/stderr/0439 b/test/stderr/0439
index ba7af5848..18974ef51 100644
--- a/test/stderr/0439
+++ b/test/stderr/0439
@@ -1,5 +1,5 @@
-1999-03-02 09:44:33 invalid value for message_size_limit: absolute value of integer "2048M" is too large (overflow)
-1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "2048M" is too large (overflow)
+1999-03-02 09:44:33 invalid value for message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
+1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
******** SERVER ********
-1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "2048M" is too large (overflow)
+1999-03-02 09:44:33 invalid message_size_limit: absolute value of integer "8796093022208M" is too large (overflow)
diff --git a/test/stdout/0002 b/test/stdout/0002
index e209ada6e..c009fbd12 100644
--- a/test/stdout/0002
+++ b/test/stdout/0002
@@ -221,9 +221,12 @@
> mask: NO
>
> # Numeric overflow
+> # >32b should work, >64b not
>
-> Failed: absolute value of integer "4096M" is too large (overflow)
-> Failed: absolute value of integer "4096000000" is too large (overflow)
+> 4096M y
+> 4096000000 y
+> 4611686018427387904 y
+> Failed: absolute value of integer "46116860184273879040" is too large (overflow)
>
> # Conditions
>
diff --git a/test/stdout/0564 b/test/stdout/0564
new file mode 100644
index 000000000..6f4f06bdb
--- /dev/null
+++ b/test/stdout/0564
@@ -0,0 +1,29 @@
+Connecting to 127.0.0.1 port 1225 ... connected
+??? 220
+<<< 220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+>>> ehlo abcd
+??? 250-
+<<< 250-the.local.host.name Hello abcd [127.0.0.1]
+??? 250-
+<<< 250-SIZE 52428800
+??? 250-
+<<< 250-8BITMIME
+??? 250-
+<<< 250-PIPELINING
+??? 250
+<<< 250 HELP
+>>> mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>\r\ndata
+??? 250
+<<< 250 OK
+??? 250
+<<< 250 Accepted
+??? 354
+<<< 354 Enter message, ending with "." on a line by itself
+>>> This is a test message.
+>>> .
+??? 250
+<<< 250 OK id=10HmaX-0005vi-00
+>>> quit
+??? 221
+<<< 221 the.local.host.name closing connection
+End of script
diff --git a/test/stdout/0565 b/test/stdout/0565
new file mode 100644
index 000000000..be4e45594
--- /dev/null
+++ b/test/stdout/0565
@@ -0,0 +1,71 @@
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaX-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 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaY-0005vi-00
+221 myhost.test.ex closing connection
+
+******** SERVER ********
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 ESMTP
+EHLO myhost.test.ex
+250-OK
+250 HELP
+MAIL FROM:<CALLER@myhost.test.ex>
+250 Sender OK
+RCPT TO:<x@y>
+250 Receiver OK
+DATA
+354 Send it
+Received: from CALLER by myhost.test.ex with local-smtp (Exim x.yz)
+ (envelope-from <CALLER@myhost.test.ex>)
+ id 10HmaX-0005vi-00
+ for x@y; Tue, 2 Mar 1999 09:44:33 +0000
+From: postmaster@y
+To: x@y
+Subject: first test message
+Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
+Sender: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the FIRST message body.
+.
+250 OK (wizzle)
+QUIT
+221 bye
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 ESMTP
+EHLO myhost.test.ex
+250-OK
+250 HELP
+MAIL FROM:<CALLER@myhost.test.ex>
+250 Sender OK
+RCPT TO:<x@test.ex>
+250 Receiver OK
+DATA
+354 Send it
+Received: from CALLER by myhost.test.ex with local-smtp (Exim x.yz)
+ (envelope-from <CALLER@myhost.test.ex>)
+ id 10HmaY-0005vi-00
+ for x@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+From: postmaster@y
+To: x@y
+Subject: second test message
+Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
+Sender: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+.
+250 OK (wizzle)
+QUIT
+221 bye
+End of script
diff --git a/test/stdout/3450 b/test/stdout/3450
index 04dd751a8..3c2ee8a31 100644
--- a/test/stdout/3450
+++ b/test/stdout/3450
@@ -7,6 +7,8 @@ Connecting to ip4.ip4.ip4.ip4 port 1225 ... connected
??? 250-
<<< 250-SIZE 52428800
??? 250-
+<<< 250-8BITMIME
+??? 250-
<<< 250-PIPELINING
??? 250-
<<< 250-AUTH PLAIN
@@ -30,6 +32,8 @@ Connecting to 127.0.0.1 port 1225 ... connected
??? 250-
<<< 250-SIZE 52428800
??? 250-
+<<< 250-8BITMIME
+??? 250-
<<< 250-PIPELINING
??? 250-
<<< 250-AUTH PLAIN
@@ -66,6 +70,8 @@ Succeeded in starting TLS
??? 250-
<<< 250-SIZE 52428800
??? 250-
+<<< 250-8BITMIME
+??? 250-
<<< 250-PIPELINING
??? 250-
<<< 250-AUTH PLAIN
diff --git a/test/stdout/3453 b/test/stdout/3453
index e2186de39..098973d42 100644
--- a/test/stdout/3453
+++ b/test/stdout/3453
@@ -7,6 +7,8 @@ Connecting to 127.0.0.1 port 1225 ... connected
??? 250-
<<< 250-SIZE 52428800
??? 250-
+<<< 250-8BITMIME
+??? 250-
<<< 250-PIPELINING
??? 250-
<<< 250-AUTH PLAIN
@@ -38,6 +40,8 @@ Connecting to 127.0.0.1 port 1225 ... connected
??? 250-
<<< 250-SIZE 52428800
??? 250-
+<<< 250-8BITMIME
+??? 250-
<<< 250-PIPELINING
??? 250-
<<< 250-AUTH PLAIN
diff --git a/test/stdout/3454 b/test/stdout/3454
index 7ccebbc84..1deec37c5 100644
--- a/test/stdout/3454
+++ b/test/stdout/3454
@@ -2,20 +2,22 @@ Connecting to 127.0.0.1 port 1225 ... connected
??? 220
<<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
>>> ehlo foobar
-??? 250-
+??? 250-myhost
<<< 250-myhost.test.ex Hello foobar [127.0.0.1]
-??? 250-
+??? 250-SIZE
<<< 250-SIZE 52428800
-??? 250-
+??? 250-8BITMIME
+<<< 250-8BITMIME
+??? 250-PIPELINING
<<< 250-PIPELINING
-??? 250-
+??? 250-AUTH
<<< 250-AUTH PLAIN
-??? 250-
+??? 250-STARTTLS
<<< 250-STARTTLS
-??? 250
+??? 250 HELP
<<< 250 HELP
>>> starttls
-??? 220
+??? 220 TLS
<<< 220 TLS go ahead
Attempting to start TLS
SSL info: before/connect initialization
@@ -42,20 +44,22 @@ Connecting to 127.0.0.1 port 1225 ... connected
??? 220
<<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
>>> ehlo foobar
-??? 250-
+??? 250-myhost
<<< 250-myhost.test.ex Hello foobar [127.0.0.1]
-??? 250-
+??? 250-SIZE
<<< 250-SIZE 52428800
-??? 250-
+??? 250-8BITMIME
+<<< 250-8BITMIME
+??? 250-PIPELINING
<<< 250-PIPELINING
-??? 250-
+??? 250-AUTH
<<< 250-AUTH PLAIN
-??? 250-
+??? 250-STARTTLS
<<< 250-STARTTLS
-??? 250
+??? 250 HELP
<<< 250 HELP
>>> starttls
-??? 220
+??? 220 TLS
<<< 220 TLS go ahead
Attempting to start TLS
SSL info: before/connect initialization
@@ -75,15 +79,17 @@ SSL info: SSL negotiation finished successfully
SSL connection using DHE-RSA-AES256-SHA
Succeeded in starting TLS
>>> ehlo foobar
-??? 250-
+??? 250-myhost
<<< 250-myhost.test.ex Hello foobar [127.0.0.1]
-??? 250-
+??? 250-SIZE
<<< 250-SIZE 52428800
-??? 250-
+??? 250-8BITMIME
+<<< 250-8BITMIME
+??? 250-PIPELINING
<<< 250-PIPELINING
-??? 250-
+??? 250-AUTH
<<< 250-AUTH PLAIN
-??? 250
+??? 250 HELP
<<< 250 HELP
>>> auth plain AHVzZXJ4AHNlY3JldA==
??? 235
diff --git a/test/stdout/5100 b/test/stdout/5100
index cf3412153..eff877af5 100644
--- a/test/stdout/5100
+++ b/test/stdout/5100
@@ -1,5 +1,5 @@
+++++++++++++++++++++++++++
T:jack@myhost.test.ex -46 12800 LMTP error after end of data: 450 Number 2 is now delayed
-first failed = time last try = time2 next try = time2 + 0
+first failed = time last try = time2 next try = time2 + 86400
T:tom@myhost.test.ex -44 12800 LMTP error after RCPT TO:<tom@myhost.test.ex>: 450 This one is delayed on RCPT
first failed = time last try = time2 next try = time2 + 60