Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
Open sidebar
Alexander Færøy
tor
Commits
04812e59
Commit
04812e59
authored
Nov 20, 2017
by
Nick Mathewson
Browse files
Merge branch 'maint-0.3.2'
parents
2e590bac
e0f7a2db
Pipeline
#14158050
passed with stage
in 9 minutes and 16 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
10 deletions
+13
-10
changes/bug23681
changes/bug23681
+5
-0
src/or/circuituse.c
src/or/circuituse.c
+8
-10
No files found.
changes/bug23681
0 → 100644
View file @
04812e59
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.
src/or/circuituse.c
View file @
04812e59
...
...
@@ -543,8 +543,7 @@ circuit_expire_building(void)
cutoff
=
begindir_cutoff
;
else
if
(
victim
->
purpose
==
CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT
)
cutoff
=
close_cutoff
;
else
if
(
victim
->
purpose
==
CIRCUIT_PURPOSE_C_INTRODUCING
||
victim
->
purpose
==
CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT
)
else
if
(
victim
->
purpose
==
CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT
)
cutoff
=
c_intro_cutoff
;
else
if
(
victim
->
purpose
==
CIRCUIT_PURPOSE_S_ESTABLISH_INTRO
)
cutoff
=
s_intro_cutoff
;
...
...
@@ -661,12 +660,13 @@ circuit_expire_building(void)
TO_ORIGIN_CIRCUIT
(
victim
)
->
path_state
=
PATH_STATE_USE_FAILED
;
break
;
case
CIRCUIT_PURPOSE_C_INTRODUCING
:
/* We keep old introducing circuits around for
* a while in parallel, and they can end up "opened".
* We decide below if we're going to mark them timed
* out and eventually close them.
*/
break
;
/* That purpose means that the intro point circuit has been opened
* succesfully but the INTRODUCE1 cell hasn't been sent yet because
* the client is waiting for the rendezvous point circuit to open.
* Keep this circuit open while waiting for the rendezvous circuit.
* We let the circuit idle timeout take care of cleaning this
* circuit if it never used. */
continue
;
case
CIRCUIT_PURPOSE_C_ESTABLISH_REND
:
case
CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED
:
case
CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT
:
...
...
@@ -757,8 +757,6 @@ circuit_expire_building(void)
NULL
)
break
;
/* 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_REND_READY_INTRO_ACKED
:
/* If we have reached this line, we want to spare the circ for now. */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment