diff options
Diffstat (limited to 'test')
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 |