diff options
author | Nick Mathewson <nickm@torproject.org> | 2008-07-06 18:34:45 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2008-07-06 18:34:45 +0000 |
commit | 615c64efb851d8272069701c1bee3ef2bdca3e81 (patch) | |
tree | 6d2c3989b5cafc66d5a3e81937d8adcfef8e2211 /src | |
parent | 1a564901e41adc0e3b6dc9c5beb0dd4fec734331 (diff) | |
download | tor-615c64efb851d8272069701c1bee3ef2bdca3e81.tar.gz tor-615c64efb851d8272069701c1bee3ef2bdca3e81.zip |
Apply fix from chrisw: call connection_ap_attach_pending when we get a rendezvous2 or rendezvous_established call. This is a bit brute-foce, but it is better than we had before, and might not even show up on profiles. Backport candidate, once tested.
svn:r15699
Diffstat (limited to 'src')
-rw-r--r-- | src/or/rendclient.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c index b5eed4bca8..91bb36bb2c 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -543,6 +543,12 @@ rend_client_rendezvous_acked(origin_circuit_t *circ, const char *request, log_info(LD_REND,"Got rendezvous ack. This circuit is now ready for " "rendezvous."); circ->_base.purpose = CIRCUIT_PURPOSE_C_REND_READY; + /*XXXX021 This is a pretty brute approach. It'd be better to + * attach only the connections that are waiting on this circuit, rather + * than trying to attach them all. */ + /* If we already have the introduction circuit, built make sure we send + * the INTRODUCE cell _now_ */ + connection_ap_attach_pending(); return 0; } @@ -605,6 +611,11 @@ rend_client_receive_rendezvous(origin_circuit_t *circ, const char *request, onion_append_to_cpath(&circ->cpath, hop); circ->build_state->pending_final_cpath = NULL; /* prevent double-free */ + /*XXXX021 This is a pretty brute approach. It'd be better to + * attach only the connections that are waiting on this circuit, rather + * than trying to attach them all. */ + /* */ + connection_ap_attach_pending(); return 0; err: circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_TORPROTOCOL); |