]>
git.ipfire.org Git - thirdparty/tor.git/log
Nick Mathewson [Fri, 18 Apr 2025 01:20:57 +0000 (21:20 -0400)]
Fill in XXXX for relay_msg.c
Nick Mathewson [Fri, 18 Apr 2025 01:19:34 +0000 (21:19 -0400)]
Remove the unused relay_msg_set function
Nick Mathewson [Fri, 18 Apr 2025 01:15:30 +0000 (21:15 -0400)]
Change relay_msg_t to _not_ hold a copy of the message.
Previously we had to memdup every time we parsed a relay_msg_t;
but that's unnecessary, since (most) every time we use it, we have
a longer-lived cell object.
This _did_ require some hacking in relay_msg_copy, but I think the
gain in simplicity is worth it.
Nick Mathewson [Fri, 18 Apr 2025 00:31:44 +0000 (20:31 -0400)]
Remove redundant relay_cell_proto fields
These did not turn out to be useful for anything.
Nick Mathewson [Fri, 18 Apr 2025 00:26:20 +0000 (20:26 -0400)]
Fix a bug in conflux_send_switch_command.
Using RELAY_PAYLOAD_SIZE(_MAX) here would send a relay message that used up
more than the actual length of the cell. Instead, send only the actual
CONFLUX_SWITCH message.
Closes #41056; bugfix on 0.4.8.1-alpha.
Nick Mathewson [Fri, 18 Apr 2025 00:21:06 +0000 (20:21 -0400)]
Rename and hand-audit all users of RELAY_PAYLOAD_SIZE.
Since the maximum number of bytes you can put in a relay message
is no longer constant, it doesn't make sense to have a "size" for this.
Instead, we can only have a "max" or "min" size.
Nick Mathewson [Thu, 17 Apr 2025 23:46:30 +0000 (19:46 -0400)]
Move circuit accessors to relay.c
Nick Mathewson [Thu, 17 Apr 2025 23:39:43 +0000 (19:39 -0400)]
Add a much-needed convenience accessor for max payload len.
Nick Mathewson [Thu, 17 Apr 2025 23:37:15 +0000 (19:37 -0400)]
Rename relay_msg_get_format to circuit_get_relay_format.
Nick Mathewson [Thu, 17 Apr 2025 23:31:36 +0000 (19:31 -0400)]
More tolerance for packaging too-long payloads
(There are _lots_ of places that build a payload that would be long enough
to fit into a V0 cell, then pass it to relay_send_command_from_edge.)
Nick Mathewson [Thu, 17 Apr 2025 23:20:37 +0000 (19:20 -0400)]
relay_msg: use IF_BUG_ONCE
If these bugs are reachable, they're likely to fill up the logs.
Nick Mathewson [Thu, 17 Apr 2025 23:17:26 +0000 (19:17 -0400)]
Abolish RELAY_HEADER_SIZE.
It was frequently used before to index into a cell, which
is never right any more.
Nick Mathewson [Thu, 17 Apr 2025 20:47:39 +0000 (16:47 -0400)]
Fold relay_cell.h into relay_msg.h
It no longer needs an independent existence.
Nick Mathewson [Thu, 17 Apr 2025 20:44:17 +0000 (16:44 -0400)]
Abolish relay_header_t, except for testing.
With this change we no longer have a separate and possibly divergent
encoder for cells.
Also, abolish the accessors in relay_cell.c: It turns out that they
don't make sense with CGO.
David Goulet [Thu, 5 Oct 2023 16:29:54 +0000 (12:29 -0400)]
prop340: Use relay messages accross the code
Author: David Goulet <dgoulet@torproject.org>
(This won't yet compile; for now I am _only_ taking the parts as
dgoulet wrote them, minus a codec-only piece.)
Modified by nickm:
Encode and decode relay messages using our new functions.
In David's original branch, this was done using codec objects,
but since we aren't doing prop340, this is simpler.
David Goulet [Thu, 5 Oct 2023 16:17:16 +0000 (12:17 -0400)]
prop340: Implement useful helper functions
Author: David Goulet <dgoulet@torproject.org>
(modified by nickm: no longer refers to codecs.)
Nick Mathewson [Thu, 17 Apr 2025 17:24:44 +0000 (13:24 -0400)]
Add relay cell format field to circuits
For client circuits, it is a per-hop field;
for OR circuits, it is a per-circuit field.
Nick Mathewson [Thu, 17 Apr 2025 17:15:04 +0000 (13:15 -0400)]
prop359: Implement relay cell encoder/decoders
I decided not to use a codec-based approach here.
Since we aren't implementing prop340, there is exactly one cell
per message, so we don't need to keep any state
in between cells or messages.
Nick Mathewson [Thu, 17 Apr 2025 13:52:40 +0000 (09:52 -0400)]
Function to test whether a relay command is recognized.
Cherry-picked from dgoulet's
8fe1c503
Author: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Thu, 17 Apr 2025 13:50:33 +0000 (09:50 -0400)]
or.h: Extend comment about cell format to include v1 format.
Nick Mathewson [Thu, 17 Apr 2025 13:39:06 +0000 (09:39 -0400)]
prop359: Introduce an enum for cell format.
(Using u8 everywhere makes me nervous.)
David Goulet [Thu, 5 Oct 2023 14:49:59 +0000 (10:49 -0400)]
prop359: Add relay msg basics.
Nick Mathewson [Thu, 17 Apr 2025 13:23:49 +0000 (09:23 -0400)]
Add some TODOs for CGO msg format
David Goulet [Thu, 5 Oct 2023 15:13:35 +0000 (11:13 -0400)]
prop359: Add relay cell access functions
Author: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 5 May 2025 15:40:05 +0000 (15:40 +0000)]
Merge branch 'openssl_cleanup_part2_v2' into 'main'
Require OpenSSL >= 1.1.1 or LibreSSL >= 3.7
See merge request tpo/core/tor!885
David Goulet [Mon, 5 May 2025 14:38:52 +0000 (14:38 +0000)]
Merge branch 'openssl_cleanup_part1' into 'main'
Remove support for clients < 0.2.3.17-beta
Closes #41031
See merge request tpo/core/tor!883
Nick Mathewson [Mon, 28 Apr 2025 15:32:21 +0000 (11:32 -0400)]
Warn when OpenSSL is older than 3.0
Running with an unsupported version of openssl is not IMO
a very good idea.
Nick Mathewson [Sun, 27 Apr 2025 15:19:29 +0000 (11:19 -0400)]
changes file for new *ssl version requirements.
Nick Mathewson [Sun, 27 Apr 2025 14:51:12 +0000 (10:51 -0400)]
Remove code based on OPENSSL_VERSION_NUMBER
(Except for some code in aes_openssl.c, which has potential to conflict
with CGO-related branches.)
Nick Mathewson [Sun, 27 Apr 2025 14:47:45 +0000 (10:47 -0400)]
Remove NEW_THREAD_API
Every supported OpenSSL version and fork has the modern API.
Nick Mathewson [Sun, 27 Apr 2025 14:27:05 +0000 (10:27 -0400)]
Remove OPENSSL_1_1_API macro
We no longer support any version without this API.
Nick Mathewson [Sun, 27 Apr 2025 14:04:07 +0000 (10:04 -0400)]
Remove HAVE_STRUCT_SSL_METHOD_ST_GET_CIPHER_BY_CHAR as unused
It was for a compatibility kludge which, mercifully, we no longer need.
Nick Mathewson [Sun, 27 Apr 2025 14:03:04 +0000 (10:03 -0400)]
Remove HAVE_SSL_STATE and SIZEOF_SHA_CTX
HAVE_SSL_STATE is always "no"; SIZEOF_SHA_CTX is never used.
Nick Mathewson [Sat, 26 Apr 2025 13:37:33 +0000 (09:37 -0400)]
Require OpenSSL >= 1.1.1 or LibreSSL >= 3.7
3.0 is the oldest supported version of OpenSSL; it was first released
in September 2021. OpenSSL 1.1.1 (the previous series) reached EOL in
September 2023, but it is still used in Debian oldstable, which will
be around till September 2026.
LibreSSL 3.7 is not quite supported, but I don't have as firm a conviction
about which LibreSSL versions we should handle. It was released in 2022.
Nick Mathewson [Mon, 28 Apr 2025 15:10:55 +0000 (11:10 -0400)]
Remove tor_tls_verify
Despite its name, it was only used for the v1 handshake.
Nick Mathewson [Sun, 27 Apr 2025 14:31:24 +0000 (10:31 -0400)]
Fix compilation on Libressl
Nick Mathewson [Fri, 25 Apr 2025 14:24:50 +0000 (10:24 -0400)]
Restore a pair of erroneously removed cases
The one in connection_or.c was crucial: it's the
thing that made OR negotiation actually work.
The one in channeltls.c was just defensive programming, but it's
valid defensive programming: by the time we enter from
channel_handle_var_cell, channel_tls_process_vesions_cell,
we have changed our state via enter_v3_handshake_with_cell.
Nick Mathewson [Fri, 25 Apr 2025 00:41:21 +0000 (20:41 -0400)]
Fix compilation for nss.
Nick Mathewson [Thu, 24 Apr 2025 18:51:56 +0000 (14:51 -0400)]
Changes file for 41031.
Nick Mathewson [Thu, 24 Apr 2025 18:25:24 +0000 (14:25 -0400)]
Remove support for client cipher classification.
For a long time, clients would lie about the set of ciphersuites
they supported, in a misguided pre-pluggable-transport attempt
to avoid protocol identification.
Such clients are now long gone; clients stopped lying
about ciphersuites after 0.2.3.17-beta.
Nick Mathewson [Thu, 24 Apr 2025 18:20:02 +0000 (14:20 -0400)]
Renumber OR_CONN_STATE_*
Nick Mathewson [Thu, 24 Apr 2025 18:19:31 +0000 (14:19 -0400)]
Rename "RENEGOTIATING state.
Nick Mathewson [Thu, 24 Apr 2025 18:06:12 +0000 (14:06 -0400)]
Completely remove support for the v2 link handshake
The v2 link handshake was one of the silliest things we ever did:
in an attempt to avoid sending our funny-looking certs back and forth,
we would first negotiate with a dummy set of certs and ciphers,
and then renegotiate with the ciphersuites we _really_ wanted.
We removed client-side support for this handshake back in
0.2.8.1-alpha, with ticket 11150.
Nick Mathewson [Thu, 24 Apr 2025 17:18:32 +0000 (13:18 -0400)]
Remove server support for the v1 link handshake.
In the v1 handshake we would send two very specialized certificates.
We'd identify that the client wanted to use this handshake by
the ciphers that it sent, or didn't sent.
We already removed client-side support for the v1 link handshake
back in 0.2.8.1-alpha, with ticket 11150.
David Goulet [Thu, 24 Apr 2025 13:22:48 +0000 (13:22 +0000)]
Merge branch 'man-safelogging' into 'main'
remove tiny ambiguity in man page for SafeLogging
See merge request tpo/core/tor!882
Roger Dingledine [Wed, 23 Apr 2025 19:49:55 +0000 (15:49 -0400)]
remove tiny ambiguity in man page for SafeLogging
David Goulet [Wed, 23 Apr 2025 18:35:27 +0000 (14:35 -0400)]
Merge branch 'maint-0.4.8'
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.
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.
David Goulet [Wed, 23 Apr 2025 17:54:03 +0000 (13:54 -0400)]
typo: Fix unfinished HTML tag in comment
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 23 Apr 2025 15:00:53 +0000 (11:00 -0400)]
Merge branch 'maint-0.4.8'
Nick Mathewson [Wed, 23 Apr 2025 13:13:04 +0000 (09:13 -0400)]
TLS: When possible, enable ML-KEM768.
Closes ticket 41041.
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.
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.
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.)
David Goulet [Wed, 16 Apr 2025 14:49:35 +0000 (10:49 -0400)]
ci: Remove 047 from CI builds and put in 049
Signed-off-by: David Goulet <dgoulet@torproject.org>
Tor CI Release [Wed, 2 Apr 2025 14:09:56 +0000 (14:09 +0000)]
version: Bump version to 0.4.9.2-alpha-dev
Tor CI Release [Wed, 2 Apr 2025 13:50:59 +0000 (13:50 +0000)]
version: Bump version to 0.4.9.2-alpha
Tor CI Release [Wed, 2 Apr 2025 13:50:59 +0000 (13:50 +0000)]
release: ChangeLog for 0.4.9.2-alpha
David Goulet [Tue, 1 Apr 2025 12:45:37 +0000 (12:45 +0000)]
Merge branch 'dont-redefine-o_nofollow' into 'main'
Don't redefine O_NOFOLLOW.
See merge request tpo/core/tor!877
Collin Funk [Tue, 1 Apr 2025 04:57:33 +0000 (21:57 -0700)]
Don't redefine O_NOFOLLOW.
David Goulet [Mon, 31 Mar 2025 17:32:28 +0000 (13:32 -0400)]
Merge branch 'maint-0.4.8'
David Goulet [Mon, 31 Mar 2025 17:31:07 +0000 (17:31 +0000)]
Merge branch 'happy-families-ux' into 'main'
Improved UX for happy families based on relay op requests
Closes #41033
See merge request tpo/core/tor!875
David Goulet [Mon, 31 Mar 2025 17:25:28 +0000 (17:25 +0000)]
Merge branch 'ahf/049-ci-i386' into 'main'
Use bullseye on main for i386 for now.
See merge request tpo/core/tor!876
Alexander Hansen Færøy [Mon, 31 Mar 2025 14:39:04 +0000 (16:39 +0200)]
Use bullseye on main for i386 for now.
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.
David Goulet [Thu, 27 Mar 2025 19:56:13 +0000 (15:56 -0400)]
Merge branch '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
Nick Mathewson [Thu, 27 Mar 2025 19:13:16 +0000 (15:13 -0400)]
Clarify family ID key file names
Nick Mathewson [Thu, 27 Mar 2025 19:11:53 +0000 (15:11 -0400)]
New 'FamilyId *' to say "use all the family IDs you find."
Nick Mathewson [Thu, 27 Mar 2025 18:41:18 +0000 (14:41 -0400)]
Allow searching for family keys in a FamilyKeyDirectory
David Goulet [Thu, 27 Mar 2025 17:30:19 +0000 (13:30 -0400)]
changes: Add file for MR 839
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Mar 2025 17:08:06 +0000 (17:08 +0000)]
Merge branch 'empty-dns' into 'main'
Handle empty DNS reply without error as NOERROR
Closes #40248
See merge request tpo/core/tor!839
David Goulet [Thu, 27 Mar 2025 15:21:30 +0000 (11:21 -0400)]
changes: Add file for MR 835
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Mar 2025 15:20:07 +0000 (11:20 -0400)]
Merge branch 'tor-gitlab/mr/835'
David Goulet [Thu, 27 Mar 2025 14:51:16 +0000 (14:51 +0000)]
Merge branch 'fix/bw-cache-spikes' into 'main'
Fix: bw cache entry spikes (Issue: #31524)
See merge request tpo/core/tor!826
excurso [Thu, 27 Mar 2025 14:51:16 +0000 (14:51 +0000)]
Fix: bw cache entry spikes (Issue: #31524)
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
excurso [Thu, 27 Mar 2025 14:29:11 +0000 (14:29 +0000)]
Re: Coverity report Oct 31st, 2024 (Issue #40991)
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>
Alexander Hansen Færøy [Wed, 26 Mar 2025 18:50:07 +0000 (18:50 +0000)]
Merge branch 'remove-tlssecrets-tests' into 'main'
Remove TLSSecrets tests
See merge request tpo/core/tor!872
David Goulet [Wed, 26 Mar 2025 18:09:15 +0000 (14:09 -0400)]
Merge branch 'maint-0.4.8'
David Goulet [Wed, 26 Mar 2025 18:03:45 +0000 (18:03 +0000)]
Merge branch 'bug40802' into 'main'
resolve scary vanguard-related log msgs on dir auths
See merge request tpo/core/tor!873
Roger Dingledine [Fri, 8 Sep 2023 00:32:57 +0000 (20:32 -0400)]
resolve scary vanguard-related log msgs on dir auths
After we added layer-two vanguards, directory authorities wouldn't
think any of their vanguards were suitable for circuits, leading
to a "Failed to find node for hop #2 of our path. Discarding
this circuit." log message once per second from startup until
they made a fresh consensus. Now they look to their existing
consensus on startup, letting them build circuits properly from
the beginning.
Fixes bug 40802; bugfix on 0.4.7.1-alpha.
Alex Xu (Hello71) [Tue, 25 Mar 2025 23:46:43 +0000 (19:46 -0400)]
Remove TLSSecrets tests
These would fail if anybody actually still used OpenSSL 1.0, but in any case
there's no need to leave them around.
Follow-up from https://gitlab.torproject.org/tpo/core/tor/-/merge_requests/862#note_3178084.
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.
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.
David Goulet [Tue, 25 Mar 2025 17:06:24 +0000 (13:06 -0400)]
Merge branch 'maint-0.4.8'
Roger Dingledine [Tue, 25 Mar 2025 15:22:24 +0000 (11:22 -0400)]
fix two comment typos from 0.4.8.15
David Goulet [Mon, 24 Mar 2025 17:09:15 +0000 (17:09 +0000)]
Merge branch 'openssl-dynamic-linking-warnings' into 'main'
Only include custom OpenSSL ABI checks for OpenSSL 1.1
See merge request tpo/core/tor!827
David Goulet [Mon, 24 Mar 2025 16:52:34 +0000 (12:52 -0400)]
Merge branch 'maint-0.4.8'
Tor CI Release [Mon, 24 Mar 2025 15:25:59 +0000 (15:25 +0000)]
version: Bump version to 0.4.8.16-dev
David Goulet [Mon, 24 Mar 2025 15:23:06 +0000 (11:23 -0400)]
Merge branch 'maint-0.4.8'
Tor CI Release [Mon, 24 Mar 2025 15:11:11 +0000 (15:11 +0000)]
version: Bump version to 0.4.8.16
David Goulet [Mon, 24 Mar 2025 15:16:19 +0000 (11:16 -0400)]
Merge branch 'maint-0.4.8'
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.
David Goulet [Mon, 24 Mar 2025 14:39:14 +0000 (10:39 -0400)]
Merge branch 'maint-0.4.8'
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>
Alexander Hansen Færøy [Thu, 20 Mar 2025 16:01:29 +0000 (16:01 +0000)]
Merge branch 'bug41034' into 'main'
Avoid memory leak on unexpected family ID
See merge request tpo/core/tor!868
Nick Mathewson [Thu, 20 Mar 2025 15:28:28 +0000 (11:28 -0400)]
Avoid memory leak on unexpected family ID
Fixes bug #41034; bug not in any released tor.