tor/src
David Goulet 34eb007d22 Fix: don't report timeout when closing parallel intro points
When closing parallel introduction points, the given reason (timeout)
was actually changed to "no reason" thus when the circuit purpose was
CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT, we were reporting an introduction
point failure and flagging it "unreachable". After three times, that
intro point gets removed from the rend cache object.

In the case of CIRCUIT_PURPOSE_C_INTRODUCING, the intro point was
flagged has "timed out" and thus not used until the connection to the HS
is closed where that flag gets reset.

This commit adds an internal circuit reason called
END_CIRC_REASON_IP_NOW_REDUNDANT which tells the closing circuit
mechanism to not report any intro point failure.

This has been observed while opening hundreds of connections to an HS on
different circuit for each connection. This fix makes this use case to
work like a charm.

Fixes #13698.

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2014-11-10 15:02:54 -05:00
..
common Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4 2014-10-16 09:08:32 -04:00
config Merge remote-tracking branch 'karsten/geoip6-aug2014' into maint-0.2.4 2014-08-13 12:51:38 -04:00
ext Small tweaks to make curve25519-donna32 compile with our warnings 2014-07-15 15:43:40 +02:00
or Fix: don't report timeout when closing parallel intro points 2014-11-10 15:02:54 -05:00
test Fix unittest compilation with --disable-curve25519 2014-03-20 13:53:32 -04:00
tools Merge remote-tracking branch 'public/bug7768' into maint-0.2.4 2013-03-19 15:11:47 -04:00
win32 Whoops, bump the version properly. 2014-10-20 10:29:16 -04:00
include.am Move all externally maintained source files into src/ext 2012-10-11 17:22:03 -04:00