mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
Merge remote-tracking branch 'tor-github/pr/765' into maint-0.2.9
This commit is contained in:
commit
90301247fd
5
changes/bug23681
Normal file
5
changes/bug23681
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
o Minor bugfixes (hidden service client):
|
||||||
|
- The introduction circuit was being timed out too quickly while waiting
|
||||||
|
for the rendezvous circuit to complete. Keep the intro circuit around
|
||||||
|
longer instead of timing out and reopening new ones constantly. Fixes
|
||||||
|
bug 23681; bugfix on 0.2.4.8-alpha.
|
@ -494,8 +494,7 @@ circuit_expire_building(void)
|
|||||||
cutoff = begindir_cutoff;
|
cutoff = begindir_cutoff;
|
||||||
else if (victim->purpose == CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT)
|
else if (victim->purpose == CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT)
|
||||||
cutoff = close_cutoff;
|
cutoff = close_cutoff;
|
||||||
else if (victim->purpose == CIRCUIT_PURPOSE_C_INTRODUCING ||
|
else if (victim->purpose == CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT)
|
||||||
victim->purpose == CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT)
|
|
||||||
cutoff = c_intro_cutoff;
|
cutoff = c_intro_cutoff;
|
||||||
else if (victim->purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO)
|
else if (victim->purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO)
|
||||||
cutoff = s_intro_cutoff;
|
cutoff = s_intro_cutoff;
|
||||||
@ -614,12 +613,13 @@ circuit_expire_building(void)
|
|||||||
TO_ORIGIN_CIRCUIT(victim)->path_state = PATH_STATE_USE_FAILED;
|
TO_ORIGIN_CIRCUIT(victim)->path_state = PATH_STATE_USE_FAILED;
|
||||||
break;
|
break;
|
||||||
case CIRCUIT_PURPOSE_C_INTRODUCING:
|
case CIRCUIT_PURPOSE_C_INTRODUCING:
|
||||||
/* We keep old introducing circuits around for
|
/* That purpose means that the intro point circuit has been opened
|
||||||
* a while in parallel, and they can end up "opened".
|
* succesfully but the INTRODUCE1 cell hasn't been sent yet because
|
||||||
* We decide below if we're going to mark them timed
|
* the client is waiting for the rendezvous point circuit to open.
|
||||||
* out and eventually close them.
|
* Keep this circuit open while waiting for the rendezvous circuit.
|
||||||
*/
|
* We let the circuit idle timeout take care of cleaning this
|
||||||
break;
|
* circuit if it never used. */
|
||||||
|
continue;
|
||||||
case CIRCUIT_PURPOSE_C_ESTABLISH_REND:
|
case CIRCUIT_PURPOSE_C_ESTABLISH_REND:
|
||||||
case CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED:
|
case CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED:
|
||||||
case CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT:
|
case CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT:
|
||||||
@ -713,8 +713,6 @@ circuit_expire_building(void)
|
|||||||
NULL)
|
NULL)
|
||||||
break;
|
break;
|
||||||
/* fallthrough! */
|
/* fallthrough! */
|
||||||
case CIRCUIT_PURPOSE_C_INTRODUCING:
|
|
||||||
/* connection_ap_handshake_attach_circuit() will relaunch for us */
|
|
||||||
case CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT:
|
case CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT:
|
||||||
case CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED:
|
case CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED:
|
||||||
/* If we have reached this line, we want to spare the circ for now. */
|
/* If we have reached this line, we want to spare the circ for now. */
|
||||||
|
Loading…
Reference in New Issue
Block a user