commit 74e87ead493bdbe2ee1dd12f776085858feccc58 Author: teor teor2345@gmail.com Date: Mon Jul 16 15:34:41 2018 +1000
Remove all comment references to obsolete tor versions --- README | 4 ---- lib/chutney/TorNet.py | 9 ++------- networks/basic | 2 -- networks/bridges | 2 -- networks/bridges+hs | 2 -- networks/bridges+hs-v23 | 2 -- networks/bridges+ipv6 | 2 -- networks/bridges+ipv6+hs | 2 -- networks/bridges+ipv6+hs-v23 | 2 -- networks/hs | 2 -- networks/hs-exit-min | 2 -- networks/hs-v3 | 2 -- networks/middle | 2 -- networks/mixed | 2 -- networks/mixed+hs-v2 | 2 -- networks/mixed+hs-v23 | 2 -- networks/mixed+hs-v3 | 2 -- tools/ignore.warnings | 2 +- tools/test-network.sh | 3 --- torrc_templates/authority.i | 11 ----------- 20 files changed, 3 insertions(+), 56 deletions(-)
diff --git a/README b/README index 7df2ef5..d845e6b 100644 --- a/README +++ b/README @@ -105,10 +105,6 @@ Connection Tests: # Run 5 sequential verification rounds CHUTNEY_ROUNDS=5 ./tools/test-network.sh --flavour basic
-Note: If you create 7 or more connections to a hidden service from a single -Tor 0.2.7 client, you'll likely get a verification failure due to #15937. -This is fixed in 0.2.8. - HS Connection Tests: ./chutney configure networks/hs-025 ./chutney start networks/hs-025 diff --git a/lib/chutney/TorNet.py b/lib/chutney/TorNet.py index ceed4ee..91ebb6b 100644 --- a/lib/chutney/TorNet.py +++ b/lib/chutney/TorNet.py @@ -291,8 +291,6 @@ class LocalNodeBuilder(NodeBuilder): tor = self._env['tor'] # find the options the current tor binary supports, and cache them if tor not in _TORRC_OPTIONS: - # Note: some versions of tor (e.g. 0.2.4.23) require - # --list-torrc-options to be the first argument cmdline = [ tor, "--list-torrc-options", @@ -315,9 +313,7 @@ class LocalNodeBuilder(NodeBuilder): else: torrc_opts = _TORRC_OPTIONS[tor] # check if each option is supported before writing it - # TODO: what about unsupported values? - # e.g. tor 0.2.4.23 doesn't support TestingV3AuthInitialVoteDelay 2 - # but later version do. I say throw this one to the user. + # Unsupported option values may need special handling. with open(fn_out, 'w') as f: # we need to do case-insensitive option comparison # even if this is a static whitelist, @@ -728,8 +724,7 @@ DEFAULTS = { 'tor-gencert': os.environ.get('CHUTNEY_TOR_GENCERT', None), 'auth_cert_lifetime': 12, 'ip': os.environ.get('CHUTNEY_LISTEN_ADDRESS', '127.0.0.1'), - # Pre-0.2.8 clients will fail to parse ipv6 auth lines, - # so we default to ipv6_addr None + # we default to ipv6_addr None to support IPv4-only systems 'ipv6_addr': os.environ.get('CHUTNEY_LISTEN_ADDRESS_V6', None), 'dirserver_flags': 'no-v2', 'chutney_dir': get_absolute_chutney_path(), diff --git a/networks/basic b/networks/basic index 703f5fc..2ff8dee 100644 --- a/networks/basic +++ b/networks/basic @@ -3,8 +3,6 @@ Authority = Node(tag="a", authority=1, relay=1, torrc="authority.tmpl") ExitRelay = Node(tag="r", relay=1, exit=1, torrc="relay.tmpl") Client = Node(tag="c", client=1, torrc="client.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 NODES = Authority.getN(3) + ExitRelay.getN(5) + Client.getN(2)
ConfigureNodes(NODES) diff --git a/networks/bridges b/networks/bridges index 2557c0f..c5f6076 100644 --- a/networks/bridges +++ b/networks/bridges @@ -8,8 +8,6 @@ BridgeAuthority = Node(tag="ba", authority=1, bridgeauthority=1, Bridge = Node(tag="br", bridge=1, relay=1, torrc="bridge.tmpl") BridgeClient = Node(tag="bc", client=1, bridgeclient=1, torrc="bridgeclient.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 NODES = Authority.getN(3) + BridgeAuthority.getN(1) + ExitRelay.getN(4) + \ Bridge.getN(1) + Client.getN(1) + BridgeClient.getN(1)
diff --git a/networks/bridges+hs b/networks/bridges+hs index 3d01cfa..f240bcb 100644 --- a/networks/bridges+hs +++ b/networks/bridges+hs @@ -9,8 +9,6 @@ Bridge = Node(tag="br", bridge=1, relay=1, torrc="bridge.tmpl") BridgeClient = Node(tag="bc", client=1, bridgeclient=1, torrc="bridgeclient.tmpl") HS = Node(tag="h", hs=1, torrc="hs.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We need 5 authorities/relays/exits to ensure we can build HS connections NODES = Authority.getN(3) + BridgeAuthority.getN(1) + \ ExitRelay.getN(4) + \ diff --git a/networks/bridges+hs-v23 b/networks/bridges+hs-v23 index e2ac4cd..1afd75e 100644 --- a/networks/bridges+hs-v23 +++ b/networks/bridges+hs-v23 @@ -10,8 +10,6 @@ BridgeClient = Node(tag="bc", client=1, bridgeclient=1, torrc="bridgeclient.tmpl HSv2 = Node(tag="h", hs=1, torrc="hs.tmpl") HSv3 = Node(tag="h", hs=1, torrc="hs-.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We need 5 authorities/relays/exits to ensure we can build HS connections NODES = Authority.getN(3) + BridgeAuthority.getN(1) + \ ExitRelay.getN(4) + \ diff --git a/networks/bridges+ipv6 b/networks/bridges+ipv6 index 92c9e22..4638c82 100644 --- a/networks/bridges+ipv6 +++ b/networks/bridges+ipv6 @@ -9,8 +9,6 @@ Bridge = Node(tag="br", bridge=1, relay=1, torrc="bridge.tmpl") BridgeIPv6 = Node(tag="br", bridge=1, relay=1, ipv6_addr="[::1]", torrc="bridge-v6.tmpl") BridgeClient = Node(tag="bc", client=1, bridgeclient=1, torrc="bridgeclient.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We put the IPv6 bridge first to ensure that clients try IPv6 before IPv4 # Unfortunately, this does not prevent clients falling back to IPv4 # bridges+ipv6-min only has IPv6 bridges diff --git a/networks/bridges+ipv6+hs b/networks/bridges+ipv6+hs index 8cd3d71..16bc6ed 100644 --- a/networks/bridges+ipv6+hs +++ b/networks/bridges+ipv6+hs @@ -10,8 +10,6 @@ BridgeIPv6 = Node(tag="br", bridge=1, relay=1, ipv6_addr="[::1]", torrc="bridge- BridgeClient = Node(tag="bc", client=1, bridgeclient=1, torrc="bridgeclient.tmpl") HS = Node(tag="h", hs=1, torrc="hs.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We need 5 authorities/relays/exits to ensure we can build HS connections # We put the IPv6 bridge first to ensure that clients try IPv6 before IPv4 # Unfortunately, this does not prevent clients falling back to IPv4 diff --git a/networks/bridges+ipv6+hs-v23 b/networks/bridges+ipv6+hs-v23 index 4e60a9a..3147085 100644 --- a/networks/bridges+ipv6+hs-v23 +++ b/networks/bridges+ipv6+hs-v23 @@ -11,8 +11,6 @@ BridgeClient = Node(tag="bc", client=1, bridgeclient=1, torrc="bridgeclient.tmpl HSv2 = Node(tag="h", hs=1, torrc="hs.tmpl") HSv3 = Node(tag="h", hs=1, torrc="hs-v3.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We need 5 authorities/relays/exits to ensure we can build HS connections # We put the IPv6 bridge first to ensure that clients try IPv6 before IPv4 # Unfortunately, this does not prevent clients falling back to IPv4 diff --git a/networks/hs b/networks/hs index b08879e..2e27b76 100644 --- a/networks/hs +++ b/networks/hs @@ -4,8 +4,6 @@ ExitRelay = Node(tag="r", relay=1, exit=1, torrc="relay.tmpl") Client = Node(tag="c", client=1, torrc="client.tmpl") HS = Node(tag="h", hs=1, torrc="hs.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We need 5 authorities/relays/exits to ensure we can build HS connections NODES = Authority.getN(3) + ExitRelay.getN(5) + \ Client.getN(1) + HS.getN(1) diff --git a/networks/hs-exit-min b/networks/hs-exit-min index 609561a..2d94d5b 100644 --- a/networks/hs-exit-min +++ b/networks/hs-exit-min @@ -4,8 +4,6 @@ ExitRelay = Node(tag="r", relay=1, exit=1, torrc="relay.tmpl") Client = Node(tag="c", client=1, torrc="client.tmpl") HS = Node(tag="h", hs=1, torrc="hs.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We need 5 authorities/relays/exits to ensure we can build HS connections NODES = Authority.getN(2) + ExitRelay.getN(3) + \ Client.getN(1) + HS.getN(1) diff --git a/networks/hs-v3 b/networks/hs-v3 index ee440dd..6367c41 100644 --- a/networks/hs-v3 +++ b/networks/hs-v3 @@ -6,8 +6,6 @@ ExitRelay = Node(tag="r", relay=1, exit=1, torrc="relay.tmpl") Client = Node(tag="c", client=1, torrc="client.tmpl") HS = Node(tag="h", hs=1, torrc="hs-v3.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 # We need 5 authorities/relays/exits to ensure we can build HS connections NODES = Authority.getN(3) + ExitRelay.getN(5) + \ Client.getN(1) + HS.getN(1) diff --git a/networks/middle b/networks/middle index 1dc49aa..10a1720 100644 --- a/networks/middle +++ b/networks/middle @@ -4,8 +4,6 @@ NonExitRelay = Node(tag="m", relay=1, torrc="relay-non-exit.tmpl") ExitRelay = Node(tag="r", relay=1, exit=1, torrc="relay.tmpl") Client = Node(tag="c", client=1, torrc="client.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 NODES = Authority.getN(3) + \ NonExitRelay.getN(2) + ExitRelay.getN(3) + \ Client.getN(2) diff --git a/networks/mixed b/networks/mixed index 2c016eb..a0c126e 100644 --- a/networks/mixed +++ b/networks/mixed @@ -9,8 +9,6 @@ OldRelay = Node(tag="rOLD", relay=1, exit=1, torrc="relay.tmpl", Client = Node(tag="c", client=1, torrc="client.tmpl") OldClient = Node(tag="cOLD", client=1, torrc="client.tmpl", tor=OLD_TOR)
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 NODES = Authority.getN(2) + OldAuthority.getN(2) + \ Relay.getN(2) + OldRelay.getN(2) + \ Client.getN(2) + OldClient.getN(2) diff --git a/networks/mixed+hs-v2 b/networks/mixed+hs-v2 index a03d1d8..5d901ed 100644 --- a/networks/mixed+hs-v2 +++ b/networks/mixed+hs-v2 @@ -11,8 +11,6 @@ OldClient = Node(tag="cOLD", client=1, torrc="client.tmpl", tor=OLD_TOR) HSv2 = Node(tag="h", hs=1, torrc="hs.tmpl") OldHSv2 = Node(tag="hOLD", hs=1, torrc="hs.tmpl", tor=OLD_TOR)
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 NODES = Authority.getN(2) + OldAuthority.getN(2) + \ Relay.getN(2) + OldRelay.getN(2) + \ Client.getN(1) + OldClient.getN(1) + \ diff --git a/networks/mixed+hs-v23 b/networks/mixed+hs-v23 index eab43e9..fd180bf 100644 --- a/networks/mixed+hs-v23 +++ b/networks/mixed+hs-v23 @@ -15,8 +15,6 @@ OldHSv2 = Node(tag="hOLD", hs=1, torrc="hs.tmpl", tor=OLD_TOR) # See 23498 #HSv3 = Node(tag="h", hs=1, torrc="hs-v3.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 NODES = Authority.getN(2) + OldAuthority.getN(2) + \ Relay.getN(2) + OldRelay.getN(2) + \ Client.getN(1) + OldClient.getN(1) + \ diff --git a/networks/mixed+hs-v3 b/networks/mixed+hs-v3 index ec9b593..e2e9aa5 100644 --- a/networks/mixed+hs-v3 +++ b/networks/mixed+hs-v3 @@ -11,8 +11,6 @@ OldClient = Node(tag="cOLD", client=1, torrc="client.tmpl", tor=OLD_TOR) # Old tor versions don't have HSv3 support yet HSv3 = Node(tag="h", hs=1, torrc="hs-v3.tmpl")
-# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag -# in 0.2.6 NODES = Authority.getN(2) + OldAuthority.getN(2) + \ Relay.getN(2) + OldRelay.getN(2) + \ Client.getN(1) + OldClient.getN(1) + \ diff --git a/tools/ignore.warnings b/tools/ignore.warnings index 48c7570..d0f4667 100644 --- a/tools/ignore.warnings +++ b/tools/ignore.warnings @@ -24,7 +24,7 @@ Couldn't set up any working nameservers. Network not up yet Currently, sandboxing is only implemented on Linux # We ignore consensus failure warnings Error publishing .* consensus -# Tor 23078, fixed in 0.3.0.11 and 0.3.1.6-rc +# Tor 23078, fixed in 0.3.2 and later Established prop224 intro point on circuit Every hidden service on this tor instance is NON-ANONYMOUS # We ignore consensus failure warnings diff --git a/tools/test-network.sh b/tools/test-network.sh index e893e80..97a7374 100755 --- a/tools/test-network.sh +++ b/tools/test-network.sh @@ -86,9 +86,6 @@ do shift ;; # Make this many simultaneous connections per client (1) - # Note: If you create 7 or more connections to a hidden service from - # a single Tor 0.2.7 client, you'll likely get a verification failure due - # to #15937. This is fixed in 0.2.8. --connections|--connection|--connection-count|--count) export CHUTNEY_CONNECTIONS="$2" shift diff --git a/torrc_templates/authority.i b/torrc_templates/authority.i index 1c7ca45..c2a425f 100644 --- a/torrc_templates/authority.i +++ b/torrc_templates/authority.i @@ -19,14 +19,3 @@ TestingV3AuthInitialDistDelay 2 V3AuthDistDelay 2 # This is autoconfigured by chutney, so you probably don't want to use it #TestingV3AuthVotingStartOffset 0 - -# Work around situations where the Exit, Guard and HSDir flags aren't being set -# These flags are all set eventually, but it takes Guard up to ~30 minutes -# We could be more precise here, but it's easiest just to vote everything -# Clients are sensible enough to filter out Exits without any exit ports, -# and Guards and HSDirs without ORPorts -# If your tor doesn't recognise TestingDirAuthVoteExit/HSDir, -# either update your chutney to a 2015 version, -# or update your tor to a later version, most likely 0.2.6.2-final - -# See common.i in the Comprehensive/Rapid sections for the relevant options