When tor receives more than one request for connecting to an onion service within a short amount of time, and these requests are circuit-isolated (by sockauth, or something else), tor will launch multiple connections to an intro point (one for each isolated request). When the first introduction succeeds (intro acks), tor closes any circuits it considers redundant (rend_client_close_other_intros). Tor should only close circuits if the socks request isolation bits match.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
The request: Could somebody replace the "bugfix on 0.3.5.1-alpha" in the changelog with the actual version that first contained this bug? (If a bug first appears in A, and we fix it in B, the changelog should say "bugfix on A".)
The question: Does this apply to v3 onion services too? Should it?
The concern: I don't know if checking the "mixed" flags for equality is what we actually want here. (The flag "ISO_XYZ" is set in isolation_flags_mixed when the circuit have been used to connect streams with two different values for the "XYZ" parameter. Why are we looking at that?)
The request: Could somebody replace the "bugfix on 0.3.5.1-alpha" in the changelog with the actual version that first contained this bug? (If a bug first appears in A, and we fix it in B, the changelog should say "bugfix on A".)
I opened #27761 (moved) to catch bug fix changes files on future releases. But #27761 (moved) might not have caught this changes file, because bugfixes can happen on the most recent release.
I have pushed an updated version which checks the individual isolation flags. However, it requires nested for loops and a goto statement. It is committed already in the same PR (https://github.com/torproject/tor/pull/311).
I have also backed up the previous branch (rejected) branch here: https://github.com/neelchauhan/tor/tree/b26368_old. The reason why I backed it up was because I squash commits is to neaten up my commit history for a patch.