summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-proto: improve `TokioAsyncWrite` compat implSteven Engler2025-06-161-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want the tokio trait to call into the futures trait, rather than having each trait duplicate the logic of calling into the inner writer. This is less error-prone.
| * | | | tor-proto: add `DynamicRateLimitedWriter`Steven Engler2025-06-164-2/+296
| | | | | | | | | | | | | | | | | | | | | | | | | This is a `Writer` rate limiter which can receive rate limit updates from a `Stream`.
| * | | | tor-proto: make `visibility` dependency always availableSteven Engler2025-06-161-3/+3
|/ / / / | | | | | | | | | | | | `RateLimitedWriter` will use this in a future commit.
* | | | Merge branch 'abolish-leg-id' into 'main'David Goulet2025-06-169-172/+144
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Replace LegId/LegIdKey with UniqId. Closes #1999 See merge request tpo/core/arti!3053
| * | | | tor-proto: Get rid of unnecessary extra variable.Gabriela Moldovan2025-06-161-3/+1
| | | | |
| * | | | tor-proto: Adapt the circ mutable state to removal of LegId.Gabriela Moldovan2025-06-161-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Circuits only have one identifier now, so we can remove the second, now-redundant ID.
| * | | | tor-proto: Replace LegId/LegIdKey with UniqId.Gabriela Moldovan2025-06-138-166/+138
| | | | | | | | | | | | | | | | | | | | Closes #1999
| * | | | tor-proto: Derive HasMemoryCost for UniqId.Gabriela Moldovan2025-06-131-1/+5
| | | | |
* | | | | Merge branch 'more-tunnel-id' into 'main'David Goulet2025-06-163-10/+29
|\| | | | | |/ / / |/| | | | | | | | | | | tor-proto: Fix up the circuit's tunnel ID after inserting into conflux set. See merge request tpo/core/arti!3050
| * | | tor-proto: Update doc links post-renaming.Gabriela Moldovan2025-06-131-1/+1
| | | |
| * | | tor-proto: Group conflux imports for consistency.Gabriela Moldovan2025-06-131-2/+1
| | | |
| * | | tor-proto: Rename function to clarify transition to a new tunnel (fmt).Gabriela Moldovan2025-06-132-2/+9
| | | |
| * | | tor-proto: Rename function to clarify transition to a new tunnel.Gabriela Moldovan2025-06-132-3/+4
| | | |
| * | | tor-proto: Fix up the circuit's tunnel ID after inserting into conflux set.Gabriela Moldovan2025-06-132-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding new circuits to an existing tunnel, we need to fixup the internal TunnelId of those circuits (otherwise they will have the TunnelId of the old single-path "tunnel" reactor they were extracted from using `CtrlCmd::ShutdownAndReturnCircuit`). Spotted while writing some tests.
| * | | tor-proto: Give ConfluxSet a TunnelId for logging purposes.Gabriela Moldovan2025-06-132-4/+14
|/ / /
* | | Merge branch 'tunnel-ids' into 'main'gabi-2502025-06-1210-86/+164
|\ \ \ | |/ / |/| | | | | | | | tor-proto: Assign tunnels unique IDs, update logs to include these IDs See merge request tpo/core/arti!3048
| * | tor-proto: Use TunnelScopedCircId instead of UniqId for logging.Gabriela Moldovan2025-06-124-10/+12
| | |
| * | tor-proto: Add an identifier for a circuit within a tunnel.Gabriela Moldovan2025-06-121-0/+27
| | | | | | | | | | | | | | | | | | This type will help produce better logs (logging just the circuit ID would make it impossible to correlate said circuit with the tunnel it belongs to).
| * | tor-proto: Assign a separate identifier to the tunnel reactor.Gabriela Moldovan2025-06-122-20/+17
| | | | | | | | | | | | | | | | | | The plan is to reuse this identifier for the future tunnel reactor updates channel (a channel for sending tunnel status updates to a central consumer).
| * | tor-proto: Log channel, circuit, stream identifiers as structured fields.Gabriela Moldovan2025-06-129-72/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the `tor-proto` logs to not be prefixed with a channel/circuit/stream ID, but rather to have these IDs attached to the log as structured fields. This change is in preparation for the switch to using `TunnelId`s in the tunnel reactor instead of circuit `UniqId`s. The reason for the change to use structured fields is because future logs will likely need to log the `UniqId`s of the circuits in a tunnel, which will need to either be formatted somehow in the logs, or logged as a structured field (the latter seems like the better option, hence this preparatory change). IMO we should favor structured fields over formatted strings in the logs in general, but that is a bigger project, so I am only doing a spot fix for now.
| * | tor-proto: Add a new identifier type for tunnels.Gabriela Moldovan2025-06-121-0/+22
|/ / | | | | | | | | | | | | | | | | | | Currently, a tunnel is uniquely identified by the `UniqId` of the first circuit added to the tunnel. This works, but the double-meaning of the `UniqId` is bound to cause confusion in the future (because it blurs the distinction between tunnels and circuits). This introduces a new `TunnelId` type which will replace `UniqId` in the tunnel reactor.
* | Merge branch 'gsoc-list' into 'main'gabi-2502025-06-1229-13/+616
|\ \ | | | | | | | | | | | | arti: Add keys list and keys list-keystores See merge request tpo/core/arti!3023
| * | arti: Add keys list and keys list-keystoreshjrgrn2025-06-1229-13/+616
|/ /
* | Merge branch 'conflux-check-cc' into 'main'David Goulet2025-06-118-53/+102
|\ \ | | | | | | | | | | | | tor-proto: Validate cc algorithm of the join point See merge request tpo/core/arti!3046
| * | tor-proto: Write test for conflux cc algorithm validation.Gabriela Moldovan2025-06-111-12/+20
| | |
| * | tor-proto: Make conflux test CircParams configurable (fmt).Gabriela Moldovan2025-06-111-10/+7
| | |
| * | tor-proto: Make conflux test CircParams configurable.Gabriela Moldovan2025-06-111-5/+7
| | | | | | | | | | | | | | | We're about to add a test that involves circuits built using non-vegas `CircParams`.
| * | tor-proto: Check we negotiated the right cc algorithm for conflux.Gabriela Moldovan2025-06-112-6/+25
| | |
| * | tor-proto: Simplify leg_is_valid() implementation.Gabriela Moldovan2025-06-111-10/+10
| | | | | | | | | | | | | | | | | | This is about to become slightly more complex (we need to add a check for the cc algorithm of the last hop). This refactoring is in preparation for that.
| * | tor-proto: Add an accessor for the cc algorithm.Gabriela Moldovan2025-06-113-4/+27
| | | | | | | | | | | | | | | | | | Conflux is only supported when prop324 congestion control is enabled, so we need an accessor for the cc algorithm of a given circuit hop in order for the conflux code to be able to check *which* cc algorithm is in use.
| * | tor-proto: Remove no-longer needed clone()s.Gabriela Moldovan2025-06-114-7/+7
| | | | | | | | | | | | | | | | | | This doesn't really change anything, but removing the `.clone()` makes it a bit more obvious that copying the `*Params` is a lightweight operation.
| * | tor-proto: Derive Copy for FixedWindowParams.Gabriela Moldovan2025-06-111-1/+1
| | |
| * | tor-proto: Derive Copy for VegasParams.Gabriela Moldovan2025-06-111-2/+2
|/ /
* | Merge branch 'conflux-todos2' into 'main'David Goulet2025-06-114-44/+102
|\ \ | | | | | | | | | | | | tor-proto: Address a handful of conflux TODOs See merge request tpo/core/arti!3045
| * | tor-proto: Remove TODO about keeping empty conflux tunnel alive.Gabriela Moldovan2025-06-111-2/+0
| | | | | | | | | | | | | | | We don't plan to implement resumption any time soon, so let's just remove the TODO for now.
| * | tor-proto: Do not allow incoming streams on multipath tunnels.Gabriela Moldovan2025-06-111-13/+66
| | | | | | | | | | | | As mentioned in #2002, we don't yet support conflux for onion services.
| * | tor-proto: Remove unnecessary TODO(conflux).Gabriela Moldovan2025-06-111-1/+2
| | | | | | | | | | | | | | | It is the responsibility of the caller to wait until at least one of the legs completes the handshake.
| * | tor-proto: Address TODO about rejecting conflux cells on non-conflux circuits.Gabriela Moldovan2025-06-112-2/+34
| | |
| * | tor-proto: Remove TODO about SWITCH validation.Gabriela Moldovan2025-06-111-2/+0
| | | | | | | | | | | | | | | This will be covered by #2031 (we'll implement prop349 as part of the p112 work).
| * | tor-proto: Remove dead code from test.Gabriela Moldovan2025-06-111-24/+0
| |/ | | | | | | | | | | All of this is not needed, the actual test is in the loop below. (I accidentally left this in after refactoring the test in my last MR)
* | Merge branch 'new-rusqlite' into 'main'opara2025-06-112-17/+8
|\ \ | |/ |/| | | | | Bump rusqlite dependency to 0.36.0 See merge request tpo/core/arti!3041
| * Bump rusqlite dependency to 0.36.0Nick Mathewson2025-06-102-17/+8
| |
* | Merge branch 'hs-interval-min' into 'main'Nick Mathewson2025-06-101-1/+1
|\ \ | | | | | | | | | | | | tor-netdir: decrease minimum hsdir_interval from 30 to 5 See merge request tpo/core/arti!3042
| * | tor-netdir: decrease minimum hsdir_interval from 30 to 5Jim Newsome2025-06-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This matches the spec change: <https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/406> Progress on: <https://gitlab.torproject.org/tpo/core/chutney/-/issues/40038>
* | | Merge branch 'hickory-upgrade' into 'main'Nick Mathewson2025-06-103-6/+16
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Upgrade dependency to hickory-proto 0.25.2 Closes #1982 See merge request tpo/core/arti!3038
| * | Remove yoke from downgrade-dependencies.Nick Mathewson2025-06-101-1/+0
| | |
| * | Upgrade dependency to hickory-proto 0.25.2Nick Mathewson2025-06-092-5/+16
| | | | | | | | | | | | Closes #1982.
* | | Merge branch 'circhop-refactor' into 'main'gabi-2502025-06-108-578/+1636
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Write conflux tests, fix bugs, address TODOs Closes #2011 See merge request tpo/core/arti!3034
| * | | tor-proto: Do not use fallback cc algorithm when testing.Gabriela Moldovan2025-06-101-3/+7
| | | | | | | | | | | | | | | | For conflux, we need to test against vegas.
| * | | tor-proto: Get rid of unnecessary boolean param.Gabriela Moldovan2025-06-103-33/+15
| | | |