Age | Commit message (Collapse) | Author |
|
This was causing CI failures that didn't reproduce on my local machine.
The DoS subsystem now has a new assert() which triggers a BUG on some
nonzero memory contents (or_conn->tracked_for_dos_mitigation), and
uninitialized stack memory might be nonzero.
|
|
This exemption used to be helpful in keeping exit relays from tripping
the DoS detection subsystem and losing Tor connectivity. Now exit relays
block re-entry into the network (tor issue #2667) so it's no longer
needed. We'd like to re-enable protection on these addresses to avoid
giving attackers a way around our DoS mitigations.
|
|
tor only marks a channel as 'open' once the TLS and OR handshakes have both
completed, and normal "client" (ORPort) DoS protection is not enabled until
the channel becomes open. This patch adds an additional earlier initialization
path for DoS protection on incoming TLS connections.
This leaves the existing dos_new_client_conn() call sites intact, but adds a
guard against multiple-initialization using the existing
tracked_for_dos_mitigation flag. Other types of channels shouldn't be affected
by this patch.
|
|
|
|
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
relay: Remove logging for a bug. It triggers a BUG() later
See merge request tpo/core/tor!738
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
hashx: Rust hook for inspecting and modifying the random number stream
See merge request tpo/core/tor!734
|
|
Fix assert crash on relay-side due to on_circuit backpointer
See merge request tpo/core/tor!737
|
|
|
|
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Bug40828
See merge request tpo/core/tor!736
|
|
|
|
|
|
This patch has no effect on the C tor build.
Adds a function hashx_rng_callback() to the hashx API, defined only
when HASHX_RNG_CALLBACK is defined. This is then used in the Rust
wrapper to implement a similar rng_callback().
Included some minimal test cases. This code is intented for
use in cross-compatibility fuzzing tests which drive multiple
implementations of hashx with the same custom Rng stream.
Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
|
|
Include a basic Rust wrapper for Equi-X and HashX
See merge request tpo/core/tor!733
|
|
The idea behind this is that we may want to start exporting more pieces
of c-tor as Rust crates so that Arti can perform cross compatibility and
comparison testing using Rust tooling.
This turns the 'tor' repo into a Cargo workspace, and adds one crate to
start with: "tor-c-equix", rooted in src/ext/equix. This actually
includes both Equi-X itself and HashX, since there's less overall
duplication if we package these together instead of packaging HashX
separately.
This patch adds a basic safe Rust interface, but doesn't expose any
additional internals for testing purposes.
No changes to the C code here or the normal Tor build system.
Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
Close #40824
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Warn when operating as bridge and exit
Closes #40819
See merge request tpo/core/tor!730
|
|
fix non-fatal assertion when rotate_onion_key fails
Closes #40554
See merge request tpo/core/tor!729
|
|
|
|
gitlab-ci: fix apt conf syntax for Acquire::Retries
See merge request tpo/core/tor!705
|
|
Clarify where geoip-db-tool is.
See merge request tpo/core/tor!728
|
|
|
|
Somebody emailed me to ask where to find the tool that generated our
geoip file. I was about to suggest that they search for "geoip-db-tool",
when I found that you can't actually search for that and find our code.
Therefore, I'm adding a link.
|
|
|
|
|
|
|
|
|
|
|