summaryrefslogtreecommitdiff
path: root/test/runtest
diff options
context:
space:
mode:
authorPhil Pennock <pdp@exim.org>2012-05-17 08:16:11 -0400
committerPhil Pennock <pdp@exim.org>2012-05-17 08:16:11 -0400
commit6bf5d8f2ca7524fd63f803032cada89e54544cf3 (patch)
treef43a0bc11083072feb531b064bc4ccb30c823170 /test/runtest
parent1365611d62f130d0a096b322656b5b790628d2c7 (diff)
Handle TLSv1.2 in test suite.
Normalise TLSv1.2 to TLSv1. Normalise AES256-GCM-SHA384 to AES256-SHA. Make some test configs accept AES256-GCM-SHA384 in "encrypted =" ACLs. Have test suite print final test id during abort, make it easier to track down.
Diffstat (limited to 'test/runtest')
-rwxr-xr-xtest/runtest19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/runtest b/test/runtest
index 5f77e6256..51658b878 100755
--- a/test/runtest
+++ b/test/runtest
@@ -181,6 +181,8 @@ system("sudo /bin/rm -rf ./spool test-* ./dnszones/*")
if ($rc == 0 && !$save_output);
system("sudo /bin/rm -rf ./eximdir/*");
+
+print "\nYou were in test $test at the end there.\n\n" if defined $test;
exit $rc if ($rc >= 0);
die "** runtest error: $_[1]\n";
}
@@ -468,6 +470,23 @@ RESET_AFTER_EXTRA_LINE_READ:
\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d/Exim statistics from <time> to <time>/x;
+ # ======== TLS certificate algorithms ========
+ # Test machines might have various different TLS library versions supporting
+ # different protocols; can't rely upon TLS 1.2's AES256-GCM-SHA384, so we
+ # treat the standard algorithms the same.
+ # So far, have seen:
+ # TLSv1:AES256-SHA:256
+ # TLSv1.2:AES256-GCM-SHA384:256
+ # We also need to handle the ciphersuite without the TLS part present, for
+ # client-ssl's output. We also see some older forced ciphersuites, but
+ # negotiating TLS 1.2 instead of 1.0.
+ # Mail headers (...), log-lines X=..., client-ssl output ...
+ # (and \b doesn't match between ' ' and '(' )
+
+ s/( (?: (?:\b|\s) [\(=] ) | \s )TLSv1\.2:/$1TLSv1:/xg;
+ s/\bAES256-GCM-SHA384\b/AES256-SHA/g;
+
+
# ======== Caller's login, uid, gid, home, gecos ========
s/\Q$parm_caller_home\E/CALLER_HOME/g; # NOTE: these must be done