mirror repository of the tor core protocol in case of issues
Go to file
Nick Mathewson 0d75344b0e Switch to random allocation on circuitIDs.
Fixes a possible root cause of 11553 by only making 64 attempts at
most to pick a circuitID.  Previously, we would test every possible
circuit ID until we found one or ran out.

This algorithm succeeds probabilistically. As the comment says:

  This potentially causes us to give up early if our circuit ID
  space is nearly full.  If we have N circuit IDs in use, then we
  will reject a new circuit with probability (N / max_range) ^
  MAX_CIRCID_ATTEMPTS.  This means that in practice, a few percent
  of our circuit ID capacity will go unused.

  The alternative here, though, is to do a linear search over the
  whole circuit ID space every time we extend a circuit, which is
  not so great either.

This makes new vs old clients distinguishable, so we should try to
batch it with other patches that do that, like 11438.
2014-04-18 12:58:58 -04:00
changes Switch to random allocation on circuitIDs. 2014-04-18 12:58:58 -04:00
contrib Remove some lingering tsocks cruft. 2013-02-27 19:39:57 -05:00
doc Fix documentation of torrc search order 2014-04-01 20:56:03 -04:00
m4 Use a nicely written autoconf macro to determine the sign of a type 2013-02-07 16:23:48 -05:00
src Switch to random allocation on circuitIDs. 2014-04-18 12:58:58 -04:00
.gitignore Add a new automake dropping ("test-driver") to .gitignore 2013-01-16 01:56:35 -05:00
acinclude.m4 Update the copyright date to 201. 2013-01-16 01:54:56 -05:00
autogen.sh Use a nicely written autoconf macro to determine the sign of a type 2013-02-07 16:23:48 -05:00
ChangeLog rewrite history to improve two changelog entries 2013-10-10 21:17:19 -04:00
configure.ac whoops; mistaek in a496010642. so many comma 2014-02-18 01:15:59 +00:00
Doxyfile.in Fix up all doxygen warnings other than "foo is not documented" 2011-03-16 14:47:27 -04:00
INSTALL Small fixes for the 2702 implementation 2011-04-02 12:15:08 +02:00
LICENSE Update the copyright date to 201. 2013-01-16 01:54:56 -05:00
Makefile.am Use a nicely written autoconf macro to determine the sign of a type 2013-02-07 16:23:48 -05:00
Makefile.nmake Add clean target and test subdir to makefile.nmake 2013-01-16 22:29:38 -05:00
README we have two faqs for now 2010-02-22 00:41:48 -05:00
ReleaseNotes forward-port the 0.2.3.25 changelog and release notes 2012-11-20 03:46:56 -05: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

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

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

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

Making applications work with Tor:
        https://wiki.torproject.org/noreply/TheOnionRouter/TorifyHOWTO

Frequently Asked Questions:
        https://www.torproject.org/faq.html
        https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ