summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | ci: Make the shadow simulation fail if an internal error is logged.Gabriela Moldovan2024-06-041-0/+24
| | | |
* | | | Merge branch 'fixup-features' into 'main'Nick Mathewson2024-06-052-0/+4
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Run fixup-features in preparation for today's release See merge request tpo/core/arti!2188
| * | | arti-rpcserver: Reformat Cargo.toml.Gabriela Moldovan2024-06-051-1/+2
| | | |
| * | | Run fixup-features in preparation for release.Gabriela Moldovan2024-06-052-1/+4
|/ / /
* | | Merge branch 'hs-circ-len' into 'main'gabi-2502024-06-041-23/+104
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-circmgr: Remove HsPool::vanguards_enabled(). Closes #1456 and #1458 See merge request tpo/core/arti!2183
| * | | tor-circmgr: Apply deferred fmt.Gabriela Moldovan2024-06-041-1/+3
| | | |
| * | | tor-circmgr: Add TODOs about improving circuit length checks.Gabriela Moldovan2024-06-041-0/+2
| | | |
| * | | tor-circmgr: Remove HsPool::vanguards_enabled() (fmt).Gabriela Moldovan2024-06-041-2/+10
| | | |
| * | | tor-circmgr: Remove HsPool::vanguards_enabled().Gabriela Moldovan2024-06-041-24/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the HsCircPool had a bug that caused SHORT lite-vanguards circuits to be incorrectly extended by one hop when being repurposed as EXTENDED circuits (EXTENDED circuits only need to be extended by extra hop if full vanguards are in use). Closes #1456 and #1458
| * | | tor-circmgr: Validate the circuit stub length before returning it.Gabriela Moldovan2024-06-041-8/+68
|/ / /
* | | Merge branch 'pick-path-fix' into 'main'gabi-2502024-06-041-12/+49
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-circmgr: Exclude the circ target when building paths. Closes #1425 See merge request tpo/core/arti!2179
| * | | tor-circmgr: If the path is invalid, display the offending hops in the error.Gabriela Moldovan2024-06-031-4/+5
| | | |
| * | | tor-circmgr: Ensure pick_path() builds paths with unique hops (fmt).Gabriela Moldovan2024-06-031-1/+5
| | | |
| * | | tor-circmgr: Ensure pick_path() builds paths with unique hops.Gabriela Moldovan2024-06-031-10/+24
| | | | | | | | | | | | | | | | | | | | We now return an internal error if the path we've just built contains the same hop in multiple positions.
| * | | tor-circmgr: Exclude the circ target when building paths.Gabriela Moldovan2024-06-031-2/+20
| | | | | | | | | | | | | | | | Closes #1425
* | | | Merge branch 'circuit-stub-selection-check' into 'main'gabi-2502024-06-041-2/+41
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-circmgr: Ensure circuit stubs are compatible with the target. See merge request tpo/core/arti!2181
| * | | tor-circmgr: Display the offending hop if the circuit is not compatible with ↵Gabriela Moldovan2024-06-031-4/+5
| | | | | | | | | | | | | | | | target.
| * | | tor-circmgr: Use has_any_relay_id_from to check for relay equality.Gabriela Moldovan2024-06-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When checking for relay equality, we are happy to accept some false positives (which result in building/selecting a different circuit). We want to be less tolerant of false negatives, to avoid accidentally using a circuit that doesn't have the properties we need.
| * | | tor-circmgr: Ensure circuit stubs are compatible with the target.Gabriela Moldovan2024-06-031-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up from !2167. It should prevent issues like #1417 from going unnoticed.
* | | | Merge branch 'doc-fix' into 'main'Nick Mathewson2024-06-031-58/+58
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-config: Move macro above ExplicitOrAuto definition. See merge request tpo/core/arti!2180
| * | | tor-config: Move macro above ExplicitOrAuto definition.Gabriela Moldovan2024-06-031-58/+58
|/ / / | | | | | | | | | | | | | | | | | | The macro needs to be defined before `ExplicitOrAuto`, otherwise we can't reference it in its docs. Fixes the broken doc links.
* | | Merge branch 'more-vanguards2' into 'main'gabi-2502024-06-035-57/+127
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-circmgr: Fix vanguard configuration error Closes #1424 See merge request tpo/core/arti!2168
| * | | arti-client: Unconditionally retire all HS circuits if circmgr says so.Gabi Moldovan2024-06-031-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the circmgr retires all of its circuits, so should the HS circ pool. The circuits can be retired for various reasons (for example, if the configured vanguard mode changes).
| * | | tor-circmgr: Make retire_all_circuits unconditional.Gabi Moldovan2024-06-032-2/+0
| | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2168?commit_id=3c67fa55c7c5b0c4f30c1d57e8e67fe541d9c99e#note_3033368
| * | | tor-circmgr: Log the kind of HS circuit stub we are selecting.Gabriela Moldovan2024-06-031-1/+7
| | | |
| * | | arti-client: Add TODO about always clearing the HS circ pool.Gabriela Moldovan2024-06-031-0/+8
| | | |
| * | | tor-circmgr: Remove VanguardMode from Pool (fmt).Gabriela Moldovan2024-06-033-10/+5
| | | |
| * | | tor-circmgr: Remove VanguardMode from Pool.Gabriela Moldovan2024-06-035-39/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Storing the VanguardMode in multiple places (in the VanguardMgr *and* the HS circ Pool) is dangerous and can lead to split brain situations where different parts of the code think they are running in different VanguardModes. See #1424
| * | | tor-circmgr: Remove dangerous vanguards_enabled() function.Gabriela Moldovan2024-06-032-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `VanguardMgr` should be the source of truth for obtaining the current `VanguardMode`. Closes #1424
| * | | tor-circmgr: Add a test to check that the pool uses the right VanguardMode.Gabriela Moldovan2024-06-031-0/+86
|/ / / | | | | | | | | | See arti#1424
* | | Merge branch 'upgrades-20240531' into 'main'David Goulet2024-06-033-230/+232
|\ \ \ | | | | | | | | | | | | | | | | Upgrade and update packages for upcoming release See merge request tpo/core/arti!2177
| * | | Update check_licenses for priority-queue and tinystrNick Mathewson2024-05-311-2/+2
| | | |
| * | | Run cargo update in preparation for releaseNick Mathewson2024-05-311-224/+225
| | | |
| * | | Upgrade to latest priority-queue.Nick Mathewson2024-05-312-4/+5
| | | |
* | | | Merge branch 'vanguards-testing' into 'main'gabi-2502024-06-0316-9/+496
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | tor-guardmgr: Add more tests for vanguards Closes #1417 and #1408 See merge request tpo/core/arti!2167
| * | | Revert "shadow ci: Increase start_time of the new test."Gabriela Moldovan2024-06-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We don't need this now that #1417 is fixed. This reverts commit a9010f6300c25e4602ecf8017ca176c724ecdfa5.
| * | | tor-circmgr: Ensure we don't select an incompatible circuit stub.Gabriela Moldovan2024-06-031-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, HS stub circuit selection (with vanguards enabled) was buggy: when selecting a circuit stub from the circ pool, we failed to ensure its last hop was different from the circuit target. So in some cases, arti would attempt to extend a stub circuit of the form G -> L2 [-> L3] -> T to T, which can't work, because a relay won't extend a circuit to itself (or to its predecessor, for that matter). Closes #1417
| * | | tor-circmgr: Move vanguard circuit validation to a separate function.Gabriela Moldovan2024-06-031-1/+20
| | | | | | | | | | | | | | | | This will soon grow more complex.
| * | | shadow ci: Increase start_time of the new test.Gabriela Moldovan2024-06-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, one of the tgen processes doesn't exit as expected: ``` 618990:00:06:50.991981 [4717:shadow-worker] 00:30:00.000000000 [ERROR] [torclient-onion-artiserver:11.0.0.19] [process.rs:1525] [shadow_rs::host::process] process 'torclient-onion-artiserver.tgen.1001' exited with status StoppedByShadow; expected end state was exited: 0 but was running ``` This is because of a stub circuit selection bug that only manifests when the `torclient-onion-artiserver` and `torclient-onion-artiserver-full-vanguards` tests are run at the same time. See #1417 for more details.
| * | | shadow test: Add test for onion svc using full vanguards.Gabriela Moldovan2024-06-039-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds an onion service that uses full vanguards, and a client that connects to it. Closes #1408
| * | | shadow ci: Put the test hosts in a HOSTS variable.Gabriela Moldovan2024-06-031-2/+9
| | | | | | | | | | | | | | | | | | | | Moving them to a separate variable makes the script more readable as we add more hosts.
| * | | tor-circmgr: Return an error if HS circ has an invalid length.Gabriela Moldovan2024-06-031-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-guardmgr: Add test for vanguards state file deserialization.Gabriela Moldovan2024-06-035-2/+330
|/ / / | | | | | | | | | This checks that we can read `vanguards.json` state files.
* | | Merge branch 'vanguard-config-example' into 'main'gabi-2502024-06-0312-52/+331
|\ \ \ | | | | | | | | | | | | | | | | arti: Add vanguards settings to example config. See merge request tpo/core/arti!2146
| * | | tor-config: Apply deferred cargo fmt.Gabriela Moldovan2024-06-032-28/+27
| | | |
| * | | tor-config: Cross-reference NotAutoValue in the ExplicitOrAuto docs.Gabriela Moldovan2024-06-031-0/+5
| | | |
| * | | tor-config: Fix a test misusing NotAutoValue.Gabriela Moldovan2024-06-031-15/+11
| | | |
| * | | tor-config: Add macro for implementing NotAutoValue.Gabriela Moldovan2024-06-032-2/+81
| | | |
| * | | tor-config: Re-export serde_value.Gabriela Moldovan2024-06-031-0/+1
| | | | | | | | | | | | | | | | | | | | We are about to need this in other crates (for generating the tests for the `NotAutoValue` implementations).
| * | | tor-config: Add NotAutoValue trait bound to ExplicitOrAuto inner type.Gabriela Moldovan2024-06-032-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a safeguard to prevent users from using ExplicitOrAuto with types that serialize to the same value as ExplicitOrAuto::Auto. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2146#note_3030692