mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Clear stream-isolation state on rend circs if needed to attach streams
Fixes bug 4655; bugfix on 0.2.3.3-alpha.
This commit is contained in:
parent
7b6b2d5fb8
commit
832bfc3c46
10
changes/bug4655
Normal file
10
changes/bug4655
Normal file
@ -0,0 +1,10 @@
|
||||
o Minor bugfixes:
|
||||
|
||||
- If we can't attach streams to a rendezvous circuit when we
|
||||
finish connecting to a hidden service, clear the rendezvous
|
||||
circuit's stream-isolation state and try to attach streams
|
||||
again. Previously, we cleared rendezvous circuits' isolation
|
||||
state either too early (if they were freshly built) or not at
|
||||
all (if they had been built earlier and were cannibalized).
|
||||
Bugfix on 0.2.3.3-alpha; fixes bug 4655.
|
||||
|
@ -892,10 +892,12 @@ rend_client_receive_rendezvous(origin_circuit_t *circ, const uint8_t *request,
|
||||
|
||||
onion_append_to_cpath(&circ->cpath, hop);
|
||||
circ->build_state->pending_final_cpath = NULL; /* prevent double-free */
|
||||
|
||||
/* XXXX023 This is a pretty brute-force approach. It'd be better to
|
||||
* attach only the connections that are waiting on this circuit, rather
|
||||
* than trying to attach them all. See comments bug 743. */
|
||||
connection_ap_attach_pending();
|
||||
circuit_try_attaching_streams(circ);
|
||||
|
||||
memset(keys, 0, sizeof(keys));
|
||||
return 0;
|
||||
err:
|
||||
|
Loading…
Reference in New Issue
Block a user