Test all combinations of bridges, PTs, proxies to make sure success/failure is properly reported
We have a variety of different ways that you can configure your Tor client at startup:
- with no bridges, with one bridge, with two bridges, with many bridges
- if bridges, bridges with various PTs like obfs4 and snowflake
- with or without a proxy setting
- combinations of the above, like setting both bridges and a proxy
In all of these possible settings, if things work, Tor is supposed to send Tor Browser a controller event indicating success, so Tor Browser can know that things worked and let the user browse.
And if things don't work, Tor is supposed to escalate that failure to Tor Browser also, so Tor Browser can know things aren't working and tell the user, try another config, or whatever it wants to do.
We suspect there are some bugs in Tor where it doesn't reliably report failures in some combinations -- causing Tor Browser to just sit there with its bootstrapping progress bar forever.
As a first step in the saga, we have this ticket, which is: we should work through the matrix of config combinations, and test them for the success case and for the failure case, and see how Tor actually behaves.
Then once we have some surprises, we can open tickets for the surprises and try to get them fixed (likely in core Tor, because we want Tor to behave correctly for all controllers, rather than teach Tor Browser to do workarounds).