Opened 2 years ago

Last modified 14 months ago

#20071 new defect

Tor clients need 4 routers when connecting via IPv6, but only 3 using IPv4

Reported by: teor Owned by:
Priority: Low Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Minor Keywords: testing, ipv6, chutney, tiny-network, tor-client, needs-diagnosis
Cc: Actual Points:
Parent ID: #19989 Points: 2
Reviewer: Sponsor:

Description

The minimum number of routers in an IPv4-only Tor network is 3. But when a client is using IPv6, that goes up to 4, with the following log message:

Sep 06 13:27:47.000 [info] new_route_len: Not enough acceptable routers (3/4). Discarding this circuit.

Why is one router considered unacceptable? Is this another instance of #19989? (One of these routers is an exit.)

This can be tested using chuntney's client-ipv6-only network.

Child Tickets

Change History (4)

comment:1 Changed 23 months ago by arma

That log message comes from

  if (num_acceptable_routers < routelen) {
    log_info(LD_CIRC,
             "Not enough acceptable routers (%d/%d). Discarding this circuit.",
             num_acceptable_routers, routelen);
    return -1;
  }

so it would seem that routelen is 4 for this case (rather than "one of the routers is unacceptable").

routelen gets set here:

  routelen = DEFAULT_ROUTE_LEN;
  if (exit_ei &&
      purpose != CIRCUIT_PURPOSE_TESTING &&
      purpose != CIRCUIT_PURPOSE_S_ESTABLISH_INTRO)
    routelen++;

So: are you causing this ipv6 circuit to be called in such a way that you're specifying which exit it should use, and it's not a testing or server-side-establish-intro circuit?

comment:2 Changed 23 months ago by arma

(If you can get me a stack trace for when this log complaint happens, I can try to guess whether it's being called in a reasonable way.)

comment:3 Changed 18 months ago by nickm

Milestone: Tor: unspecified

comment:4 Changed 14 months ago by nickm

Keywords: chutney tiny-network tor-client needs-diagnosis added
Note: See TracTickets for help on using tickets.