summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNigel Metheringham <nigel@exim.org>2011-01-30 15:33:20 +0000
committerNigel Metheringham <nigel@exim.org>2011-01-30 15:33:20 +0000
commit4ad401fb8100d20185c99aa00493e8bb49a53e45 (patch)
tree54881a00e71c2a4d6b1ca81fdc550e7007efdaf7
parent605021fc4f501f97e5ec21db406f6ffde2f68cdd (diff)
parentdaea6332b53f56a0b40fce545e0e242d8d779b17 (diff)
Merge branch 'master' of ssh://git.exim.org/home/git/exim
-rw-r--r--src/src/exim.c2
-rw-r--r--test/README12
-rwxr-xr-xtest/runtest28
3 files changed, 40 insertions, 2 deletions
diff --git a/src/src/exim.c b/src/src/exim.c
index b3035ca7c..cf48c04b3 100644
--- a/src/src/exim.c
+++ b/src/src/exim.c
@@ -1281,7 +1281,7 @@ for (m = macros; m != NULL; m = m->next)
return FALSE;
}
}
-debug_printf("macros_trusted overriden to true by whitelisting\n");
+DEBUG(D_any) debug_printf("macros_trusted overriden to true by whitelisting\n");
return TRUE;
#endif
}
diff --git a/test/README b/test/README
index b93deb4c5..5404488d2 100644
--- a/test/README
+++ b/test/README
@@ -69,6 +69,12 @@ In order to run this test suite, the following requirements must be met:
tracks the two users independently. Using the same user would result
in false positives on some tests.
+ Further, some tests invoke sudo in an environment where there might not be
+ a TTY, so tickets should be global, not per-TTY. Taking this all together
+ and assuming a user of "exim-build", you might have this in sudoers:
+
+ Defaults:exim-build timestamp_timeout=480,!tty_tickets
+
(3) The login under which you run the tests must be in the exim group so that
it has access to logs, spool files, etc. The login should not be one of the
names "userx", "usery", "userz", or a few other simple ones such as "abcd"
@@ -115,6 +121,10 @@ In order to run this test suite, the following requirements must be met:
DIR:EXIM_PATH:AA:ACL:ACLRCPT:ACL_MAIL:ACL_PREDATA:ACL_RCPT:AFFIX:ALLOW:ARG1:ARG2:AUTHF:AUTHS:AUTH_ID_DOMAIN:BAD:BANNER:BB:BR:BRB:CERT:COM:COMMAND_USER:CONNECTCOND:CONTROL:CREQCIP:CREQMAC:CRL:CSS:D6:DATA:DCF:DDF:DEFAULTDWC:DELAY:DETAILS:DRATELIMIT:DYNAMIC_OPTION:ELI:ERROR_DETAILS:ERT:FAKE:FALLBACK:FILTER:FILTER_PREPEND_HOME:FORBID:FORBID_SMTP_CODE:FUSER:HAI:HAP:HARDLIMIT:HEADER_LINE_MAXSIZE:HEADER_MAXSIZE:HELO_MSG:HL:HOSTS:HOSTS_AVOID_TLS:HOSTS_MAX_TRY:HVH:IFACE:IGNORE_QUOTA:INC:INSERT:IP1:IP2:LAST:LDAPSERVERS:LENCHECK:LIMIT:LIST:LOG_SELECTOR:LS:MAXNM:MESSAGE_LOGS:MSIZE:NOTDAEMON:ONCE:ONLY:OPT:OPTION:ORDER:PAH:PEX:PORT:PTBC:QDG:QOLL:QUOTA:QUOTA_FILECOUNT:QWM:RCPT_MSG:REMEMBER:REQUIRE:RETRY:RETRY1:RETRY2:RETURN:RETURN_ERROR_DETAILS:REWRITE:ROUTE_DATA:RRATELIMIT:RT:S:SELECTOR:SELF:SERVER:SERVERS:SREQCIP:SREQMAC:SRV:STD:STRICT:SUB:SUBMISSION_OPTIONS:TIMEOUTDEFER:TIMES:TRUSTED:TRYCLEAR:UL:USE_SENDER:UTF8:VALUE:WMF:X:Y
+(10) Exim must *not* be built with USE_READLINE, as the test-suite's automation
+ assumes the simpler I/O model.
+ Exim must *not* be built with HEADERS_CHARSET set to UTF-8.
+
OPTIONAL EXTRAS
@@ -137,7 +147,7 @@ RUNNING THE TEST SUITE
(3) Run "./configure" and then "make". This builds a few auxiliary programs
that are written in C.
-(4) ls -1 $PWD/confs/* >> your_TRUSTED_CONFIG_LIST_filename
+(4) echo $PWD/test-config >> your_TRUSTED_CONFIG_LIST_filename
(5) Run "./runtest" (a Perl script) as described below.
diff --git a/test/runtest b/test/runtest
index d70b98c64..324049fc0 100755
--- a/test/runtest
+++ b/test/runtest
@@ -299,6 +299,7 @@ $spid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
while(<IN>)
{
+RESET_AFTER_EXTRA_LINE_READ:
# Check for "*** truncated ***"
$yield = 1 if /\*\*\* truncated \*\*\*/;
@@ -737,6 +738,33 @@ while(<IN>)
next if /OpenSSL compile-time version: OpenSSL \d+[\.\da-z]+/;
next if /OpenSSL runtime version: OpenSSL \d+[\.\da-z]+/;
+ # drop lookups
+ next if /^Lookups \(built-in\):/;
+ next if /^Total \d+ lookups/;
+
+ # and the ugly bit
+ # different libraries will have different numbers (possibly 0) of follow-up
+ # lines, indenting with more data
+ if (/^Library version:/) {
+ while (1) {
+ $_ = <IN>;
+ next if /^\s/;
+ goto RESET_AFTER_EXTRA_LINE_READ;
+ }
+ }
+
+ # drop other build-time controls emitted for debugging
+ next if /^WHITELIST_D_MACROS:/;
+ next if /^TRUSTED_CONFIG_LIST:/;
+
+ # As of Exim 4.74, we log when a setgid fails; because we invoke Exim
+ # with -be, privileges will have been dropped, so this will always
+ # be the case
+ next if /^changing group to \d+ failed: Operation not permitted/;
+
+ # We invoke Exim with -D, so we hit this new messag as of Exim 4.73:
+ next if /^macros_trusted overriden to true by whitelisting/;
+
# We have to omit the localhost ::1 address so that all is well in
# the IPv4-only case.