mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Merge remote-tracking branch 'tor-github/pr/1464' into maint-0.3.5
This commit is contained in:
commit
501b5174d8
6
changes/ticket28970
Normal file
6
changes/ticket28970
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor bugfixes (clietn, hidden service v3):
|
||||
- Fix a BUG() assertion that occurs within a very small race window between
|
||||
a client intro circuit opens and its descriptor that gets cleaned up from
|
||||
the cache. The circuit is now closed which will trigger a re-fetch of the
|
||||
descriptor and continue the HS connection. Fixes bug 28970; bugfix on
|
||||
0.3.2.1-alpha.
|
@ -672,8 +672,12 @@ setup_intro_circ_auth_key(origin_circuit_t *circ)
|
||||
tor_assert(circ);
|
||||
|
||||
desc = hs_cache_lookup_as_client(&circ->hs_ident->identity_pk);
|
||||
if (BUG(desc == NULL)) {
|
||||
/* Opening intro circuit without the descriptor is no good... */
|
||||
if (desc == NULL) {
|
||||
/* There is a very small race window between the opening of this circuit
|
||||
* and the client descriptor cache that gets purged (NEWNYM) or the
|
||||
* cleaned up because it expired. Mark the circuit for close so a new
|
||||
* descriptor fetch can occur. */
|
||||
circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_INTERNAL);
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user