mirror repository of the tor core protocol in case of issues
Go to file
David Goulet 1125a4876b Reuse intro points that failed but are still valid
There is a case where if the introduction circuit fails but the node is
still in the consensus, we clean up the intro point and choose an other one.
This commit fixes that by trying to reuse the existing intro point with a
maximum value of retry.

A retry_nodes list is added to rend_services_introduce() and when we remove
an invalid intro points that fits the use case mentionned before, we add the
node to the retry list instead of removing it. Then, we retry on them before
creating new ones.

This means that the requirement to remove an intro point changes from "if no
intro circuit" to "if no intro circuit then if no node OR we've reached our
maximum circuit creation count".

For now, the maximum retries is set to 3 which it completely arbitrary. It
should also at some point be tied to the work done on detecting if our
network is down or not.

Fixes #8239

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-07-09 12:02:11 -04:00
changes Add the torrc option HiddenServiceNumIntroductionPoints 2015-06-29 11:12:31 -04:00
contrib Bump version to 0.2.6.9 2015-06-10 15:02:04 +00:00
doc Add the torrc option HiddenServiceNumIntroductionPoints 2015-06-29 11:12:31 -04:00
m4 Add pkg.m4 to use pkgconfig macros 2014-12-23 11:39:48 -05:00
scripts more generic scan-build script 2015-05-29 13:50:05 -04:00
src Reuse intro points that failed but are still valid 2015-07-09 12:02:11 -04:00
.gitignore add test-memwipe to .gitignore 2015-06-17 13:01:39 -04:00
acinclude.m4 Be consistent with capitalization, quoting, and spacing of help strings. 2015-03-15 08:25:36 -04: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 Spell occurred right 2015-06-10 14:09:36 -04:00
configure.ac Add the openssh 6.8p1 readpassphrase implementation 2015-06-17 10:41:22 -04:00
Doxyfile.in Use output variables instead of relative paths. 2015-03-14 13:00:04 -04:00
INSTALL Small fixes for the 2702 implementation 2011-04-02 12:15:08 +02:00
LICENSE Add readpassphrase.c in src/ext 2015-06-17 10:19:40 -04:00
Makefile.am Add call to chutney to coverage-html-full target 2015-03-22 09:43:46 +01:00
Makefile.nmake Clean up the MVSC nmake files so they work again. 2014-09-09 10:27:05 -04:00
README Update verbiage in README to mention autogen.sh 2014-11-04 09:01:46 -05:00
ReleaseNotes Spell occurred right 2015-06-10 14:09:36 -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

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


To get started working on Tor development:
        See the doc/HACKING file.