On 5 Mar 2019, at 02:24, Neel Chauhan neel@neelc.org wrote:
Hi tor-dev@ mailing list,
I have Proposal 299, also known as "Preferring IPv4 or IPv6 based on IP Version Failure Count" which makes ClientAutoIPv6ORPort take into account IPv4 and IPv6 failures.
An older version of this document is available here: https://gitweb.torproject.org/torspec.git/tree/proposals/299-ip-failure-coun...
I have attached an updated copy of this proposal to this message. This includes the changes recommended by teor at https://lists.torproject.org/pipermail/tor-dev/2019-February/013673.html.
Would someone be able to update torspec to include the updated (and attached) proposal?
Sure. We usually do torspec changes using GitHub pull requests. Can you open a pull request on https://github.com/torproject/torspec ? Then link to the pull request from #27491 or in an email reply.
Also, if any of you have opinions on this proposal, please share them with me.
Just so you know:
Tor Browser is going to test the #27940 version of ClientAutoIPv6ORPort in their alpha series, as a potential fix for IPv6 failures: https://trac.torproject.org/projects/tor/ticket/29641#comment:4
I expect that #27940 will trigger some bugs in the guard code, because all connections for an entire IP version will fail. Then we can teach the guard code to ignore those kinds of failures.
But that will mean that Tor Browser is depending on ClientAutoIPv6ORPort. So we will also need to add a new option to activate the code for this proposal. (Otherwise, we won't know if this proposal is better or worse!)
Here's one way we could do that:
Add a new option ClientAutoIPv6ORPortStrategy, which takes some flags. When no flags are set (the default), we use the original ClientAutoIPv6ORPort. Then we add a flag for this proposal: - TrackFailures
Then other tickets can use other flags: - CheckLocalAddresses for #27492 Try IPv4 or IPv6 more often based on public or private IP addresses - CheckConsensus for #27647 When randomly choosing IPv4 or IPv6, set IPv6 probability based on IPv6 weight
What do you think? Would you like to make these changes to this proposal?
T