Commit Graph

38788 Commits

Author SHA1 Message Date
Alexander Færøy
d9a6b37ab1 Add diagnostic log message for compression bombs.
This patch causes `tor_compress_is_compression_bomb()` to emit a
warning-level log message that lets us learn the potential ratio of the
input to output buffer sizes. Hopefully, this will give us a bit of a
better idea whether the compression bomb ratio needs some tuning.

See: tpo/core/tor#40739.
2023-09-13 16:13:28 +02:00
Nick Mathewson
d6c89b1ae1 Make networkstatus_getinfo_by_purpose report published_on again.
When we implemented prop275 in 0.4.8.1-alpha, we changed the
behavior of networkstatus_getinfo_helper_single to omit meaningful
published_on times, replacing them with "2038-01-01".  This is
necessary when we're formatting a routerstatus with no additional
info, since routerstatus objects no longer include a published_on.

But in networkstatus_getinfo_by_purpose, we do have a routerinfo
that does have a published_on.  This patch uses that information
to report published_on times in our output when we're making a
"virtual" networkstatus for a big file of routerinfo_t objects.
This is mostly important for bridge authorities, since when
they dump a secret list of the bridges, they want to include
published_on times.

Closes #40855. Bugfix on 0.4.8.1-alpha.
2023-09-12 08:46:31 -04:00
Tor CI Release
89148fbffe version: Bump version to 0.4.8.5-dev 2023-08-30 13:35:50 -04:00
Tor CI Release
d7754c77bc version: Bump version to 0.4.8.5 2023-08-30 08:58:40 -04:00
Tor CI Release
1f88c76848 fallbackdir: Update list generated on August 30, 2023 2023-08-30 08:47:17 -04:00
Tor CI Release
9254028b38 Update geoip files to match ipfire location db, 2023/08/30. 2023-08-30 08:47:12 -04:00
David Goulet
9c79442a80 script: Attempt to fix geoip script
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-30 08:40:44 -04:00
David Goulet
3aa937dd5e Merge branch 'tor-gitlab/mr/750' into maint-0.4.8 2023-08-28 14:08:39 -04:00
Micah Elizabeth Scott
532543e84a Changes files for 40843 and 40844 (NetBSD portability) 2023-08-28 10:11:00 -07:00
Micah Elizabeth Scott
a3e7e9bda2 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.
2023-08-28 10:11:00 -07:00
Micah Elizabeth Scott
95e8ffa97e 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
2023-08-28 10:11:00 -07:00
Micah Elizabeth Scott
ee4e9f7506 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.
2023-08-28 10:11:00 -07:00
Micah Elizabeth Scott
9cac0a85b4 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.
2023-08-28 10:11:00 -07:00
Mike Perry
888da0579d Changes file for bug40842 2023-08-28 13:50:44 +00:00
Mike Perry
7666dd777a Bug #40842: Additional diagnostics
Just in case there are other instances hiding in the maze.
2023-08-25 22:53:07 +00:00
Mike Perry
fd6f098c9d Bug #40842: Don't send on sets that are being torn down 2023-08-25 22:45:07 +00:00
David Goulet
4119a7f971 Merge branch 'tor-gitlab/mr/748' into maint-0.4.8 2023-08-25 12:56:42 -04:00
trinity-1686a
73930bda48 fix lint clippy::arc_with_non_send_sync 2023-08-25 12:53:17 -04:00
Mike Perry
91b16d34bd Changes file for bug40841 2023-08-25 16:32:59 +00:00
Mike Perry
380727a16d Bug #40841: Demote extra legs to protocol warn.
Also add more info to leg dump.
2023-08-25 16:32:59 +00:00
David Goulet
97d3cf3950 doxygen: Typo fix in relay.c comment
HTML in comment, what a bad idea...

Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 17:02:25 -04:00
David Goulet
c56ba686d6 typo: Fix a doxygen html unclosed tag
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 16:41:36 -04:00
David Goulet
0e745d561d Merge branch 'maint-0.4.7' into maint-0.4.8 2023-08-23 12:50:05 -04:00
David Goulet
cf98f4d7b3 ci: Exclude yet another failing Stem test
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 12:49:53 -04:00
David Goulet
eeef1ef735 Merge branch 'maint-0.4.7' into maint-0.4.8 2023-08-23 12:33:28 -04:00
David Goulet
e553a24281 ci: Missing stem cmdline flag in previous commit
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 12:33:23 -04:00
David Goulet
42574bfd6e Merge branch 'maint-0.4.7' into maint-0.4.8 2023-08-23 11:34:02 -04:00
David Goulet
405c57769f ci: Exclude broken Stem tests
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 11:33:58 -04:00
David Goulet
e73e7b8931 ci: Exclude broken Stem tests
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 11:33:43 -04:00
David Goulet
82a5297d99 scripts: Add 048 maint branch to our helper scripts
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 11:06:16 -04:00
Tor CI Release
6d6bd21b9d version: Bump version to 0.4.8.4 2023-08-23 10:16:00 -04:00
David Goulet
51cefce3e6 ChangeLog and ReleaseNotes for 0.4.8.4 stable
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-23 10:12:54 -04:00
Tor CI Release
10636f84e8 fallbackdir: Update list generated on August 23, 2023 2023-08-23 09:21:47 -04:00
Tor CI Release
56008b623f Update geoip files to match ipfire location db, 2023/08/23. 2023-08-23 09:21:43 -04:00
David Goulet
c3bc04e355 Fix compilation errors for FreeBSD
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-22 13:37:25 -04:00
David Goulet
554d840742 changes: Add changes file for ticket 40833
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-22 13:25:34 -04:00
David Goulet
c6b1da20a7 Merge remote-tracking branch 'mbeth-private/ticket40833_mr' 2023-08-22 13:24:00 -04:00
David Goulet
3487a0d696 changes: Add changes file for ticket 40821
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-08-22 13:11:37 -04:00
David Goulet
e39fb0962f Merge remote-tracking branch 'mbeth-private/ticket40821_mr' 2023-08-22 13:09:54 -04:00
David Goulet
2300cf33a0 Merge branch 'rust_ci' into 'main'
Rust and CI fixes

See merge request tpo/core/tor!742
2023-08-15 17:13:11 +00:00
Micah Elizabeth Scott
8991b10cac 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.
2023-08-15 09:52:30 -07:00
Micah Elizabeth Scott
41dac5e2d1 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.
2023-08-15 09:52:30 -07:00
Micah Elizabeth Scott
824e9c6e16 cargo: Move lockfile to root and update
Change 3f66ff9b00 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.)
2023-08-15 09:52:30 -07:00
Micah Elizabeth Scott
317a56c133 tor-c-equix: Fix clippy warning
Clippy found a transmute that could have been a reborrow.
2023-08-15 09:52:30 -07:00
Micah Elizabeth Scott
4ec193dcc5 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.
2023-08-15 09:52:30 -07:00
David Goulet
00881f1886 Merge branch 'maint-0.4.7' 2023-08-15 12:39:33 -04:00
David Goulet
c9dceca281 Merge branch 'bug40834' into 'main'
Revert "Nullify on_circuit if last conflux leg"

See merge request tpo/core/tor!744
2023-08-15 15:29:46 +00:00
Mike Perry
51459b543f Changes file for bug40834 2023-08-15 15:09:04 +00:00
Mike Perry
a56434a82b Bug 40834: Remove assert and add logs to track no-leg case 2023-08-15 15:05:25 +00:00
Mike Perry
72164740a2 Revert "Nullify on_circuit if last conflux leg"
This reverts commit 5487476fd9.
2023-08-15 14:53:17 +00:00