mirror repository of the tor core protocol in case of issues
Go to file
Nick Mathewson 20c0581a79 Launch sufficient circuits to satisfy pending isolated streams
Our old "do we need to launch a circuit for stream S" logic was,
more or less, that if we had a pending circuit that could handle S,
we didn't need to launch a new one.

But now that we have streams isolated from one another, we need
something stronger here: It's possible that some pending C can
handle either S1 or S2, but not both.

This patch reuses the existing isolation logic for a simple
solution: when we decide during circuit launching that some pending
C would satisfy stream S1, we "hypothetically" mark C as though S1
had been connected to it.  Now if S2 is incompatible with S1, it
won't be something that can attach to C, and so we'll launch a new
stream.

When the circuit becomes OPEN for the first time (with no streams
attached to it), we reset the circuit's isolation status.  I'm not
too sure about this part: I wanted some way to be sure that, if all
streams that would have used a circuit die before the circuit is
done, the circuit can still get used.  But I worry that this
approach could also lead to us launching too many circuits.  Careful
thought needed here.
2011-07-19 01:58:45 -04:00
changes Implement stream isolation 2011-07-19 01:58:45 -04:00
contrib Bump version to 0.2.3.2-alpha-dev 2011-07-18 17:56:47 -04:00
doc Merge remote-tracking branch 'origin/maint-0.2.2' 2011-07-14 09:51:58 -04:00
src Launch sufficient circuits to satisfy pending isolated streams 2011-07-19 01:58:45 -04:00
.gitignore Merge remote branch 'origin/maint-0.2.2' 2010-11-11 13:59:18 -05:00
acinclude.m4 Fix warnings with new versions of autoconf 2010-10-11 12:36:02 +02:00
autogen.sh Use autoreconf, not autoconf&&automake&&etc in autogen.sh 2010-09-27 11:20:12 -04:00
ChangeLog finish the changelog 2011-07-18 13:39:01 -04:00
configure.in Bump version to 0.2.3.2-alpha-dev 2011-07-18 17:56:47 -04: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 Bump copyright statements to 2011 2011-01-03 11:50:39 -05:00
Makefile.am Merge remote branch 'origin/maint-0.2.2' 2011-01-03 17:25:30 -05:00
README we have two faqs for now 2010-02-22 00:41:48 -05:00
ReleaseNotes put the 0.2.1.30 changes into releasenotes 2011-03-11 17:38:55 -05:00
tor.spec.in Update rpm spec file so that it will build without manual intervention on all rpm-based distributions 2010-09-30 21:48:29 -04: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