Skip to content

Commit

Permalink
Merge remote-tracking branch 'tor-github/pr/792' into maint-0.2.9
Browse files Browse the repository at this point in the history
  • Loading branch information
teor2345 committed Apr 19, 2019
2 parents ec213ae + add0f89 commit 2460b44
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
7 changes: 7 additions & 0 deletions changes/bug29665
Original file line number Diff line number Diff line change
@@ -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.
5 changes: 4 additions & 1 deletion src/or/circuituse.c
Original file line number Diff line number Diff line change
Expand Up @@ -1379,10 +1379,13 @@ 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->is_first_hop && !circ->n_chan &&
!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) {
log_info(LD_CIRC, "Closing circ_id %u (empty %d secs ago)",
(unsigned)or_circ->p_circ_id,
Expand Down

0 comments on commit 2460b44

Please sign in to comment.