Unverified Commit 2460b446 authored by teor's avatar teor
Browse files

Merge remote-tracking branch 'tor-github/pr/792' into maint-0.2.9

parents ec213ae8 add0f89c
Loading
Loading
Loading
Loading

changes/bug29665

0 → 100644
+7 −0
Original line number Diff line number Diff line
  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.
+4 −1
Original line number Diff line number Diff line
@@ -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,