Age | Commit message (Collapse) | Author |
|
Fixes #40874
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Bug found and fixed by @hyunsoo.kim676.
|
|
Close #40824
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Rotate to a new L2 vanguard whenever an existing one loses the
Stable or Fast flag. Previously, we would leave these relays in the
L2 vanguard list but never use them, and if all of our vanguards
end up like this we wouldn't have any middle nodes left to choose
from so we would fail to make onion-related circuits.
Fixes bug 40805; bugfix on 0.4.7.1-alpha.
|
|
Directory authorities now include their AuthDirMaxServersPerAddr
config option in the consensus parameter section of their vote. Now
external tools can better predict how they will behave.
In particular, the value should make its way to the
https://consensus-health.torproject.org/#consensusparams page.
Once enough dir auths vote this param, they should also compute a
consensus value for it in the consensus document. Nothing uses this
consensus value yet, but we could imagine having dir auths consult it
in the future.
Implements ticket 40753.
|
|
Closes #40751.
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
|
|
Closes #40664
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Fixes #40727
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
|
|
We cap our number of CPU worker threads to at least 2 even if we have a
single core. But also, before we used to always add one extra thread
regardless of the number of core.
This meant that we were off when re-using the get_num_cpus() function
when calculating our onionskin work overhead because we were always off
by one.
This commit makes it that we always use the number of thread our actual
thread pool was configured with.
Fixes #40719
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Part of #40712
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Created and Rejected connections are ever going up counters. While
Opened connections are gauges going up and down.
Fixes #40712
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
This change mitigates DNS-based website oracles by making the time that
a domain name is cached uncertain (+- 4 minutes of what's measurable).
Resolves TROVE-2021-009.
Fixes #40674
|
|
This is part of the fast path so we need to cache consensus parameters
instead of querying it everytime we need to learn a value.
Part of #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Until now, there was this magic number (64) used as the maximum number
of tasks a CPU worker can take at once.
This commit makes it a consensus parameter so our future selves can
think of a better value depending on network conditions.
Part of #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Transform the hardcoded value ONIONQUEUE_WAIT_CUTOFF into a consensus
parameter so we can control it network wide.
Closes #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Part of #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
Part of #40708.
|
|
|
|
Part of #40708.
|
|
Part of #40708.
|
|
|
|
This also incidently removes a use of uninitialized stack data from the
connection_or_set_ext_or_identifier() function.
Fixes #40648
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Part of #40708.
|
|
Part of #40708.
|
|
Count slow start separately.
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Adds either ipv4 or ipv6 to the "tor_relay_connections_total" stats.
Closes #40710
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
This change ensures that other parts of the code base always operate on
the same clipped TTL values, notably without being aware of clipping.
|
|
|
|
Fixes #40699
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
At this commit, bytes read and written are exported.
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
After nickm's review, minor changes to names and comments.
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Move the retry from circuit_expire_building() to when the offending
circuit is being closed.
Fixes #40695
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Logic is too convoluted and we can't efficiently apply a specific
timeout depending on the purpose.
Remove it and instead rely on the right circuit cutoff instead of
keeping this flagged circuit open forever.
Part of #40694
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
This can happen if our measurement subsystem decides to snatch it.
Fixes #40696
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|