summaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-05-30 16:11:59 -0400
committerNick Mathewson <nickm@torproject.org>2017-08-08 20:29:34 -0400
commit713eb08bc9582b49e8073122fb68c3fac5bae188 (patch)
treefe8544abeb5fc6388798b3f15494023522157824 /src/or/circuituse.c
parent1b403a83821d86ac358e49ae24bd1284ed0dcfab (diff)
downloadtor-713eb08bc9582b49e8073122fb68c3fac5bae188.tar.gz
tor-713eb08bc9582b49e8073122fb68c3fac5bae188.zip
prop224: Add service rendezvous circuit relaunch
This introduces a callback to relaunch a service rendezvous circuit when a previous one failed to build or expired. It unifies the legacy function rend_service_relaunch_rendezvous() with one for specific to prop224. There is now only one entry point for that which is hs_circ_retry_service_rendezvous_point() supporting both legacy and prop224 circuits. Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/circuituse.c')
-rw-r--r--src/or/circuituse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 247c5bbbb0..b19f9ed46f 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -43,6 +43,7 @@
#include "entrynodes.h"
#include "hs_common.h"
#include "hs_client.h"
+#include "hs_circuit.h"
#include "hs_ident.h"
#include "nodelist.h"
#include "networkstatus.h"
@@ -782,7 +783,7 @@ circuit_expire_building(void)
victim->state, circuit_state_to_string(victim->state),
victim->purpose);
TO_ORIGIN_CIRCUIT(victim)->hs_circ_has_timed_out = 1;
- rend_service_relaunch_rendezvous(TO_ORIGIN_CIRCUIT(victim));
+ hs_circ_retry_service_rendezvous_point(TO_ORIGIN_CIRCUIT(victim));
continue;
}
@@ -1790,7 +1791,7 @@ circuit_build_failed(origin_circuit_t *circ)
"(%s hop failed).",
escaped(build_state_get_exit_nickname(circ->build_state)),
failed_at_last_hop?"last":"non-last");
- rend_service_relaunch_rendezvous(circ);
+ hs_circ_retry_service_rendezvous_point(circ);
break;
/* default:
* This won't happen in normal operation, but might happen if the