summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-netdoc: Removed dependency on `once_cell`hashcatHitman2025-06-1410-41/+41
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | tor-log-ratelim: Removed dependency on `once_cell`hashcatHitman2025-06-143-4/+3
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | tor-llcrypto: Removed dependency on `once_cell`hashcatHitman2025-06-142-3/+2
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | tor-dirmgr: Removed dependency on `once_cell`hashcatHitman2025-06-143-7/+9
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | tor-config-path: Removed dependency on `once_cell`hashcatHitman2025-06-143-9/+8
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | tor-config: Removed dependency on `once_cell`hashcatHitman2025-06-142-3/+2
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | tor-circmgr: Reduced dependency on `once_cell`hashcatHitman2025-06-141-2/+2
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | fs-mistrust: Removed dependency on `once_cell`hashcatHitman2025-06-143-8/+6
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | arti-relay: Removed dependency on `once_cell`hashcatHitman2025-06-143-8/+7
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | tor-error: Removed dependency on `once_cell`hashcatHitman2025-06-132-3/+1
| | | | | | | | | | | | | | | | | | - Replaced `once_cell::unsync::Lazy` with `std::cell::LazyCell`. Signed-off-by: hashcatHitman <[email protected]>
* | | arti: keys: Fix arti keys help messagehjrgrn2025-06-232-3/+3
| | |
* | | arti console logging: use stderr instead of stdoutJim Newsome2025-06-173-4/+5
| | | | | | | | | | | | Fixes #2024
* | | tor-proto: use `DynamicRateLimitedWriter` in `DataWriter`Steven Engler2025-06-161-6/+17
| | | | | | | | | | | | This uses just a placeholder `Empty` stream for config updates.
* | | 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.
* | | 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-137-166/+137
| | | | | | | | | | | | Closes #1999
* | | tor-proto: Derive HasMemoryCost for UniqId.Gabriela Moldovan2025-06-131-1/+5
| | |
* | | 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
|/ /
* | 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.
* arti: Add keys list and keys list-keystoreshjrgrn2025-06-1226-12/+491
|
* 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-111-1/+1
|\ \ | |/ |/| | | | | Bump rusqlite dependency to 0.36.0 See merge request tpo/core/arti!3041
| * Bump rusqlite dependency to 0.36.0Nick Mathewson2025-06-101-1/+1
| |