mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 20:33:31 +01:00
fa6d5dd268
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>
6 lines
305 B
Plaintext
6 lines
305 B
Plaintext
o Minor bugfixes (hidden service v3):
|
|
- Close all SOCKS request (for the same .onion) if the newly fetched
|
|
descriptor is unusable. Before that, we would close only the first one
|
|
leaving the other hanging and let to time out by themselves. Fixes bug
|
|
27410; bugfix on 0.3.2.1-alpha.
|