hs-v3: Don't BUG() if descriptor is found on SOCKS connection retry

When retrying all SOCKS connection because new directory information just
arrived, do not BUG() if a connection in state AP_CONN_STATE_RENDDESC_WAIT is
found to have a usable descriptor.

There is a rare case when this can happen as detailed in #28669 so the right
thing to do is put that connection back in circuit wait state so the
descriptor can be retried.

Fixes #28669

Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
David Goulet
2018-12-04 14:27:46 -05:00
parent 43bd4d7509
commit cec616a0c8
2 changed files with 19 additions and 6 deletions
+6
View File
@@ -0,0 +1,6 @@
o Minor bugfix (hidden service v3, client):
- Avoid a BUG() stacktrace in case a SOCKS connection is found waiting for
the descriptor while we do have it in the cache. There is a rare case
when this can happen. Now, tor will recover and retry the descriptor.
Fixes bug 28669; bugfix on 0.3.2.4-alpha.