| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | tor-circmgr: removed unused 'skip_guard_subnet_check' workaround in tests | Steven Engler | 2024-08-15 | 1 | -18/+5 |
| | | |||||
| * | tor-circmgr: removed unused "chosen exit" functionality | Steven Engler | 2024-08-15 | 2 | -116/+12 |
| | | |||||
| * | tor-circmgr: fix flaky `path::exitpath::test::by_ports` test | Steven Engler | 2024-08-13 | 1 | -7/+20 |
| | | | | | | | | | | | | | | | | | The `path::exitpath::test::by_ports` test sometimes failed now that the test is using a `GuardMgr` since `select_guard`, when given a chosen exit, only ensures that the guard and chosen exit are not in the same family. It does not ensure that the guard and exit do not share an extended family. This commit relaxes an assertion in the test. ```text thread 'path::exitpath::test::by_ports' panicked at crates/tor-circmgr/src/path/exitpath.rs:295:9: assertion failed: r1.can_share_circuit(r3, subnet_config) ``` This "chosen exit" functionality isn't actually being used anywhere (`ExitPathBuilderInner::ChosenExit` is only ever constructed in tests). | ||||
| * | tor-circmgr: assert in test that exit path begins with guard | Steven Engler | 2024-08-12 | 1 | -2/+4 |
| | | |||||
| * | tor-circmgr: make `GuardMgr` mandatory | Steven Engler | 2024-08-12 | 3 | -184/+57 |
| | | | | | | | | Functions that took `Option<&GuardMgr>` now take only `&GuardMgr`. Three unit tests were removed that covered behaviour when no guard manager was set. | ||||
| * | tor-circmg: prepare tests for runtime requirement | Steven Engler | 2024-08-12 | 1 | -88/+94 |
| | | | | | | | This wraps some unit tests with `tor_rtcompat::test_with_all_runtimes!`. This is its own commit to get the indentation changes out of the way and declutter the following commit. | ||||
| * | tor-circmgr: Clarify the update_last_hop_kind documentation. | Gabriela Moldovan | 2024-06-20 | 1 | -2/+10 |
| | | |||||
| * | tor-circmgr: Rename VanguardPath to PathBuilder. | Gabriela Moldovan | 2024-06-20 | 2 | -13/+12 |
| | | |||||
| * | tor-circmgr: Break VanguardHsPathBuilder::pick_path into smaller parts (fmt). | Gabriela Moldovan | 2024-06-20 | 1 | -5/+2 |
| | | |||||
| * | tor-circmgr: Break VanguardHsPathBuilder::pick_path into smaller parts. | Gabriela Moldovan | 2024-06-20 | 2 | -118/+259 |
| | | | | | | | This is a follow up from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2186#note_3035525 Closes #1459 | ||||
| * | tor-circmgr: Remove unnecessary TODO. | Gabriela Moldovan | 2024-06-20 | 1 | -1/+0 |
| | | | | | There's not much to refactor about this line. | ||||
| * | tor-circmgr: Rename HsCircStubKind::len to HsCircStubKind::num_hops. | Gabriela Moldovan | 2024-06-20 | 1 | -2/+2 |
| | | |||||
| * | tor-circmgr: Write tests for the HsPathBuilder. | Gabriela Moldovan | 2024-06-20 | 1 | -0/+463 |
| | | | | | | | | These tests should give us *some* assurance that the upcoming `HsVanguardPathBuilder` refactoring doesn't break anything. Part of #1459 | ||||
| * | tor-circmgr: Refactor duplicated circuit stub length calculation. | Gabriela Moldovan | 2024-06-20 | 1 | -14/+1 |
| | | | | | Part of #1459 | ||||
| * | tor-circmgr: Explicitly handle all VanguardMode variants. | Gabriela Moldovan | 2024-06-05 | 1 | -1/+10 |
| | | | | | This is less error-prone than the alternative. | ||||
| * | tor-circmgr: Reference a ticket number in a refactoring TODO. | Gabriela Moldovan | 2024-06-05 | 1 | -1/+1 |
| | | |||||
| * | tor-circmgr: Note that guard_and_target exclusion sometimes doesn't exclude ↵ | Gabriela Moldovan | 2024-06-05 | 1 | -0/+3 |
| | | | | | target. | ||||
| * | tor-circmgr: Exclude the target relay when building vanguards circuits. | Gabriela Moldovan | 2024-06-04 | 1 | -13/+71 |
| | | | | | | | Otherwise, some of the circuits will fail (because if the target is selected as one of the L2, L3, or M hops, it won't be able to extend the circuit to itself). | ||||
| * | tor-circmgr: Return an error if HS circ has an invalid length. | Gabriela Moldovan | 2024-06-03 | 1 | -4/+15 |
| | | | | | | | | | | | | | Previously, we'd `debug_assert` that the length of the path is valid. However, `debug_` asserts are compiled out for release builds, which means that if we have some code path that triggers the assertion failure, it will go unnoticed unless our tests happen to exercise it. It's safer to return an internal error, because we definitely don't want to proceed if the path is too short (see arti#1400 and arti#1409). Addresses https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2154#note_3030820 | ||||
| * | tor-circmgr: Clarify module-level docs. | Gabriela Moldovan | 2024-05-16 | 1 | -0/+6 |
| | | |||||
| * | tor-circmgr: Replace STUB/STUB+ terminology with SHORT/EXTENDED. | Gabriela Moldovan | 2024-05-16 | 1 | -17/+15 |
| | | | | | | | | The previous STUB/STUB+ terminology was confusing, because STUB and STUB+ are both "circuit stubs" (but STUB is shorter than STUB+). Closes #1339 | ||||
| * | tor-circmgr: Rename HsCircStubKind::Stub to HsCircStubKind::Short. | Gabriela Moldovan | 2024-05-16 | 1 | -1/+1 |
| | | | | | Part of #1339 | ||||
| * | tor-circmgr: Fix path not being extended if lite vanguards are enabled. | Gabriela Moldovan | 2024-05-14 | 1 | -1/+10 |
| | | |||||
| * | tor-circmgr: Assign error-handling closure to variable. | Gabriela Moldovan | 2024-05-14 | 1 | -7/+10 |
| | | | | | We will soon need to reuse this. | ||||
| * | tor-circmgr: Rename neighbor_exclusion variables for clarity. | Gabriela Moldovan | 2024-05-14 | 1 | -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 Moldovan | 2024-05-14 | 1 | -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: Remove TODO expressing doubt about VanguardHsPathBuilder. | Gabriela Moldovan | 2024-05-09 | 1 | -2/+0 |
| | | | | | | I don't think it's all wrong, this was left over from the first draft implementation. | ||||
| * | tor-guardmgr: Pass an rng to select_vanguard. | Gabriela Moldovan | 2024-04-05 | 1 | -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. | Gabriela Moldovan | 2024-04-05 | 1 | -2/+2 |
| | | |||||
| * | exitpath: Refactor a test to use tor-relay-usage. | Nick Mathewson | 2024-03-28 | 1 | -20/+14 |
| | | |||||
| * | Remove temporary functions in CheckedRelay. | Nick Mathewson | 2024-03-28 | 2 | -4/+5 |
| | | |||||
| * | tor-circmgr: Fix a clippy warning. | Gabriela Moldovan | 2024-03-21 | 1 | -2/+2 |
| | | |||||
| * | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵ | Gabriela Moldovan | 2024-03-21 | 1 | -7/+7 |
| | | | | | hop too (fmt). | ||||
| * | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵ | Gabriela Moldovan | 2024-03-21 | 1 | -5/+9 |
| | | | | | hop too. | ||||
| * | tor-circmgr: Rewrite RelayExclusion building using exclude_identities(). | Gabriela Moldovan | 2024-03-21 | 1 | -19/+7 |
| | | |||||
| * | tor-circmgr: Add function for building a RelayExclusion from a slice of relays. | Gabriela Moldovan | 2024-03-21 | 1 | -0/+14 |
| | | |||||
| * | tor-guardmgr: Make Vanguard::select_relay take a RelayExclusion. | Gabriela Moldovan | 2024-03-21 | 1 | -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 Moldovan | 2024-03-20 | 1 | -1/+1 |
| | | |||||
| * | tor-circmgr: Move HsPathBuilder trait impl closer to struct definition. | Gabriela Moldovan | 2024-03-20 | 1 | -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 Moldovan | 2024-03-20 | 1 | -0/+2 |
| | | | | | sets. | ||||
| * | tor-circmgr: Move ExitPathBuilder::from_chosen_exit under the test mod. | Gabriela Moldovan | 2024-03-20 | 1 | -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 Moldovan | 2024-03-20 | 3 | -12/+12 |
| | | | | | | | | | | | | | | | 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 Moldovan | 2024-03-20 | 1 | -0/+2 |
| | | |||||
| * | tor-circmgr: Move HsPathBuilder docs to the module-level. | Gabriela Moldovan | 2024-03-20 | 1 | -39/+41 |
| | | |||||
| * | tor-circmgr: Unconditionally define VanguardMode. | Gabriela Moldovan | 2024-03-20 | 1 | -1/+2 |
| | | |||||
| * | tor-circmgr: Apply deferred cargo fmt. | Gabriela Moldovan | 2024-03-20 | 1 | -9/+2 |
| | | |||||
| * | tor-circmgr: Rename pick_path to pick_path_with_vanguards. | Gabriela Moldovan | 2024-03-20 | 1 | -4/+4 |
| | | | | | | | 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. | ||||
| * | tor-circmgr: Remove unnecessary AnonymousPathBuilder impl. | Gabriela Moldovan | 2024-03-20 | 1 | -30/+15 |
| | | | | | | | | | Instead of the `B: AnonymousPathBuilder` argument, `select_guard` now takes separate arguments for the values it previously obtained by calling the methods of `AnonymousPathBuilder`. This enables us to remove the mostly unnecessary `AnonymousPathBuilder` implementation of `VanguardHsPathBuilder`. | ||||
| * | tor-circmgr: Remove an addressed TODO. | Gabriela Moldovan | 2024-03-20 | 1 | -5/+0 |
| | | | | | | This was addressed by extracting the guard selection from `pick_path()` into `select_guard()`. | ||||
| * | tor-circmgr: Talk about vanguards path selection in HsPathBuilder docs. | Gabriela Moldovan | 2024-03-20 | 1 | -3/+23 |
| | | |||||
