teor 3f7f976d48 nodelist: Stop recursing in router_choose_random_node()
Instead, call out to a helper function, repeating the call if needed.

Avoids duplicating exclusions for:
  * the current relay's family, and
  * any exclusions specified by the caller.

Part of 34200.
2020-05-18 21:53:52 +10:00
2020-04-13 17:02:20 -04:00
2020-03-25 10:56:27 -04:00
2020-03-17 21:07:47 +10:00
2019-01-16 12:33:22 -05:00
2020-04-13 17:01:35 -04:00
2018-07-05 11:22:33 +03:00
2018-07-31 19:46:00 -04:00
2020-04-13 17:02:20 -04:00
2018-07-05 11:22:33 +03:00
2019-12-08 22:40:00 -06:00
2018-07-03 16:34:52 +03:00
2020-03-22 13:50:58 +01:00

Tor protects your privacy on the internet by hiding the connection
between your Internet address and the services you use. We believe Tor
is reasonably secure, but please ensure you read the instructions and
configure it properly.

To build Tor from source:
        ./configure && make && make install

To build Tor from a just-cloned git repository:
        sh autogen.sh && ./configure && make && make install

Home page:
        https://www.torproject.org/

Download new versions:
        https://www.torproject.org/download/download.html

Documentation, including links to installation and setup instructions:
        https://www.torproject.org/docs/documentation.html

Making applications work with Tor:
        https://wiki.torproject.org/projects/tor/wiki/doc/TorifyHOWTO

Frequently Asked Questions:
        https://www.torproject.org/docs/faq.html

Release timeline:
         https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CoreTorReleases

To get started working on Tor development:
        See the doc/HACKING directory.
S
Description
No description provided
Readme 96 MiB
Languages
C 94.4%
Python 1.5%
C++ 1.1%
Shell 1.1%
M4 0.9%
Other 0.8%