mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-22 14:23:04 +01:00
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
This commit is contained in:
parent
1a564901e4
commit
615c64efb8
2 changed files with 17 additions and 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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue