summaryrefslogtreecommitdiff
path: root/crates/tor-circmgr/src
Commit message (Collapse)AuthorAgeFilesLines
* tor-circmgr: If necessary, extend the circuit to become STUB+.Gabriela Moldovan2024-05-151-8/+42
| | | | Closes #1400
* tor-circmgr: Add a helper for extending HsCircStubs by one hop.Gabriela Moldovan2024-05-151-2/+15
| | | | | | We're about to use this in `maybe_extend_stub_circuit` too. Part of #1400
* tor-circmgr: Fix path not being extended if lite vanguards are enabled.Gabriela Moldovan2024-05-151-1/+10
|
* tor-circmgr: Assign error-handling closure to variable.Gabriela Moldovan2024-05-151-7/+10
| | | | We will soon need to reuse this.
* tor-circmgr: Rename neighbor_exclusion variables for clarity.Gabriela Moldovan2024-05-151-4/+4
| | | | | | I am about to reuse one of these on the "lite" vanguards branch. I am renaming them to make it easier to see which one of the two I will be using.
* tor-circmgr: After building the HS path, assert the length is correct.Gabriela Moldovan2024-05-151-1/+18
| | | | | | One of these assertions currently fails, because we have a bug in the vanguard path builder: if lite vanguards are enabled, we only build 2-hop circuits instead of 3.
* tor-circmgr: Don't log unless we are launching some circuits.Gabriela Moldovan2024-04-291-5/+7
| | | | Otherwise we end up logging that we're launching 0 circuits.
* tor-circmgr: Remove no-longer-relevant TODO.Gabriela Moldovan2024-04-291-1/+1
| | | | The wanted_kind _does_ matter.
* tor-circmgr: The circuit must still be usable, even if vanguards are enabled.Gabriela Moldovan2024-04-291-3/+1
|
* tor-circmgr: Prefer STUB+ where possible.Gabriela Moldovan2024-04-292-10/+61
| | | | Closes #1385
* tor-circmgr: Remove no-longer-needed dead_code allow.Gabriela Moldovan2024-04-291-1/+0
|
* tor-circmgr: Have separate targets for the STUB and STUB+ pools (fmt).Gabriela Moldovan2024-04-291-3/+3
|
* tor-circmgr: Have separate targets for the STUB and STUB+ pools.Gabriela Moldovan2024-04-291-32/+46
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2102#note_3024366
* tor-circmgr: Add a TODO about launching HS circuits in parallel.Gabriela Moldovan2024-04-291-0/+1
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2102#note_3024370
* tor-circmgr: Expand on the ForLaunch docs.Nick Mathewson2024-04-291-1/+2
|
* tor-circmgr: Remove an addressed TODO.Gabriela Moldovan2024-04-291-13/+0
|
* tor-circmgr: Log the kinds of circuits we're about to launch (fmt).Gabriela Moldovan2024-04-291-4/+1
|
* tor-circmgr: Log the kinds of circuits we're about to launch.Gabriela Moldovan2024-04-292-3/+24
|
* tor-circmgr: Remove no-longer-needed dead code allows.Gabriela Moldovan2024-04-291-2/+0
|
* tor-circmgr: Make a fraction of preemptive HS circuits be STUB+.Gabriela Moldovan2024-04-292-11/+111
| | | | Closes #1353
* tor-guardmgr: Temporarily reintroduce VanguardConfig.Gabriela Moldovan2024-04-291-1/+1
| | | | | | | | | | | | | | As discussed on #tor-dev, I'm reintroducing `VanguardConfig` for now. The `VanguardConfig` specifies what mode (full/lite/disabled) the `VanguardMgr` should run in. We currently don't have a separate modes for HS clients and HS services. We shouldn't actually *need* a `VanguardConfig` at all, so this is just a (hopefully!) short- or medium-term fix until we sort out #1382 (which might involve making breaking changes to our `reconfigure()` APIs). Closes #1272
* tor-circmgr: Loop until we run out of circuits to launch.Gabriela Moldovan2024-04-251-1/+1
| | | | | Previously this would only loop `n_to_launch - 1` times, so the pool was always 1 circuit short of the `n_to_launch` target.
* Use clone_from in CircMgr config updater.Nick Mathewson2024-04-221-1/+3
| | | | | Clippy prefers this idiom as potentially more efficient. It's not critical-path, but let's let clippy have its way.
* tor-guardmgr: Store whether we're running an onion svc (fmt).Gabriela Moldovan2024-04-111-1/+6
|
* tor-guardmgr: Store whether we're running an onion svc.Gabriela Moldovan2024-04-112-2/+10
| | | | | | The `VanguardMgr` needs to know whether arti is running as an onion service or not, in order to figure out which of the `vanguards_enabled` and `vanguards_hs_service` modes to use.
* tor-circmgr: Call VanguardMgr::launch_background_tasks.Gabriela Moldovan2024-04-052-1/+10
|
* tor-guardmgr: Pass an rng to select_vanguard.Gabriela Moldovan2024-04-051-2/+2
| | | | | This function will need to randomly select a vanguard, so it needs an `Rng`.
* tor-guardmgr: Give VanguardMgr a handle to the runtime (fmt).Gabriela Moldovan2024-04-052-3/+14
|
* tor-guardmgr: Give VanguardMgr a handle to the runtime.Gabriela Moldovan2024-04-054-13/+14
|
* tor-circmgr: Remove addressed TODO.Gabriela Moldovan2024-04-051-2/+0
| | | | This was addressed in !2046, but I forgot to remove the TODO.
* exitpath: Refactor a test to use tor-relay-usage.Nick Mathewson2024-03-281-20/+14
|
* Remove temporary functions in CheckedRelay.Nick Mathewson2024-03-284-12/+14
|
* tor-circmgr: Fix a clippy warning.Gabriela Moldovan2024-03-211-2/+2
|
* tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵Gabriela Moldovan2024-03-211-7/+7
| | | | hop too (fmt).
* tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵Gabriela Moldovan2024-03-211-5/+9
| | | | hop too.
* tor-circmgr: Rewrite RelayExclusion building using exclude_identities().Gabriela Moldovan2024-03-211-19/+7
|
* tor-circmgr: Add function for building a RelayExclusion from a slice of relays.Gabriela Moldovan2024-03-211-0/+14
|
* tor-guardmgr: Make Vanguard::select_relay take a RelayExclusion.Gabriela Moldovan2024-03-211-3/+31
| | | | | | | This enables us to prevent the same relay from being picked in consecutive positions in a path. Part of #1340
* tor-circmgr: Clarify that stub circuits are sometimes 4-hop circuits.Gabriela Moldovan2024-03-201-1/+1
|
* tor-circmgr: Move HsPathBuilder trait impl closer to struct definition.Gabriela Moldovan2024-03-201-35/+35
| | | | This is just code movement to make the code a bit easier to follow.
* tor-circmgr: Add allow(unused) for functions only used on particular feature ↵Gabriela Moldovan2024-03-201-0/+2
| | | | sets.
* tor-circmgr: Move ExitPathBuilder::from_chosen_exit under the test mod.Gabriela Moldovan2024-03-201-10/+13
| | | | | `ExitPathBuilder` is now `pub(crate)`, so we need to move this under the `test` module to fix the "unused" clippy warning.
* tor-circmgr: Make the path module crate-private.Gabriela Moldovan2024-03-205-16/+24
| | | | | | | | | | | | | | We're not currently using any of the path builders outside of `tor-circmgr`, so let's make them crate-private for now. Care must be taken if/when we decide to make them public again. For instance, the `HsPathBuilder` exposes two path building functions, one that uses vanguards, and one that doesn't. We want to strongly encourage the use of the vanguards-aware version of the function whenever the `vanguards` feature is enabled, without breaking any of its existing non-vanguard uses. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2046#note_3010217
* tor-circmgr: Reference #1339 in a TODO.Gabriela Moldovan2024-03-201-0/+2
|
* tor-circmgr: Cross-reference the hspath docs in the HsCircStubKind docs.Gabriela Moldovan2024-03-201-1/+3
|
* tor-circmgr: Move HsPathBuilder docs to the module-level.Gabriela Moldovan2024-03-201-39/+41
|
* tor-circmgr: Remove unnecessary Result wrapping.Gabriela Moldovan2024-03-202-10/+9
|
* tor-circmgr: Unconditionally define VanguardMode.Gabriela Moldovan2024-03-202-16/+7
|
* tor-circmgr: Apply deferred cargo fmt.Gabriela Moldovan2024-03-201-9/+2
|
* tor-circmgr: Rename pick_path to pick_path_with_vanguards.Gabriela Moldovan2024-03-202-5/+5
| | | | | | When the `vanguards` feature is enabled, we define `pick_path_with_vanguards` instead of `pick_path`, rather than conditionally defining 2 different versions of the same function.