]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
5 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 21 May 2025 12:55:51 +0000 (08:55 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

5 months agoMake an exception to one of the NONSTRINGs
Nick Mathewson [Mon, 19 May 2025 01:52:36 +0000 (21:52 -0400)] 
Make an exception to one of the NONSTRINGs

Older GCCs accept the attribute but don't believe it can appear
before an array.

5 months agoAdd a changes file for 41079.
Nick Mathewson [Mon, 19 May 2025 01:12:30 +0000 (21:12 -0400)] 
Add a changes file for 41079.

5 months agoFix a new GCC warning about strings.
Nick Mathewson [Mon, 19 May 2025 01:11:00 +0000 (21:11 -0400)] 
Fix a new GCC warning about strings.

When we say something like

```
const char foo[3] = "foo";
```

GCC now complains, because there is no space for the terminating NUL.
But we use this construction in a lot of places in our tests to
initialize test digests, keys, and so on.  So to resolve the issue,
we have to mark these strings with a new attribute.

5 months agoConvince gcc that we will not access an array out of bounds
Nick Mathewson [Mon, 19 May 2025 00:54:08 +0000 (20:54 -0400)] 
Convince gcc that we will not access an array out of bounds

6 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Mon, 5 May 2025 16:33:59 +0000 (12:33 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

6 months agocrypt_openssl_mgt: define DISABLE_ENGINES after OPENSSL_NO_ENGINE
orbea [Thu, 31 Aug 2023 21:35:52 +0000 (14:35 -0700)] 
crypt_openssl_mgt: define DISABLE_ENGINES after OPENSSL_NO_ENGINE

With LibreSSL-3.8.1 these engines are no long available causing a build
failure, but LibreSSL correctly defines OPENSSL_NO_ENGINE as part of its
opensslfeatures.h. However Tor includes crypto_openssl_mgt.h before any
of the openssl includes which would define OPENSSL_NO_ENGINE and then
fails to define DISABLE_ENGINES.

As the define is used in only a single .c file it is best to move it
there.

Signed-off-by: orbea <orbea@riseup.net>
6 months agocompat_openssl: fix for LibreSSL 4.1.0
orbea [Wed, 30 Apr 2025 18:47:13 +0000 (11:47 -0700)] 
compat_openssl: fix for LibreSSL 4.1.0

Starting with LibreSSL 4.1.0 this now causes a build failure:

src/lib/tls/tortls_openssl.c: In function 'tor_tls_setup_session_secret_cb':
src/lib/tls/tortls_openssl.c:1059:39: error: passing argument 2 of 'SSL_set_session_secret_cb' from incompatible pointer type [-Wincompatible-pointer-types]
 1059 |   SSL_set_session_secret_cb(tls->ssl, tor_tls_session_secret_cb, NULL);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                       |
      |                                       int (*)(SSL *, void *, int *, struct stack_st_SSL_CIPHER *, SSL_CIPHER **, void *) {aka int (*)(struct ssl_st *, void *, int *, struct stack_st_SSL_CIPHER *, struct ssl_cipher_st **, void *)}
In file included from src/lib/tls/tortls_openssl.c:48:
/usr/include/openssl/ssl.h:1489:30: note: expected 'tls_session_secret_cb_fn' {aka 'int (*)(struct ssl_st *, void *, int *, struct stack_st_SSL_CIPHER *, const struct ssl_cipher_st **, void *)'} but argument is of type 'int (*)(SSL *, void *, int *, struct stack_st_SSL_CIPHER *, SSL_CIPHER **, void *)' {aka 'int (*)(struct ssl_st *, void *, int *, struct stack_st_SSL_CIPHER *, struct ssl_cipher_st **, void *)'}
 1489 |     tls_session_secret_cb_fn tls_session_secret_cb, void *arg);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: orbea <orbea@riseup.net>
6 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 23 Apr 2025 18:35:27 +0000 (14:35 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

6 months agoPromote "list of supported groups" message to notice.
Nick Mathewson [Wed, 23 Apr 2025 18:11:39 +0000 (14:11 -0400)] 
Promote "list of supported groups" message to notice.

I have a feeling that this might help diagnosing
any other problems similar to #41058.

6 months agoOnly try more complex OpenSSL group list syntax with OpenSSL 3.5.
Nick Mathewson [Wed, 23 Apr 2025 18:10:43 +0000 (14:10 -0400)] 
Only try more complex OpenSSL group list syntax with OpenSSL 3.5.

Closes #41058.

6 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 23 Apr 2025 15:00:53 +0000 (11:00 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

6 months agoTLS: When possible, enable ML-KEM768.
Nick Mathewson [Wed, 23 Apr 2025 13:13:04 +0000 (09:13 -0400)] 
TLS: When possible, enable ML-KEM768.

Closes ticket 41041.

6 months agoCorrectly detect error from SSL_CTX_set1_groups_list.
Nick Mathewson [Wed, 23 Apr 2025 12:46:17 +0000 (08:46 -0400)] 
Correctly detect error from SSL_CTX_set1_groups_list.

Previously our code was checking for '< 0', but the error return value for
this function _is_ zero.

6 months agoRemove TOR_TLS_USE_ECDHE_P* flags.
Nick Mathewson [Wed, 23 Apr 2025 12:38:05 +0000 (08:38 -0400)] 
Remove TOR_TLS_USE_ECDHE_P* flags.

They have been unused since 0.3.1.1-alpha, when we removed the
TLSECGroups option.

6 months agoMake two 1-bit fields unsigned
Sebastian Hahn [Thu, 1 Feb 2024 18:45:04 +0000 (19:45 +0100)] 
Make two 1-bit fields unsigned

This should be a completely harmless warning as we only check whether
the fields are true or false.

Closes #40911.

(Backported by nickm so that I can compile 0.4.8 without warnings.)

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Mon, 31 Mar 2025 17:32:28 +0000 (13:32 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoFix: Crash on SIGSEGV if at least one worker thread cannot be launched
Waldemar Zimpel [Thu, 27 Mar 2025 22:15:05 +0000 (23:15 +0100)] 
Fix: Crash on SIGSEGV if at least one worker thread cannot be launched

Perform a clean shutdown in case worker threads cannot be lauched.

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Thu, 27 Mar 2025 19:56:13 +0000 (15:56 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoMerge branch 'tor-gitlab/mr/874' into maint-0.4.8
David Goulet [Thu, 27 Mar 2025 19:56:02 +0000 (15:56 -0400)] 
Merge branch 'tor-gitlab/mr/874' into maint-0.4.8

7 months agoMerge branch 'fix/memleaks-cpuworker' into 'maint-0.4.8'
David Goulet [Thu, 27 Mar 2025 14:29:11 +0000 (14:29 +0000)] 
Merge branch 'fix/memleaks-cpuworker' into 'maint-0.4.8'

Re: Coverity report Oct 31st, 2024 (Issue #40991)

See merge request tpo/core/tor!844

7 months agoRe: Coverity report Oct 31st, 2024 (Issue #40991)
excurso [Thu, 27 Mar 2025 14:29:11 +0000 (14:29 +0000)] 
Re: Coverity report Oct 31st, 2024 (Issue #40991)

7 months agoconflux: Avoid non fatal assert in CIRCUIT_IS_CONFLUX()
David Goulet [Thu, 27 Mar 2025 12:49:40 +0000 (08:49 -0400)] 
conflux: Avoid non fatal assert in CIRCUIT_IS_CONFLUX()

In the circuit_about_to_free(), we clear the circ->conflux object and then we
end up trying to emit an event on the control port which calls
CIRCUIT_IS_CONFLUX() and non fatal assert on the false branch.

Fixes #41037

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 26 Mar 2025 18:09:15 +0000 (14:09 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoRequire FlowCtrl=1 (authenticated sendmes) for clients
Nick Mathewson [Tue, 25 Mar 2025 19:13:31 +0000 (15:13 -0400)] 
Require FlowCtrl=1 (authenticated sendmes) for clients

This will cause clients before 0.4.1.1-alpha to shut down.

Part of #40836.

7 months agoprotover: Vote for additional protocols to be required/recommended
Nick Mathewson [Tue, 25 Mar 2025 19:06:12 +0000 (15:06 -0400)] 
protover: Vote for additional protocols to be required/recommended

Note that the changes here will require all relays
to be 0.4.7.4-alpha or later, which is lower than
our current lowest-supported relay version.

Part of #40836.

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Tue, 25 Mar 2025 17:06:24 +0000 (13:06 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agofix two comment typos from 0.4.8.15
Roger Dingledine [Tue, 25 Mar 2025 15:22:24 +0000 (11:22 -0400)] 
fix two comment typos from 0.4.8.15

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Mon, 24 Mar 2025 16:52:37 +0000 (12:52 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoversion: Bump version to 0.4.8.16-dev
Tor CI Release [Mon, 24 Mar 2025 15:25:59 +0000 (15:25 +0000)] 
version: Bump version to 0.4.8.16-dev

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8 tor-0.4.8.16
David Goulet [Mon, 24 Mar 2025 15:23:12 +0000 (11:23 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoversion: Bump version to 0.4.8.16
Tor CI Release [Mon, 24 Mar 2025 15:11:11 +0000 (15:11 +0000)] 
version: Bump version to 0.4.8.16

7 months agorelease: ChangeLog and ReleaseNotes for 0.4.8.16
David Goulet [Mon, 24 Mar 2025 15:18:46 +0000 (11:18 -0400)] 
release: ChangeLog and ReleaseNotes for 0.4.8.16

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Mon, 24 Mar 2025 15:16:19 +0000 (11:16 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoUpdate geoip files to match ipfire location db, 2025/03/24.
Tor CI Release [Mon, 24 Mar 2025 15:09:47 +0000 (15:09 +0000)] 
Update geoip files to match ipfire location db, 2025/03/24.

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Mon, 24 Mar 2025 14:39:13 +0000 (10:39 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agodirauth: Fix typo in flag relay assignment token
David Goulet [Mon, 24 Mar 2025 13:09:38 +0000 (09:09 -0400)] 
dirauth: Fix typo in flag relay assignment token

Unfortunately, we wanted to be able to control the Guard flag here but the
token used mentionned "exit" instead.

Oh well, s*** happens :).

Fixes #41035

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Thu, 20 Mar 2025 15:22:27 +0000 (11:22 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoversion: Bump version to 0.4.8.15-dev
Tor CI Release [Thu, 20 Mar 2025 15:06:00 +0000 (15:06 +0000)] 
version: Bump version to 0.4.8.15-dev

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8 tor-0.4.8.15
David Goulet [Thu, 20 Mar 2025 14:55:23 +0000 (10:55 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoversion: Bump version to 0.4.8.15
Tor CI Release [Thu, 20 Mar 2025 14:43:55 +0000 (14:43 +0000)] 
version: Bump version to 0.4.8.15

7 months agorelease: ChangeLog and ReleaseNotes for 0.4.8.15
David Goulet [Thu, 20 Mar 2025 14:51:54 +0000 (10:51 -0400)] 
release: ChangeLog and ReleaseNotes for 0.4.8.15

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Thu, 20 Mar 2025 14:47:34 +0000 (10:47 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agofallbackdir: Update list generated on March 20, 2025
Tor CI Release [Thu, 20 Mar 2025 14:40:50 +0000 (14:40 +0000)] 
fallbackdir: Update list generated on March 20, 2025

7 months agoUpdate geoip files to match ipfire location db, 2025/03/20.
Tor CI Release [Thu, 20 Mar 2025 14:39:57 +0000 (14:39 +0000)] 
Update geoip files to match ipfire location db, 2025/03/20.

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Thu, 20 Mar 2025 13:53:16 +0000 (09:53 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoBug 41023 changes file
Mike Perry [Wed, 19 Mar 2025 00:05:43 +0000 (00:05 +0000)] 
Bug 41023 changes file

7 months agohs: Never pick a MiddleOnly node for HS circuit purposes
David Goulet [Tue, 11 Mar 2025 16:00:22 +0000 (12:00 -0400)] 
hs: Never pick a MiddleOnly node for HS circuit purposes

Related to #41023

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 months agohs: Remove HSv3 rendezvous circuit flag used for node selection
David Goulet [Tue, 11 Mar 2025 14:54:51 +0000 (10:54 -0400)] 
hs: Remove HSv3 rendezvous circuit flag used for node selection

This was put in when HSv2 and v3 were co-existing. Now, the network requires
HSRend=2 which is v3 by default.

This is a simple cleanup of an internal flag used to identify a launch of a
RPv3 circuit.

Related to #41023

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 months agoProvide dirauth ability to strip specific flags.
Mike Perry [Thu, 13 Mar 2025 20:00:03 +0000 (20:00 +0000)] 
Provide dirauth ability to strip specific flags.

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 19 Mar 2025 18:41:52 +0000 (14:41 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoCI: Add changes file related to 41029.
Alexander Hansen Færøy [Tue, 18 Mar 2025 15:23:00 +0000 (16:23 +0100)] 
CI: Add changes file related to 41029.

7 months agoCI: Enable venv before running ci-driver.sh for Chutney.
Alexander Hansen Færøy [Tue, 18 Mar 2025 13:47:53 +0000 (14:47 +0100)] 
CI: Enable venv before running ci-driver.sh for Chutney.

7 months agoCI: Install python3-venv.
Alexander Hansen Færøy [Tue, 18 Mar 2025 13:29:11 +0000 (14:29 +0100)] 
CI: Install python3-venv.

7 months agoCI: Use local pip instead of python3-pip.
Alexander Hansen Færøy [Tue, 18 Mar 2025 13:25:41 +0000 (14:25 +0100)] 
CI: Use local pip instead of python3-pip.

7 months agoCI: Disable redundant-decls warnings for NSS in crypto_nss_mgt.c.
Alexander Hansen Færøy [Tue, 18 Mar 2025 13:22:35 +0000 (14:22 +0100)] 
CI: Disable redundant-decls warnings for NSS in crypto_nss_mgt.c.

7 months agoCI: Install libclang-rt-dev when build with hardening enabled.
Alexander Hansen Færøy [Tue, 18 Mar 2025 12:37:39 +0000 (13:37 +0100)] 
CI: Install libclang-rt-dev when build with hardening enabled.

7 months agoCI: Install libubsan1 when building with hardening enabled.
Alexander Hansen Færøy [Tue, 18 Mar 2025 12:33:23 +0000 (13:33 +0100)] 
CI: Install libubsan1 when building with hardening enabled.

7 months agoCI: Use bookworm instead of bullseye.
Alexander Hansen Færøy [Tue, 18 Mar 2025 12:26:50 +0000 (13:26 +0100)] 
CI: Use bookworm instead of bullseye.

7 months agoCI: use a fixed version of chutney
Jim Newsome [Wed, 30 Oct 2024 15:34:58 +0000 (10:34 -0500)] 
CI: use a fixed version of chutney

While chutney currently runs tor's chutney test in its own CI,
it's difficult to guarantee the two won't accidentally diverge.
Probably best to use a fixed version here so that we can control
chutney version bumps and avoid surprise breakage in tor's CI.

This will also free us to intentionally make breaking changes in
chutney (though I don't have any immediate plans for any).

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Tue, 18 Mar 2025 13:05:25 +0000 (09:05 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoCI: Remove physical tags from gitlab-ci runner requirements.
Alexander Hansen Færøy [Tue, 18 Mar 2025 12:17:28 +0000 (13:17 +0100)] 
CI: Remove physical tags from gitlab-ci runner requirements.

7 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Tue, 11 Mar 2025 14:21:17 +0000 (10:21 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

7 months agoscripts: Remove 0.4.7 from list tor branches
David Goulet [Tue, 11 Mar 2025 14:21:03 +0000 (10:21 -0400)] 
scripts: Remove 0.4.7 from list tor branches

Not maintained anymore.

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Mon, 3 Mar 2025 18:18:32 +0000 (13:18 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

8 months agofix sandbox for bandwidth authority
Peter Palfrader [Fri, 7 Jun 2024 17:29:52 +0000 (19:29 +0200)] 
fix sandbox for bandwidth authority

8 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Mon, 3 Mar 2025 17:40:02 +0000 (12:40 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

8 months agoTicket 40872: Changes file
Mike Perry [Thu, 21 Nov 2024 17:09:39 +0000 (17:09 +0000)] 
Ticket 40872: Changes file

8 months agoTicket 40872: Output conflux nonce and circ rtt to control port
Mike Perry [Thu, 21 Nov 2024 17:08:19 +0000 (17:08 +0000)] 
Ticket 40872: Output conflux nonce and circ rtt to control port

8 months agoTicket 40872: Add conflux helper functions for control port info
Mike Perry [Thu, 21 Nov 2024 17:06:26 +0000 (17:06 +0000)] 
Ticket 40872: Add conflux helper functions for control port info

9 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 5 Feb 2025 14:49:35 +0000 (09:49 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

9 months agoversion: Bump version to 0.4.8.14-dev
Tor CI Release [Wed, 5 Feb 2025 14:33:19 +0000 (14:33 +0000)] 
version: Bump version to 0.4.8.14-dev

9 months agoMerge branch 'maint-0.4.8' into release-0.4.8 tor-0.4.8.14
David Goulet [Wed, 5 Feb 2025 14:30:02 +0000 (09:30 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

9 months agoversion: Bump version to 0.4.8.14
Tor CI Release [Wed, 5 Feb 2025 14:22:05 +0000 (14:22 +0000)] 
version: Bump version to 0.4.8.14

9 months agorelease: ChangeLog and ReleaseNotes for 0.4.8.14
Tor CI Release [Wed, 5 Feb 2025 14:22:04 +0000 (14:22 +0000)] 
release: ChangeLog and ReleaseNotes for 0.4.8.14

9 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 5 Feb 2025 14:23:51 +0000 (09:23 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

9 months agofallbackdir: Update list generated on February 05, 2025
Tor CI Release [Wed, 5 Feb 2025 14:21:16 +0000 (14:21 +0000)] 
fallbackdir: Update list generated on February 05, 2025

9 months agoUpdate geoip files to match ipfire location db, 2025/02/05.
Tor CI Release [Wed, 5 Feb 2025 14:20:40 +0000 (14:20 +0000)] 
Update geoip files to match ipfire location db, 2025/02/05.

9 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Tue, 28 Jan 2025 18:44:17 +0000 (13:44 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

9 months agohs: Make Windows CI 32bit happy
David Goulet [Tue, 28 Jan 2025 18:44:11 +0000 (13:44 -0500)] 
hs: Make Windows CI 32bit happy

Signed-off-by: David Goulet <dgoulet@torproject.org>
9 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Tue, 28 Jan 2025 18:28:36 +0000 (13:28 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

9 months agohashx: Move Windows function within another ifdef
David Goulet [Tue, 28 Jan 2025 18:27:14 +0000 (13:27 -0500)] 
hashx: Move Windows function within another ifdef

Function only used within the hugepage ifdef for Windows so move it there so we
avoid a unused function warning on our Windows CI:

src/ext/equix/hashx/src/virtual_memory.c:30:13: error: 'set_privilege' defined but not used [-Werror=unused-function]
   30 | static bool set_privilege(const char* pszPrivilege, BOOL bEnable) {
      |             ^~~~~~~~~~~~~

Signed-off-by: David Goulet <dgoulet@torproject.org>
9 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 22 Jan 2025 14:52:44 +0000 (09:52 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

9 months agoscripts: Fix rust clippy warning
David Goulet [Wed, 22 Jan 2025 13:59:03 +0000 (08:59 -0500)] 
scripts: Fix rust clippy warning

Signed-off-by: David Goulet <dgoulet@torproject.org>
9 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Wed, 22 Jan 2025 14:06:14 +0000 (09:06 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

10 months agochanges: Add file for ticket 40996
David Goulet [Wed, 18 Dec 2024 16:31:03 +0000 (11:31 -0500)] 
changes: Add file for ticket 40996

Part of #40996

Signed-off-by: David Goulet <dgoulet@torproject.org>
10 months agotest: Add HS cache OOM cleanup test
David Goulet [Wed, 18 Dec 2024 16:28:59 +0000 (11:28 -0500)] 
test: Add HS cache OOM cleanup test

Part of #40996

Signed-off-by: David Goulet <dgoulet@torproject.org>
10 months agohs: Use downloaded counter for HSDir OOM cache cleanup
David Goulet [Wed, 18 Dec 2024 16:04:00 +0000 (11:04 -0500)] 
hs: Use downloaded counter for HSDir OOM cache cleanup

The OOM cache cleanup is now done by looking at the downloaded counter. The
cleanup process start at 0 and increment it to the next lowest value until
enough bytes have been removed.

This process could be expensive for large amount of descriptors in the cache
but since it is very expensive to increment counters, most cleanup should
happen within a tight range of downloaded counter target.

Fixes #40996

Signed-off-by: David Goulet <dgoulet@torproject.org>
10 months agohs: Add downloaded counter to an HSDir cache entry
David Goulet [Wed, 18 Dec 2024 15:24:28 +0000 (10:24 -0500)] 
hs: Add downloaded counter to an HSDir cache entry

This adds a counter for the number of times a descriptor is downloaded from an
HSDir. Future commit will change the OOM subsystem to clean that cache based on
the lowest downloaded counts instead of time in cache.

In order to raise the bar even more for an attacker, the downloaded counter is
only marked when the directory request stream is closed. To pull this off, the
HS identifier on the directory connection is populated with the blinded key
requested (only on success). Finally, when the connection closes, we can then
lookup the cache entry with it and increment the counter.

Part of #40996

Signed-off-by: David Goulet <dgoulet@torproject.org>
11 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Tue, 19 Nov 2024 16:05:03 +0000 (11:05 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

11 months agotest-network-run: refactor away test_network_ipv6
Jim Newsome [Mon, 18 Nov 2024 16:26:26 +0000 (10:26 -0600)] 
test-network-run: refactor away test_network_ipv6

This should be a pure refactor to simplify the logic a bit now that we
no longer probe for IPv6 support.

11 months agotest-network: include IPv6 tests unconditionally
Jim Newsome [Fri, 15 Nov 2024 00:38:22 +0000 (18:38 -0600)] 
test-network: include IPv6 tests unconditionally

Previously we would incorrectly detect that ipv6 isn't supported if the
ping binary isn't present (as it may not be in a relatively stripped
down container image), or if ICMP packets aren't permitted (as they
often aren't in containers).

We don't really have a need to run these network tests on non-IPv6
systems, so it makes more sense to just run them unconditionally.

11 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Tue, 19 Nov 2024 15:24:44 +0000 (10:24 -0500)] 
Merge branch 'maint-0.4.8' into release-0.4.8

11 months agodebian-i386-minimal: explicitly set platform
Jim Newsome [Mon, 18 Nov 2024 19:58:25 +0000 (13:58 -0600)] 
debian-i386-minimal: explicitly set platform

This is to work around
https://github.com/docker-library/official-images/issues/17896

11 months agoCI: Use TPA-based images
Jim Newsome [Mon, 18 Nov 2024 19:25:13 +0000 (13:25 -0600)] 
CI: Use TPA-based images

11 months agodebian-gpl: Run on debian:bullseye instead of buster
Jim Newsome [Mon, 18 Nov 2024 20:15:37 +0000 (14:15 -0600)] 
debian-gpl: Run on debian:bullseye instead of buster

* buster is now very old
* all the other jobs run bullseye
* This will facilitate switching to a TPA-maintained image (there is no
  buster image).

12 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Thu, 31 Oct 2024 12:37:51 +0000 (08:37 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

12 months agoFix: Use FREE_AND_NULL() for releasing workqueue resources
Waldemar Zimpel [Wed, 30 Oct 2024 01:51:20 +0000 (02:51 +0100)] 
Fix: Use FREE_AND_NULL() for releasing workqueue resources

See issue #40989

12 months agoMerge branch 'maint-0.4.8' into release-0.4.8
David Goulet [Thu, 24 Oct 2024 15:43:14 +0000 (11:43 -0400)] 
Merge branch 'maint-0.4.8' into release-0.4.8

12 months agoMerge branch 'tor-gitlab/mr/840' into maint-0.4.8
David Goulet [Thu, 24 Oct 2024 15:43:07 +0000 (11:43 -0400)] 
Merge branch 'tor-gitlab/mr/840' into maint-0.4.8