]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
2 years agoversion: Bump version to 0.4.8.5-dev
Tor CI Release [Wed, 30 Aug 2023 13:06:46 +0000 (13:06 +0000)] 
version: Bump version to 0.4.8.5-dev

2 years agoversion: Bump version to 0.4.8.5
Tor CI Release [Wed, 30 Aug 2023 12:44:19 +0000 (12:44 +0000)] 
version: Bump version to 0.4.8.5

2 years agofallbackdir: Update list generated on August 30, 2023
Tor CI Release [Wed, 30 Aug 2023 12:43:28 +0000 (12:43 +0000)] 
fallbackdir: Update list generated on August 30, 2023

2 years agoUpdate geoip files to match ipfire location db, 2023/08/30.
Tor CI Release [Wed, 30 Aug 2023 12:42:49 +0000 (12:42 +0000)] 
Update geoip files to match ipfire location db, 2023/08/30.

2 years agoscript: Attempt to fix geoip script
David Goulet [Wed, 30 Aug 2023 12:40:44 +0000 (08:40 -0400)] 
script: Attempt to fix geoip script

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'tor-gitlab/mr/750' into maint-0.4.8
David Goulet [Mon, 28 Aug 2023 18:08:39 +0000 (14:08 -0400)] 
Merge branch 'tor-gitlab/mr/750' into maint-0.4.8

2 years agoChanges files for 40843 and 40844 (NetBSD portability)
Micah Elizabeth Scott [Fri, 25 Aug 2023 18:15:33 +0000 (11:15 -0700)] 
Changes files for 40843 and 40844 (NetBSD portability)

2 years agoequix: Disable huge page support by default
Micah Elizabeth Scott [Fri, 25 Aug 2023 17:51:40 +0000 (10:51 -0700)] 
equix: Disable huge page support by default

Equi-X supports optionally allocating its solver memory using huge
pages, to reduce the virtual memory subsystem overhead required to make
the entire solver buffer live.

Tor doesn't use this feature, since it seems to have no noticeable
performance benefit at this time, but we still included code for it at
compile time. To improve portability, this patch disables huge page
support by default and enables it only in the cmake build system used
for equix benchmarks.

With this patch equix-bench still supports huge pages. Verified using
strace that we're making the hugepage allocation.

There's no fallback for huge pages, so Equi-X initialization will fail
if they are requested and we don't support them for any runtime or
compile-time reason.

Addresses #40843 (NetBSD) but also prevents future porting issues
related to huge pages.

2 years agohashx: Fix compiled hash function on NetBSD
Micah Elizabeth Scott [Fri, 25 Aug 2023 17:31:33 +0000 (10:31 -0700)] 
hashx: Fix compiled hash function on NetBSD

NetBSD includes the idea of a 'maximum protection' per-region,
and an mprotect which exceeds the max protection will be denied.

If we explicitly ask for a maximum which includes execute permission, we
can successfully swap our code buffer's permissions between read-write
and read-execute when each hash program is compiled.

With this patch, the crypto/hashx tests pass on NetBSD 9.
This addresses bug #40844

2 years agohashx: Avoid unused arg warning on OpenBSD and NetBSD
Micah Elizabeth Scott [Fri, 25 Aug 2023 17:18:44 +0000 (10:18 -0700)] 
hashx: Avoid unused arg warning on OpenBSD and NetBSD

This path in hashx_vm_alloc_huge() for OpenBSD and NetBSD always
fails without checking its parameter. Fix the warning.

2 years agoequix: Add NetBSD to "huge pages not supported" path
Micah Elizabeth Scott [Fri, 25 Aug 2023 17:08:41 +0000 (10:08 -0700)] 
equix: Add NetBSD to "huge pages not supported" path

As suggested by @wiz on #40843, let's add an explicit check to
hashx_vm_alloc_huge() that avoids using a Linux-style default
on NetBSD targets.

This doesn't change the questionable Linux-style default,
but a future patch will disable this code by default so it's not a
portability liability.

(This code is in hashx's VM layer but it's actually only relevant to
equix.)

This addresses bug #40843. Another patch will disable huge pages
by default entirely, but this patch is sufficient to fix the NetBSD
build.

2 years agoChanges file for bug40842
Mike Perry [Mon, 28 Aug 2023 13:50:44 +0000 (13:50 +0000)] 
Changes file for bug40842

2 years agoBug #40842: Additional diagnostics
Mike Perry [Fri, 25 Aug 2023 22:43:14 +0000 (22:43 +0000)] 
Bug #40842: Additional diagnostics

Just in case there are other instances hiding in the maze.

2 years agoBug #40842: Don't send on sets that are being torn down
Mike Perry [Fri, 25 Aug 2023 22:42:18 +0000 (22:42 +0000)] 
Bug #40842: Don't send on sets that are being torn down

2 years agoMerge branch 'tor-gitlab/mr/748' into maint-0.4.8
David Goulet [Fri, 25 Aug 2023 16:56:42 +0000 (12:56 -0400)] 
Merge branch 'tor-gitlab/mr/748' into maint-0.4.8

2 years agofix lint clippy::arc_with_non_send_sync
trinity-1686a [Fri, 25 Aug 2023 08:30:03 +0000 (10:30 +0200)] 
fix lint clippy::arc_with_non_send_sync

2 years agoChanges file for bug40841
Mike Perry [Fri, 25 Aug 2023 16:27:45 +0000 (16:27 +0000)] 
Changes file for bug40841

2 years agoBug #40841: Demote extra legs to protocol warn.
Mike Perry [Thu, 24 Aug 2023 21:21:05 +0000 (21:21 +0000)] 
Bug #40841: Demote extra legs to protocol warn.

Also add more info to leg dump.

2 years agodoxygen: Typo fix in relay.c comment
David Goulet [Wed, 23 Aug 2023 21:02:13 +0000 (17:02 -0400)] 
doxygen: Typo fix in relay.c comment

HTML in comment, what a bad idea...

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agotypo: Fix a doxygen html unclosed tag
David Goulet [Wed, 23 Aug 2023 20:41:36 +0000 (16:41 -0400)] 
typo: Fix a doxygen html unclosed tag

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'maint-0.4.7' into maint-0.4.8
David Goulet [Wed, 23 Aug 2023 16:50:05 +0000 (12:50 -0400)] 
Merge branch 'maint-0.4.7' into maint-0.4.8

2 years agoci: Exclude yet another failing Stem test
David Goulet [Wed, 23 Aug 2023 16:49:53 +0000 (12:49 -0400)] 
ci: Exclude yet another failing Stem test

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'maint-0.4.7' into maint-0.4.8
David Goulet [Wed, 23 Aug 2023 16:33:28 +0000 (12:33 -0400)] 
Merge branch 'maint-0.4.7' into maint-0.4.8

2 years agoci: Missing stem cmdline flag in previous commit
David Goulet [Wed, 23 Aug 2023 16:33:23 +0000 (12:33 -0400)] 
ci: Missing stem cmdline flag in previous commit

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'maint-0.4.7' into maint-0.4.8
David Goulet [Wed, 23 Aug 2023 15:34:02 +0000 (11:34 -0400)] 
Merge branch 'maint-0.4.7' into maint-0.4.8

2 years agoci: Exclude broken Stem tests
David Goulet [Wed, 23 Aug 2023 15:33:43 +0000 (11:33 -0400)] 
ci: Exclude broken Stem tests

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoci: Exclude broken Stem tests
David Goulet [Wed, 23 Aug 2023 15:33:43 +0000 (11:33 -0400)] 
ci: Exclude broken Stem tests

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoscripts: Add 048 maint branch to our helper scripts
David Goulet [Wed, 23 Aug 2023 15:06:16 +0000 (11:06 -0400)] 
scripts: Add 048 maint branch to our helper scripts

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoversion: Bump version to 0.4.8.4 tor-0.4.8.4
Tor CI Release [Wed, 23 Aug 2023 13:13:19 +0000 (13:13 +0000)] 
version: Bump version to 0.4.8.4

2 years agoChangeLog and ReleaseNotes for 0.4.8.4 stable
David Goulet [Wed, 23 Aug 2023 14:12:54 +0000 (10:12 -0400)] 
ChangeLog and ReleaseNotes for 0.4.8.4 stable

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agofallbackdir: Update list generated on August 23, 2023
Tor CI Release [Wed, 23 Aug 2023 13:09:57 +0000 (13:09 +0000)] 
fallbackdir: Update list generated on August 23, 2023

2 years agoUpdate geoip files to match ipfire location db, 2023/08/23.
Tor CI Release [Wed, 23 Aug 2023 13:08:34 +0000 (13:08 +0000)] 
Update geoip files to match ipfire location db, 2023/08/23.

2 years agoFix compilation errors for FreeBSD
David Goulet [Tue, 22 Aug 2023 17:37:25 +0000 (13:37 -0400)] 
Fix compilation errors for FreeBSD

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agochanges: Add changes file for ticket 40833
David Goulet [Tue, 22 Aug 2023 17:25:34 +0000 (13:25 -0400)] 
changes: Add changes file for ticket 40833

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge remote-tracking branch 'mbeth-private/ticket40833_mr'
David Goulet [Tue, 22 Aug 2023 17:24:00 +0000 (13:24 -0400)] 
Merge remote-tracking branch 'mbeth-private/ticket40833_mr'

2 years agochanges: Add changes file for ticket 40821
David Goulet [Tue, 22 Aug 2023 17:11:37 +0000 (13:11 -0400)] 
changes: Add changes file for ticket 40821

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge remote-tracking branch 'mbeth-private/ticket40821_mr'
David Goulet [Tue, 22 Aug 2023 17:09:54 +0000 (13:09 -0400)] 
Merge remote-tracking branch 'mbeth-private/ticket40821_mr'

2 years agoMerge branch 'rust_ci' into 'main'
David Goulet [Tue, 15 Aug 2023 17:13:11 +0000 (17:13 +0000)] 
Merge branch 'rust_ci' into 'main'

Rust and CI fixes

See merge request tpo/core/tor!742

2 years agoCI: Diagnostic for failure in test_rebind cleanup
Micah Elizabeth Scott [Mon, 14 Aug 2023 21:53:52 +0000 (14:53 -0700)] 
CI: Diagnostic for failure in test_rebind cleanup

I saw this test fail intermittently due to what seemed like a filesystem
race in docker? The cleanup task was failing with a 'directory not
empty' error, despite trying to do a recursive 'rm'. This patch adds an
'ls' to the same directory, hoping the output might be useful to
diagnose future intermittent failures.

2 years agoCI: Add Rust tests and clippy
Micah Elizabeth Scott [Mon, 14 Aug 2023 20:13:36 +0000 (13:13 -0700)] 
CI: Add Rust tests and clippy

This adds a new "rust-latest" CI target that runs tests and clippy for
everything in the workspace. It's a subset of the equivalent on Arti.

2 years agocargo: Move lockfile to root and update
Micah Elizabeth Scott [Mon, 14 Aug 2023 20:24:41 +0000 (13:24 -0700)] 
cargo: Move lockfile to root and update

Change 3f66ff9b000d1fbaae106e58269fe2aa306bc453 added geoip-db-tool to
the main workspace, so it's no longer using a local lockfile. Move its
lock to the crate root, remove from gitignore, and update it.

(We could also choose to not keep the lockfiles checked in, but it seems
useful to have them in our test and maintenance tooling here.)

2 years agotor-c-equix: Fix clippy warning
Micah Elizabeth Scott [Mon, 14 Aug 2023 20:12:06 +0000 (13:12 -0700)] 
tor-c-equix: Fix clippy warning

Clippy found a transmute that could have been a reborrow.

2 years agogeoip-db-tool: Fix clippy warnings
Micah Elizabeth Scott [Mon, 14 Aug 2023 20:04:51 +0000 (13:04 -0700)] 
geoip-db-tool: Fix clippy warnings

This fixes warnings found by clippy 0.1.71 on Rust 1.71.1

Tested this by doing a geoip update without committing changes.

2 years agoMerge branch 'maint-0.4.7'
David Goulet [Tue, 15 Aug 2023 16:39:33 +0000 (12:39 -0400)] 
Merge branch 'maint-0.4.7'

2 years agoMerge branch 'bug40834' into 'main'
David Goulet [Tue, 15 Aug 2023 15:29:46 +0000 (15:29 +0000)] 
Merge branch 'bug40834' into 'main'

Revert "Nullify on_circuit if last conflux leg"

See merge request tpo/core/tor!744

2 years agoChanges file for bug40834
Mike Perry [Tue, 15 Aug 2023 15:09:04 +0000 (15:09 +0000)] 
Changes file for bug40834

2 years agoBug 40834: Remove assert and add logs to track no-leg case
Mike Perry [Tue, 15 Aug 2023 15:04:38 +0000 (15:04 +0000)] 
Bug 40834: Remove assert and add logs to track no-leg case

2 years agoRevert "Nullify on_circuit if last conflux leg"
Mike Perry [Tue, 15 Aug 2023 14:53:17 +0000 (14:53 +0000)] 
Revert "Nullify on_circuit if last conflux leg"

This reverts commit 5487476fd919703b55cb1f1544d575224c9b685e.

2 years agoMerge branch 'main' into 'main'
David Goulet [Mon, 14 Aug 2023 15:09:09 +0000 (15:09 +0000)] 
Merge branch 'main' into 'main'

Clean up torify

See merge request tpo/core/tor!740

2 years agozstd: Check errors right affer compressing/decompressing
David Goulet [Mon, 14 Aug 2023 15:03:47 +0000 (11:03 -0400)] 
zstd: Check errors right affer compressing/decompressing

Considering a compression bomb before looking for errors led to false negative
log warnings. Instead, it is possible the work failed for whatever reasons
which is not indicative of a compression bomb.

Fixes #40739

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'hashx_sizet_mr' into 'main'
David Goulet [Mon, 14 Aug 2023 13:00:46 +0000 (13:00 +0000)] 
Merge branch 'hashx_sizet_mr' into 'main'

hashx: Fix a few more compiler warnings

See merge request tpo/core/tor!739

2 years agotest_dos: Fixes for uninitialized stack memory
Micah Elizabeth Scott [Sat, 12 Aug 2023 01:05:07 +0000 (18:05 -0700)] 
test_dos: Fixes for uninitialized stack memory

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.

2 years agoExtend DoS protection to IP addresses with known relays
Micah Elizabeth Scott [Fri, 11 Aug 2023 23:32:22 +0000 (16:32 -0700)] 
Extend DoS protection to IP addresses with known relays

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.

2 years agohashx: Fix rare compiler output overflow on aarch64
Micah Elizabeth Scott [Fri, 11 Aug 2023 21:34:05 +0000 (14:34 -0700)] 
hashx: Fix rare compiler output overflow on aarch64

This is a fix for a very rare buffer overflow in hashx, specific to the
dynamic compiler on aarch64 platforms.

In practice this issue is extremely unlikely to hit randomly, and it's
only been seen in unit tests that supply unusual mock PRNG output to the
program generator. My best attempt at estimating the probability of
hitting the overflow randomly is about 10^-23. Crafting an input with
the intent to overflow can be done only as fast as an exhaustive search,
so long as Blake2B is unbroken.

The root cause is that hashx writes assembly code without any length
checks, and it uses an estimated size rather than an absolute maximum
size to allocate the buffer for compiled code. Some instructions are
much longer than others, especially on aarch64.

The length of the overflow is nearly 300 bytes in the worst synthetic
test cases I've developed so far. Overflow occurs during hashx_make(),
and the subsequent hashx_exec() will always SIGSEGV as the written code
crosses outside the region that's been marked executable. In typical use,
hashx_exec() is called immediately after hashx_make().

This fix increases the buffer size from 1 page to 2 pages on aarch64,
adds an analysis of the compiled code size, and adds runtime checks so we
can gracefully fail on overflow. It also adds a unit test (written in
Rust) that includes a PRNG sequence exercising the overflow. Without
this patch the unit test shows a SIGSEGV on aarch64, with this patch it
runs successfully and matches interpreter output.

Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
2 years agoExtend DoS protection to partially-open channels
Micah Elizabeth Scott [Thu, 10 Aug 2023 01:07:34 +0000 (18:07 -0700)] 
Extend DoS protection to partially-open channels

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.

2 years agoClean up torify
наб [Tue, 8 Aug 2023 22:28:59 +0000 (00:28 +0200)] 
Clean up torify

Replace pathfind() which tries to parse $PATH manually with command -v.

exec is always fatal, regardless of if it managed to execute.

2 years agohashx: Fix a few more compiler warnings
Micah Elizabeth Scott [Mon, 7 Aug 2023 23:19:41 +0000 (16:19 -0700)] 
hashx: Fix a few more compiler warnings

Fix a couple cases where size_t values were being confused with int.

Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
2 years agoversion: Bump version to 0.4.8.3-rc-dev
Tor CI Release [Fri, 4 Aug 2023 14:20:14 +0000 (14:20 +0000)] 
version: Bump version to 0.4.8.3-rc-dev

2 years agoversion: Bump version to 0.4.8.3-rc tor-0.4.8.3-rc
Tor CI Release [Fri, 4 Aug 2023 14:06:18 +0000 (14:06 +0000)] 
version: Bump version to 0.4.8.3-rc

2 years agorelease: ChangeLog update for 0.4.8.3-rc
David Goulet [Fri, 4 Aug 2023 14:11:44 +0000 (10:11 -0400)] 
release: ChangeLog update for 0.4.8.3-rc

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agofallbackdir: Update list generated on August 04, 2023
Tor CI Release [Fri, 4 Aug 2023 13:52:18 +0000 (13:52 +0000)] 
fallbackdir: Update list generated on August 04, 2023

2 years agoUpdate geoip files to match ipfire location db, 2023/08/04.
Tor CI Release [Fri, 4 Aug 2023 14:05:31 +0000 (14:05 +0000)] 
Update geoip files to match ipfire location db, 2023/08/04.

2 years agogeoip: Fix cargo target directory
David Goulet [Fri, 4 Aug 2023 14:04:36 +0000 (10:04 -0400)] 
geoip: Fix cargo target directory

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agocargo: Add geoip db tool to top level workspace
David Goulet [Fri, 4 Aug 2023 13:55:26 +0000 (09:55 -0400)] 
cargo: Add geoip db tool to top level workspace

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoci: Move tag to the x86-64 template
David Goulet [Wed, 2 Aug 2023 17:30:28 +0000 (13:30 -0400)] 
ci: Move tag to the x86-64 template

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoci: Tag physical our i386 minimal job
David Goulet [Wed, 2 Aug 2023 17:20:06 +0000 (13:20 -0400)] 
ci: Tag physical our i386 minimal job

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'remove-conflux-bug-log' into 'main'
David Goulet [Wed, 2 Aug 2023 16:48:03 +0000 (16:48 +0000)] 
Merge branch 'remove-conflux-bug-log' into 'main'

relay: Remove logging for a bug. It triggers a BUG() later

See merge request tpo/core/tor!738

2 years agorelay: Remove logging for a bug. It triggers a BUG() later
David Goulet [Wed, 2 Aug 2023 16:09:41 +0000 (12:09 -0400)] 
relay: Remove logging for a bug. It triggers a BUG() later

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'cargo_hashx_rng' into 'main'
David Goulet [Tue, 1 Aug 2023 20:19:42 +0000 (20:19 +0000)] 
Merge branch 'cargo_hashx_rng' into 'main'

hashx: Rust hook for inspecting and modifying the random number stream

See merge request tpo/core/tor!734

2 years agoMerge branch 'bug40827' into 'main'
David Goulet [Tue, 1 Aug 2023 20:13:32 +0000 (20:13 +0000)] 
Merge branch 'bug40827' into 'main'

Fix assert crash on relay-side due to on_circuit backpointer

See merge request tpo/core/tor!737

2 years agoChanges file for bug 40827
Mike Perry [Tue, 1 Aug 2023 17:11:24 +0000 (17:11 +0000)] 
Changes file for bug 40827

2 years agoBug 40827: Add additional logs and checks for 0-leg conflux case
Mike Perry [Mon, 31 Jul 2023 15:30:09 +0000 (15:30 +0000)] 
Bug 40827: Add additional logs and checks for 0-leg conflux case

2 years agoNullify on_circuit if last conflux leg
David Goulet [Mon, 31 Jul 2023 14:57:34 +0000 (10:57 -0400)] 
Nullify on_circuit if last conflux leg

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'bug40828' into 'main'
David Goulet [Mon, 31 Jul 2023 15:43:33 +0000 (15:43 +0000)] 
Merge branch 'bug40828' into 'main'

Bug40828

See merge request tpo/core/tor!736

2 years agoChanges file for bug40828
Mike Perry [Mon, 31 Jul 2023 14:13:16 +0000 (14:13 +0000)] 
Changes file for bug40828

2 years agoBug 40828: Add more log scrubbing to protocol warnings
Mike Perry [Mon, 31 Jul 2023 14:12:39 +0000 (14:12 +0000)] 
Bug 40828: Add more log scrubbing to protocol warnings

2 years agohashx: Rust hook for inspecting and modifying the random number stream
Micah Elizabeth Scott [Sat, 29 Jul 2023 02:44:24 +0000 (19:44 -0700)] 
hashx: Rust hook for inspecting and modifying the random number stream

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>
2 years agoMerge branch 'cargo' into 'main'
David Goulet [Wed, 26 Jul 2023 20:01:56 +0000 (20:01 +0000)] 
Merge branch 'cargo' into 'main'

Include a basic Rust wrapper for Equi-X and HashX

See merge request tpo/core/tor!733

2 years agoInclude a basic Rust wrapper for Equi-X and HashX
Micah Elizabeth Scott [Wed, 26 Jul 2023 02:28:06 +0000 (19:28 -0700)] 
Include a basic Rust wrapper for Equi-X and HashX

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>
2 years agoMerge branch 'maint-0.4.7'
David Goulet [Wed, 26 Jul 2023 16:02:47 +0000 (12:02 -0400)] 
Merge branch 'maint-0.4.7'

2 years agoversion: Bump version to 0.4.7.14-dev
Tor CI Release [Wed, 26 Jul 2023 14:30:03 +0000 (14:30 +0000)] 
version: Bump version to 0.4.7.14-dev

2 years agoMerge branch 'maint-0.4.7'
David Goulet [Wed, 26 Jul 2023 14:23:27 +0000 (10:23 -0400)] 
Merge branch 'maint-0.4.7'

2 years agoversion: Bump version to 0.4.7.14
Tor CI Release [Wed, 26 Jul 2023 14:09:15 +0000 (14:09 +0000)] 
version: Bump version to 0.4.7.14

2 years agoMerge branch 'maint-0.4.7'
David Goulet [Wed, 26 Jul 2023 14:13:21 +0000 (10:13 -0400)] 
Merge branch 'maint-0.4.7'

2 years agofallbackdir: Update list generated on July 26, 2023
Tor CI Release [Wed, 26 Jul 2023 14:05:08 +0000 (14:05 +0000)] 
fallbackdir: Update list generated on July 26, 2023

2 years agoUpdate geoip files to match ipfire location db, 2023/07/26.
Tor CI Release [Wed, 26 Jul 2023 14:04:43 +0000 (14:04 +0000)] 
Update geoip files to match ipfire location db, 2023/07/26.

2 years agoMerge branch 'maint-0.4.7'
David Goulet [Wed, 26 Jul 2023 14:07:33 +0000 (10:07 -0400)] 
Merge branch 'maint-0.4.7'

2 years agofallback: Take file from main for our release CI
David Goulet [Wed, 26 Jul 2023 14:07:27 +0000 (10:07 -0400)] 
fallback: Take file from main for our release CI

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'maint-0.4.7'
David Goulet [Wed, 26 Jul 2023 13:59:36 +0000 (09:59 -0400)] 
Merge branch 'maint-0.4.7'

2 years agogeoip: Take the database from main
David Goulet [Wed, 26 Jul 2023 13:59:26 +0000 (09:59 -0400)] 
geoip: Take the database from main

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'maint-0.4.7'
David Goulet [Mon, 24 Jul 2023 14:18:53 +0000 (10:18 -0400)] 
Merge branch 'maint-0.4.7'

2 years agoFix all -Werror=enum-int-mismatch warnings
David Goulet [Mon, 24 Jul 2023 13:44:06 +0000 (09:44 -0400)] 
Fix all -Werror=enum-int-mismatch warnings

Close #40824

Signed-off-by: David Goulet <dgoulet@torproject.org>
2 years agoMerge branch 'warn-bridge-exit' into 'main'
David Goulet [Thu, 20 Jul 2023 14:40:13 +0000 (14:40 +0000)] 
Merge branch 'warn-bridge-exit' into 'main'

Warn when operating as bridge and exit

Closes #40819

See merge request tpo/core/tor!730

2 years agoMerge branch 'no-assert-rotate-onion-key-fails' into 'main'
David Goulet [Thu, 20 Jul 2023 14:38:36 +0000 (14:38 +0000)] 
Merge branch 'no-assert-rotate-onion-key-fails' into 'main'

fix non-fatal assertion when rotate_onion_key fails

Closes #40554

See merge request tpo/core/tor!729

2 years agoWarn when operating as bridge and exit
trinity-1686a [Mon, 17 Jul 2023 17:19:04 +0000 (19:19 +0200)] 
Warn when operating as bridge and exit

2 years agoMerge branch 'fix-apt-syntax' into 'main'
David Goulet [Mon, 17 Jul 2023 16:08:17 +0000 (16:08 +0000)] 
Merge branch 'fix-apt-syntax' into 'main'

gitlab-ci: fix apt conf syntax for Acquire::Retries

See merge request tpo/core/tor!705

2 years agoMerge branch 'geoip-db-prefix-more' into 'main'
David Goulet [Mon, 17 Jul 2023 16:05:02 +0000 (16:05 +0000)] 
Merge branch 'geoip-db-prefix-more' into 'main'

Clarify where geoip-db-tool is.

See merge request tpo/core/tor!728

2 years agofix non-fatal assertion when rotate_onion_key fails
trinity-1686a [Sun, 16 Jul 2023 20:29:23 +0000 (22:29 +0200)] 
fix non-fatal assertion when rotate_onion_key fails

2 years agoClarify where geoip-db-tool is.
Nick Mathewson [Thu, 13 Jul 2023 20:03:16 +0000 (16:03 -0400)] 
Clarify where geoip-db-tool is.

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.

2 years agoversion: Bump version to 0.4.8.2-alpha-dev
Tor CI Release [Wed, 12 Jul 2023 13:58:26 +0000 (13:58 +0000)] 
version: Bump version to 0.4.8.2-alpha-dev