diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/or/rendclient.c | 11 |
2 files changed, 17 insertions, 0 deletions
@@ -3,6 +3,12 @@ Changes in version 0.2.1.3-alpha - 2008-07-xx - Send a bootstrap problem "warn" event on the first problem if the reason is NO_ROUTE (that is, our network is down). + o Major bugfixes: + - Try to attach connections immediately upon receiving a RENDEZVOUS2 or + RENDEZVOUS_ESTABLISHED cell. This can save a second or two on the + client size when connecting to a hidden service. Bugfix on 0.0.6pre1. + Found and fixed by Christian Wilms; resolves butg 743. + o Minor bugfixes: - Change the contrib/tor.logrotate script so it makes the new logs as "_tor:_tor" rather than the default, which is generally 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); |