Tor should rate limit circuit creation that won't lead to satisfaction
Tested with Tor Browser 10.5a11
and a relay on Tor 0.4.5.7
Steps to reproduce:
- Get the Tor Browser for easier reproducing.
- Set
ExitNodes fingerprint
in your Tor Browser torrc and set only one relay with an Exit flag there. - Open Tor Browser and let it bootstrap.
- Try to access a destination this relays ExitPolicy does not allow for example its own IP address.
- Looks like Tor builds dozens of circuits without being satisfied.
But it gets worse when you set a relay that does not has the exit flag but allows exiting because Tor will massively increase its speed.
You will get hundreds of loglines like this on notice level in no time:
Mar 23 07:45:56.000 [notice] All routers are down or won't exit -- choosing a doomed exit at random.
Mar 23 07:45:56.000 [notice] All routers are down or won't exit -- choosing a doomed exit at random.
Mar 23 07:45:56.000 [notice] All routers are down or won't exit -- choosing a doomed exit at random.
Mar 23 07:45:56.000 [notice] All routers are down or won't exit -- choosing a doomed exit at random.
Mar 23 07:45:56.000 [notice] All routers are down or won't exit -- choosing a doomed exit at random.
Here Tor hammered more than 35 circuits each second on the network until i stopped it.
Maybe Tor should slow down or give up when the circuits he can build with his torrc
will not lead to satisfaction.