I have a working branch at https://github.com/TvdW/tor/commits/remove-v1v2 and am testing it now (looks good so far). Next step is to see how older clients behave with these patches in place.
Should be. V1 support required sometimes sending certificates, sometimes not. This had to be overridden if we saw V2, to make sure we don't send a chain. Instead of doing all this, we now just do :
We noticed that 0.2.2 clients (maint-0.2.2 branch) could retry failed handshakes after each consensus download, which could potentially turn into each 0.2.2 client attempting to connect to each 0.2.6 server in the network (assuming the network only has 0.2.2 clients and 0.2.6 servers). Maybe bad.
Being a coward, pushing to 0.2.7. We need to figure out the issue with the handful of remaining zombie 0.2.2 clients turning from slow zombies into fast zombies when the network stops supporting them.
Trac: Milestone: Tor: 0.2.6.x-final to Tor: 0.2.7.x-final
I've made a client-only version of this that removes client code to connect to Tor < 0.2.3.6-alpha, as branch ticket11150_client_only. Moving mention of TvdW's work above to another ticket which covers the server side too.
0.1.2 needs a network with v2 authorities, but the testing network didn't have any. More testing would be needed.
0.2.0 connects but doesn't build circuits to the testing network, after some hacking. Must double-check whether behavior is same with un-patched master.
0.2.1 bootstraps nice and happily!
0.2.2 bootstraps nice and happily!
(In all cases, I had to hack these versions up a little to make them actually willing to look at the consensus from a test network and use it.)
0.2.0 connects but doesn't build circuits to the testing network, after some hacking. Must double-check whether behavior is same with un-patched master.
Double-checked. 0.2.0 has the same problem with master on a testing network that it does with the patch on a testing network.
(0.2.0 also doesn't bootstrap on the regular network.)