From 5c03403d88afcde2bb3f543296b0fca6f05c9f2c Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Fri, 20 Sep 2019 10:23:46 +0100 Subject: [PATCH] Testsuite: avoid picking 0.0.0.0 as the HOSTIPV4; permit 10.0/8 apart from 10.250.0/16 Solaris leaves 0.0.0.0 lying around (for not-UP interfaces) The suite only needs testspace under 10.250.0/16 so we can permit the ret, making testing on many NATted 10.0/8 subnets possible. --- test/README | 2 +- test/runtest | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/README b/test/README index c25511313..36cdd6984 100644 --- a/test/README +++ b/test/README @@ -115,7 +115,7 @@ In order to run this test suite, the following requirements must be met: is also an IPv6 address, additional tests are run when the Exim binary contains IPv6 support. There are checks in the scripts for a running IPv4 interface; when one is not found, some tests are skipped (with a warning - message). The local net may not be in 10.0/8 as that is used by the suite. + message). The local net may not be in 10.250.0/16 as that is used by the suite. (9) Exim must be built with TRUSTED_CONFIG_LIST support, so that the test configs can be placed into it. A suitable file location is .../exim/test/trusted_configs diff --git a/test/runtest b/test/runtest index 2427aac6d..a93552b10 100755 --- a/test/runtest +++ b/test/runtest @@ -3399,6 +3399,7 @@ else # Find this host's IP addresses - there may be many, of course, but we keep # one of each type (IPv4 and IPv6). +#XXX it would be good to avoid non-UP interfaces open(IFCONFIG, '-|', (grep { -x "$_/ip" } split /:/, $ENV{PATH}) ? 'ip address' : 'ifconfig -a') or die "** Cannot run 'ip address' or 'ifconfig -a'\n"; @@ -3406,7 +3407,8 @@ while (not ($parm_ipv4 and $parm_ipv6) and defined($_ = )) { if (not $parm_ipv4 and /^\s*inet(?:\saddr)?:?\s?(\d+\.\d+\.\d+\.\d+)(?:\/\d+)?\s/i) { - next if $1 =~ /^(?:127|10)\./; + next if $1 =~ /^(?:127|10\.250)\./; + next if $1 eq '0.0.0.0'; $parm_ipv4 = $1; } -- 2.25.1