tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 3e54c985a25719814c27912ee1c116ecfb5854c1
parent 704540fe461dcd4f72f360334a6f2ab6a5d80e38
Author: Jim Newsome <jnewsome@torproject.org>
Date:   Thu, 14 Nov 2024 18:38:22 -0600

test-network: include IPv6 tests unconditionally

Previously we would incorrectly detect that ipv6 isn't supported if the
ping binary isn't present (as it may not be in a relatively stripped
down container image), or if ICMP packets aren't permitted (as they
often aren't in containers).

We don't really have a need to run these network tests on non-IPv6
systems, so it makes more sense to just run them unconditionally.

Diffstat:
MMakefile.am | 19++++++-------------
Achanges/testing | 3+++
2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/Makefile.am b/Makefile.am @@ -380,10 +380,9 @@ test-network-clean: # # Run the IPv4 tests in $(ipv4_flavors), unconditionally # - tor relays and directory authorities require IPv4. -# Run the IPv6 tests in $(ipv6_flavors), if IPv6 is available -# - only run IPv6 tests if we can ping6 or ping -6 ::1 (localhost) -# we try the syntax for BSD ping6, Linux ping6, and Linux ping -6, -# because they're incompatible +# Run the IPv6 tests in $(ipv6_flavors), unconditionally +# - clients don't technically require IPv6, but it's not worth +# supporting running this test suite on such systems. # - some IPv6 tests may fail without an IPv6 DNS server # (see #16971 and #17011) # Run the mixed tests in $(mixed_flavors), if a tor-stable binary is available @@ -403,20 +402,14 @@ test-network-run: need-chutney-path test-driver $(TESTING_TOR_BINARY) src/tools/ test_network_ipv6=false; \ if test -n "$(ipv6_flavors)" || \ test -n "$(ipv6_mixed_flavors)"; then \ - if ping6 -q -c 1 -o ::1 >/dev/null 2>&1 || \ - ping6 -q -c 1 -W 1 ::1 >/dev/null 2>&1 || \ - ping -6 -c 1 -W 1 ::1 >/dev/null 2>&1; then \ - test_network_ipv6=true; \ - fi; \ + test_network_ipv6=true; \ fi; \ if test -n "$(ipv6_flavors)"; then \ if test "$$test_network_ipv6" = "true"; then \ - echo "ping6 ::1 or ping ::1 succeeded, running IPv6" \ - "flavors: $(ipv6_flavors)."; \ + echo "Running IPv6 flavors: $(ipv6_flavors)."; \ flavors="$$flavors $(ipv6_flavors)"; \ else \ - echo "ping6 ::1 and ping ::1 failed, skipping IPv6" \ - "flavors: $(ipv6_flavors)."; \ + echo "Skipping IPv6 flavors: $(ipv6_flavors)."; \ skip_flavors="$$skip_flavors $(ipv6_flavors)"; \ fi; \ fi; \ diff --git a/changes/testing b/changes/testing @@ -0,0 +1,3 @@ + o Minor feature (testing): + - test-network now unconditionally includes IPv6 instead of trying to + detect IPv6 support.