X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/b60b2eea0867313b7d950c1e13bf7067095eb605..3249f1b7dc4893c2b896db3813bc6222d2dc9bef:/test/runtest diff --git a/test/runtest b/test/runtest index e4195b64a..5671fead2 100755 --- a/test/runtest +++ b/test/runtest @@ -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 +2764,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"; @@ -2828,6 +2841,15 @@ while () } } } + + elsif (/^Malware: (.*)/) + { + print; + @temp = split /(\s+)/, $1; + push(@temp, ' '); + %parm_malware = @temp; + } + } close(EXIMINFO); print "-" x 78, "\n"; @@ -3138,6 +3160,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 +3520,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\": \"$_\"");