mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
Merge remote-tracking branch 'tor-github/pr/792' into maint-0.2.9
This commit is contained in:
commit
2460b4461f
7
changes/bug29665
Normal file
7
changes/bug29665
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
o Minor bugfixes (single onion services):
|
||||||
|
- Allow connections to single onion services to remain idle without
|
||||||
|
being disconnected. Relays acting as rendezvous points for
|
||||||
|
single onion services were mistakenly closing idle established
|
||||||
|
rendezvous circuits after 60 seconds, thinking that they are unused
|
||||||
|
directory-fetching circuits that had served their purpose. Fixes
|
||||||
|
bug 29665; bugfix on 0.2.1.26.
|
@ -1379,10 +1379,13 @@ circuit_expire_old_circuits_serverside(time_t now)
|
|||||||
or_circ = TO_OR_CIRCUIT(circ);
|
or_circ = TO_OR_CIRCUIT(circ);
|
||||||
/* If the circuit has been idle for too long, and there are no streams
|
/* If the circuit has been idle for too long, and there are no streams
|
||||||
* on it, and it ends here, and it used a create_fast, mark it for close.
|
* on it, and it ends here, and it used a create_fast, mark it for close.
|
||||||
|
*
|
||||||
|
* Also if there is a rend_splice on it, it's a single onion service
|
||||||
|
* circuit and we should not close it.
|
||||||
*/
|
*/
|
||||||
if (or_circ->is_first_hop && !circ->n_chan &&
|
if (or_circ->is_first_hop && !circ->n_chan &&
|
||||||
!or_circ->n_streams && !or_circ->resolving_streams &&
|
!or_circ->n_streams && !or_circ->resolving_streams &&
|
||||||
or_circ->p_chan &&
|
or_circ->p_chan && !or_circ->rend_splice &&
|
||||||
channel_when_last_xmit(or_circ->p_chan) <= cutoff) {
|
channel_when_last_xmit(or_circ->p_chan) <= cutoff) {
|
||||||
log_info(LD_CIRC, "Closing circ_id %u (empty %d secs ago)",
|
log_info(LD_CIRC, "Closing circ_id %u (empty %d secs ago)",
|
||||||
(unsigned)or_circ->p_circ_id,
|
(unsigned)or_circ->p_circ_id,
|
||||||
|
Loading…
Reference in New Issue
Block a user