summaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
diff options
context:
space:
mode:
authorRobert Ransom <rransom.8774@gmail.com>2011-10-09 20:24:27 -0700
committerRobert Ransom <rransom.8774@gmail.com>2011-10-10 03:05:19 -0700
commit274b25de1258647d00509b4a8e378a2115da066c (patch)
tree700851956e5d48285f0923174f92c95ab143c1b7 /src/or/rendclient.c
parentf37d24c550a0d8512249f77262c01960af6ed31b (diff)
downloadtor-274b25de1258647d00509b4a8e378a2115da066c.tar.gz
tor-274b25de1258647d00509b4a8e378a2115da066c.zip
Don't launch a useless circuit in rend_client_reextend_intro_circuit
Fixes bug 4212. Bug reported by katmagic and found by Sebastian.
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r--src/or/rendclient.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 533dfb8a97..9c247f5c71 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -106,17 +106,11 @@ rend_client_reextend_intro_circuit(origin_circuit_t *circ)
result = circuit_extend_to_new_exit(circ, extend_info);
} else {
log_info(LD_REND,
- "Building a new introduction circuit, this time to %s.",
- safe_str_client(extend_info_describe(extend_info)));
+ "Closing intro circ %d (out of RELAY_EARLY cells).",
+ circ->_base.n_circ_id);
circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_FINISHED);
- if (!circuit_launch_by_extend_info(CIRCUIT_PURPOSE_C_INTRODUCING,
- extend_info,
- CIRCLAUNCH_IS_INTERNAL)) {
- log_warn(LD_REND, "Building introduction circuit failed.");
- result = -1;
- } else {
- result = 0;
- }
+ /* connection_ap_handshake_attach_circuit will launch a new intro circ. */
+ result = 0;
}
extend_info_free(extend_info);
return result;