X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/b60b2eea0867313b7d950c1e13bf7067095eb605..9c29c48f8327fc20b3840ce2fb4dad4a6c8003b2:/test/runtest diff --git a/test/runtest b/test/runtest index e4195b64a..41531609e 100755 --- a/test/runtest +++ b/test/runtest @@ -491,8 +491,8 @@ RESET_AFTER_EXTRA_LINE_READ: s/^\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d\.\d{3}(\s[+-]\d\d\d\d)?\s/2017-07-30 18:51:05.712 /gx; s/^Logwrite\s"\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d/Logwrite "1999-03-02 09:44:33/gx; - s/((D|[QD]T)=)\d+s/$1qqs/g; - s/((D|[QD]T)=)\d\.\d{3}s/$1q.qqqs/g; + s/((D|[RQD]T)=)\d+s/$1qqs/g; + s/((D|[RQD]T)=)\d\.\d{3}s/$1q.qqqs/g; # Date/time in message separators s/(?:[A-Z][a-z]{2}\s){2}\d\d\s\d\d:\d\d:\d\d\s\d\d\d\d @@ -549,12 +549,19 @@ RESET_AFTER_EXTRA_LINE_READ: # Retain the authentication algorith field as we want to test that. s/( (?: (?:\b|\s) [\(=] ) | \s )TLSv1\.[12]:/$1TLSv1:/xg; - s/((EC)?DHE-)?(RSA|ECDSA)-AES(128|256)-(GCM-SHA(256|384)|SHA)(?-:)/ke-$3-AES256-SHAxxx/g; - s/((EC)?DHE-)?(RSA|ECDSA)-AES(128|256)-(GCM-SHA(256|384)|SHA):(128|256)/ke-$3-AES256-SHAxxx/g; + s/((EC)?DHE-)?(RSA|ECDSA)-AES(128|256)-(GCM-SHA(256|384)|SHA)(?!:)/ke-$3-AES256-SHA/g; + s/((EC)?DHE-)?(RSA|ECDSA)-AES(128|256)-(GCM-SHA(256|384)|SHA):(128|256)/ke-$3-AES256-SHA:xxx/g; # LibreSSL + # TLSv1:AES256-GCM-SHA384:256 # TLSv1:ECDHE-RSA-CHACHA20-POLY1305:256 - s/((EC)?DHE-)?(RSA|ECDSA)-CHACHA20-POLY1305\b/ke-$3-AES256-SHAxxx/g; + # + # ECDHE-RSA-CHACHA20-POLY1305 + # AES256-GCM-SHA384 + + s/(?; $lineno++; chomp; + do_substitute($testno); $line = $_; if ($debug) { printf ">> daemon: $line >>test-stdout 2>>test-stderr\n"; } @@ -2754,6 +2773,9 @@ die "CONFIGURE_GROUP ($parm_configure_group) does not match the group invoking $ if 0020 & (stat "$parm_cwd/test-config")[2] and $parm_configure_group != $); +die "aux-fixed file is world-writeable; best to strip them all, recursively\n" + if 0020 & (stat "aux-fixed/0037.f-1")[2]; + open(EXIMINFO, "$parm_exim -d-all+transport -bV -C $parm_cwd/test-config -DDIR=$parm_cwd |") || die "** Cannot run $parm_exim: $!\n"; @@ -2765,6 +2787,7 @@ while () my(@temp); if (/^(Exim|Library) version/) { print; } + if (/Runtime: /) {print; } elsif (/^Size of off_t: (\d+)/) { @@ -2828,6 +2851,15 @@ while () } } } + + elsif (/^Malware: (.*)/) + { + print; + @temp = split /(\s+)/, $1; + push(@temp, ' '); + %parm_malware = @temp; + } + } close(EXIMINFO); print "-" x 78, "\n"; @@ -3138,6 +3170,12 @@ unless (defined $parm_eximgroup) die "** ABANDONING.\n"; } +if ($parm_caller_home eq $parm_cwd) + { + print "will confuse working dir with homedir; change homedir\n"; + die "** ABANDONING.\n"; + } + print "You need to be in the Exim group to run these tests. Checking ..."; if (`groups` =~ /\b\Q$parm_eximgroup\E\b/) @@ -3492,6 +3530,10 @@ DIR: for (my $i = 0; $i < @test_dirs; $i++) { if (!defined $parm_transports{$1}) { $wantthis = 0; last; } } + elsif (/^malware (.*)$/) + { + if (!defined $parm_malware{$1}) { $wantthis = 0; last; } + } else { tests_exit(-1, "Unknown line in \"scripts/$testdir/REQUIRES\": \"$_\"");