git://git.exim.org
/
users
/
heiko
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bugzilla 662: Fix stack corruption before exec() in daemon.c.
[users/heiko/exim.git]
/
test
/
runtest
diff --git
a/test/runtest
b/test/runtest
index 472aeaf78f9e45531db33f137c346af598e73ff9..dab23acec4946d23d5f40d6e28c2e39c7b7a8d38 100755
(executable)
--- a/
test/runtest
+++ b/
test/runtest
@@
-1,6
+1,6
@@
#! /usr/bin/perl -w
#! /usr/bin/perl -w
-# $Cambridge: exim/test/runtest,v 1.
25 2007/03/14 12:15:56
ph10 Exp $
+# $Cambridge: exim/test/runtest,v 1.
30 2007/08/30 13:35:29
ph10 Exp $
###############################################################################
# This is the controlling script for the "new" test suite for Exim. It should #
###############################################################################
# This is the controlling script for the "new" test suite for Exim. It should #
@@
-23,7
+23,7
@@
use Socket;
# Start by initializing some global variables
# Start by initializing some global variables
-$testversion = "4.6
7 (15-Jan
-07)";
+$testversion = "4.6
8 (23-Aug
-07)";
$cf = "bin/cf";
$cr = "\r";
$cf = "bin/cf";
$cr = "\r";
@@
-330,7
+330,8
@@
while(<IN>)
s/TlRMTVNTUAACAAAAAAAAAAAoAAABgg[\w+\/]+/TlRMTVNTUAACAAAAAAAAAAAoAAABggAAAEbBRwqFwwIAAAAAAAAAAAAt1sgAAAAA/;
# PRVS values
s/TlRMTVNTUAACAAAAAAAAAAAoAAABgg[\w+\/]+/TlRMTVNTUAACAAAAAAAAAAAoAAABggAAAEbBRwqFwwIAAAAAAAAAAAAt1sgAAAAA/;
# PRVS values
- s?prvs=([^/]+)/[\da-f]{10}@?prvs=$1/xxxxxxxxxx@?g;
+ s?prvs=([^/]+)/[\da-f]{10}@?prvs=$1/xxxxxxxxxx@?g; # Old form
+ s?prvs=[\da-f]{10}=([^@]+)@?prvs=xxxxxxxxxx=$1@?g; # New form
# Error lines on stdout from SSL contain process id values and file names.
# They also contain a source file name and line number, which may vary from
# Error lines on stdout from SSL contain process id values and file names.
# They also contain a source file name and line number, which may vary from
@@
-338,6
+339,9
@@
while(<IN>)
s/^\d+:error:/pppp:error:/;
s/:(?:\/[^\s:]+\/)?([^\/\s]+\.c):\d+:/:$1:dddd:/;
s/^\d+:error:/pppp:error:/;
s/:(?:\/[^\s:]+\/)?([^\/\s]+\.c):\d+:/:$1:dddd:/;
+ # There are differences in error messages between OpenSSL versions
+ s/SSL_CTX_set_cipher_list/SSL_connect/;
+
# One error test in expansions mentions base 62 or 36
s/is not a base (36|62) number/is not a base 36\/62 number/;
# One error test in expansions mentions base 62 or 36
s/is not a base (36|62) number/is not a base 36\/62 number/;
@@
-489,6
+493,12
@@
while(<IN>)
# ======== General uids, gids, and pids ========
# Note: this must come after munges for caller's and exim's uid/gid
# ======== General uids, gids, and pids ========
# Note: this must come after munges for caller's and exim's uid/gid
+ # These are for systems where long int is 64
+ s/\buid=4294967295/uid=-1/;
+ s/\beuid=4294967295/euid=-1/;
+ s/\bgid=4294967295/gid=-1/;
+ s/\begid=4294967295/egid=-1/;
+
s/\bgid=\d+/gid=gggg/;
s/\begid=\d+/egid=gggg/;
s/\bpid=\d+/pid=pppp/;
s/\bgid=\d+/gid=gggg/;
s/\begid=\d+/egid=gggg/;
s/\bpid=\d+/pid=pppp/;
@@
-588,7
+598,7
@@
while(<IN>)
s/([\s,])S=\d+\b/$1S=sss/;
s/:S\d+\b/:Ssss/;
s/^(\s*\d+m\s+)\d+(\s+[a-z0-9-]{16} <)/$1sss$2/i if $is_stdout;
s/([\s,])S=\d+\b/$1S=sss/;
s/:S\d+\b/:Ssss/;
s/^(\s*\d+m\s+)\d+(\s+[a-z0-9-]{16} <)/$1sss$2/i if $is_stdout;
- s/\sSIZE=\d+\b/ SIZE=ssss/
if $is_stderr || $is_stdout
;
+ s/\sSIZE=\d+\b/ SIZE=ssss/;
s/\ssize=\d+\b/ size=sss/ if $is_stderr;
s/old size = \d+\b/old size = sssss/;
s/message size = \d+\b/message size = sss/;
s/\ssize=\d+\b/ size=sss/ if $is_stderr;
s/old size = \d+\b/old size = sssss/;
s/message size = \d+\b/message size = sss/;
@@
-902,7
+912,7
@@
if (! -e $sf)
print "\n";
print "------------ $f -----------\n"
if (defined $rf && -s $rf && defined $rsf && -s $rsf);
print "\n";
print "------------ $f -----------\n"
if (defined $rf && -s $rf && defined $rsf && -s $rsf);
- system("$more
$f
");
+ system("$more
'$f'
");
}
}
}
}
@@
-1016,7
+1026,7
@@
if (-e $sf)
# Do the comparison
# Do the comparison
- return 0 if (system("$cf
$mf $sf
>test-cf") == 0);
+ return 0 if (system("$cf
'$mf' '$sf'
>test-cf") == 0);
# Handle comparison failure
# Handle comparison failure
@@
-1036,7
+1046,7
@@
if (-e $sf)
# Update or delete the saved file, and give the appropriate return code.
if (-s $mf)
# Update or delete the saved file, and give the appropriate return code.
if (-s $mf)
- { tests_exit(-1, "Failed to cp $mf $sf") if system("cp
$mf $sf
") != 0; }
+ { tests_exit(-1, "Failed to cp $mf $sf") if system("cp
'$mf' '$sf'
") != 0; }
else
{ tests_exit(-1, "Failed to unlink $sf") if !unlink($sf); }
else
{ tests_exit(-1, "Failed to unlink $sf") if !unlink($sf); }