mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Merge remote-tracking branch 'tor-github/pr/791' into maint-0.4.0
This commit is contained in:
commit
94523bffdc
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.
|
@ -1576,10 +1576,14 @@ circuit_expire_old_circuits_serverside(time_t now)
|
||||
or_circ = TO_OR_CIRCUIT(circ);
|
||||
/* 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.
|
||||
*
|
||||
* 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->p_chan && channel_is_client(or_circ->p_chan) &&
|
||||
!circ->n_chan &&
|
||||
!or_circ->n_streams && !or_circ->resolving_streams &&
|
||||
!or_circ->rend_splice &&
|
||||
channel_when_last_xmit(or_circ->p_chan) <= cutoff) {
|
||||
log_info(LD_CIRC, "Closing circ_id %u (empty %d secs ago)",
|
||||
(unsigned)or_circ->p_circ_id,
|
||||
|
Loading…
Reference in New Issue
Block a user