tor/changes
David Goulet f4f809fe3d hs-v3: Close all SOCKS request on descriptor failure
Client side, when a descriptor is finally fetched and stored in the cache, we
then go over all pending SOCKS request for that descriptor. If it turns out
that the intro points are unusable, we close the first SOCKS request but not
the others for the same .onion.

This commit makes it that we'll close all SOCKS requests so we don't let
hanging the other ones.

It also fixes another bug which is having a SOCKS connection in RENDDESC_WAIT
state but with a descriptor in the cache. At some point, tor will expire the
intro failure cache which will make that descriptor usable again. When
retrying all SOCKS connection (retry_all_socks_conn_waiting_for_desc()), we
won't end up in the code path where we have already the descriptor for a
pending request causing a BUG().

Bottom line is that we should never have pending requests (waiting for a
descriptor) with that descriptor in the cache (even if unusable).

Fixees #27410.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-19 11:11:57 -04:00
..
.dummy Add a .dummy file in the changes directory to stop git from removing it 2015-05-11 11:41:48 -04:00
bug23512 Bug 23512: Changes file. 2018-09-17 22:19:43 +00:00
bug27073 In conditionvar_timeout test, wait for threads to timeout 2018-09-13 20:47:41 -04:00
bug27206 rust/protover: use .and_not_in() instead of .retain() in all_supported() 2018-09-14 15:08:55 +00:00
bug27764 Changes file for 27764 2018-09-18 08:12:46 -04:00
ticket27410 hs-v3: Close all SOCKS request on descriptor failure 2018-09-19 11:11:57 -04:00