Merge branch 'maint-0.3.4' into release-0.3.4

This commit is contained in:
teor 2019-04-19 12:00:36 +10:00
commit fa6296df3a
No known key found for this signature in database
GPG Key ID: 10FEAA0E7075672A
7 changed files with 34 additions and 7 deletions

3
changes/bug27199 Normal file
View File

@ -0,0 +1,3 @@
o Minor bugfixes (rust):
- Abort on panic in all build profiles, instead of potentially unwinding
into C code. Fixes bug 27199; bugfix on 0.3.3.1-alpha.

4
changes/bug29017 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes (stats):
- When ExtraInfoStatistics is 0, stop including PaddingStatistics in
relay and bridge extra-info documents. Fixes bug 29017;
bugfix on 0.3.1.1-alpha.

7
changes/bug29665 Normal file
View 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.

View File

@ -2278,7 +2278,7 @@ is non-zero):
extra-info document. (Default: 0) extra-info document. (Default: 0)
[[PaddingStatistics]] **PaddingStatistics** **0**|**1**:: [[PaddingStatistics]] **PaddingStatistics** **0**|**1**::
Relays only. Relays and bridges only.
When this option is enabled, Tor collects statistics for padding cells When this option is enabled, Tor collects statistics for padding cells
sent and received by this relay, in addition to total cell counts. sent and received by this relay, in addition to total cell counts.
These statistics are rounded, and omitted if traffic is low. This These statistics are rounded, and omitted if traffic is low. This

View File

@ -1560,10 +1560,14 @@ 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->p_chan && channel_is_client(or_circ->p_chan) && if (or_circ->p_chan && channel_is_client(or_circ->p_chan) &&
!circ->n_chan && !circ->n_chan &&
!or_circ->n_streams && !or_circ->resolving_streams && !or_circ->n_streams && !or_circ->resolving_streams &&
!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,

View File

@ -3421,12 +3421,11 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo,
"conn-bi-direct", now, &contents) > 0) { "conn-bi-direct", now, &contents) > 0) {
smartlist_add(chunks, contents); smartlist_add(chunks, contents);
} }
} if (options->PaddingStatistics) {
contents = rep_hist_get_padding_count_lines();
if (options->PaddingStatistics) { if (contents)
contents = rep_hist_get_padding_count_lines(); smartlist_add(chunks, contents);
if (contents) }
smartlist_add(chunks, contents);
} }
/* Add information about the pluggable transports we support. */ /* Add information about the pluggable transports we support. */

View File

@ -10,7 +10,17 @@ members = [
"tor_util", "tor_util",
] ]
# Can remove panic="abort" when this issue is fixed:
# https://github.com/rust-lang/rust/issues/52652
[profile.dev]
panic = "abort"
[profile.release] [profile.release]
debug = true debug = true
panic = "abort" panic = "abort"
[profile.test]
panic = "abort"
[profile.bench]
panic = "abort"