diff options
author | teor <teor@torproject.org> | 2019-04-19 12:00:36 +1000 |
---|---|---|
committer | teor <teor@torproject.org> | 2019-04-19 12:00:36 +1000 |
commit | fa6296df3afb6824f0610aabaef486c4b4b4c82c (patch) | |
tree | ab502776d94e681c49b4aff425cbb355cf7137ae /src/or | |
parent | 2afba291bbfc79198e1cd62382a30168f45db4e5 (diff) | |
parent | cbce8dedd3703424111928d68dfe8920900ce054 (diff) | |
download | tor-fa6296df3afb6824f0610aabaef486c4b4b4c82c.tar.gz tor-fa6296df3afb6824f0610aabaef486c4b4b4c82c.zip |
Merge branch 'maint-0.3.4' into release-0.3.4
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/circuituse.c | 4 | ||||
-rw-r--r-- | src/or/router.c | 11 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c index 8e007ce920..03f2ae52cf 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -1560,10 +1560,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, diff --git a/src/or/router.c b/src/or/router.c index 03959e907d..2f7d8349f9 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -3421,12 +3421,11 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo, "conn-bi-direct", now, &contents) > 0) { smartlist_add(chunks, contents); } - } - - if (options->PaddingStatistics) { - contents = rep_hist_get_padding_count_lines(); - if (contents) - smartlist_add(chunks, contents); + if (options->PaddingStatistics) { + contents = rep_hist_get_padding_count_lines(); + if (contents) + smartlist_add(chunks, contents); + } } /* Add information about the pluggable transports we support. */ |