summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | 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
| * | tor-guardmgr: Replace From impl with VanguardConfig::mode accessor.Gabriela Moldovan2024-06-033-11/+12
| | |
| * | tor-config: Add ExplicitOrAuto::{as_value, into_value}.Gabriela Moldovan2024-06-031-0/+30
| | |
| * | tor-config: Remove unnecessary bounds.Gabriela Moldovan2024-06-031-6/+1
| | |
| * | arti: Note that auto is the same as disabled if vanguards are disabled.Gabriela Moldovan2024-06-031-0/+3
| | |
| * | tor-guardmgr: Fix broken doc link.Gabriela Moldovan2024-06-031-1/+1
| | |
| * | tor-config: Expand on the ExplicitOrAuto docs.Gabriela Moldovan2024-06-031-0/+52
| | |
| * | arti: Add vanguards settings to example config.Gabriela Moldovan2024-06-032-1/+14
| | |
| * | tor-guardmgr: Use ExplicitOrAuto in the VanguardConfig (fmt).Gabriela Moldovan2024-06-031-2/+8
| | |
| * | tor-guardmgr: Use ExplicitOrAuto in the VanguardConfigGabriela Moldovan2024-06-033-8/+19
| | |
| * | tor-config: Add ExplicitOrAuto helper.Gabriela Moldovan2024-06-031-2/+97
| | | | | | | | | | | | | | | | | | | | | | | | This will be used for the `vanguard.mode` config option. The `VanguardMode` corresponding to the `"auto"` variant will depend on whether the `vanguards` feature is enabled: if the feature is enabled, it is mapped to `VanguardMode::Lite`, and `VanguardMode::Disabled` otherwise.
| * | tor-guardmgr: Unconditionally define VanguardConfig.Gabriela Moldovan2024-06-037-33/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | We want to export the `VanguardConfig` even if the `vanguards` feature is disabled (we will need to unconditionally include it in the arti config). Note that if `vanguards` are disabled, the `VanguardMode` from the `VanguardConfig` can only be `Dsiabled`.
| * | arti-client: Remove unnecessary VanguardConfig pub use.Gabriela Moldovan2024-06-031-6/+0
| | | | | | | | | | | | | | | | | | | | | This is already exported via the `pub mod vanguards` module, so there is no need to export it from the top-level too. This *is* a breaking change, but the downstream fix is trivial (and the type should never have been exported directly from `arti_client::config` in the first place).
| * | tor-circmgr: Downgrade a HS-VANGUARDS TODO.Gabriela Moldovan2024-06-031-1/+1
|/ /
* | Merge branch 'keymgr-key-scripts' into 'main'gabi-2502024-06-0322-51/+485
|\ \ | | | | | | | | | | | | tor-keymgr: Add script for generating test key files. See merge request tpo/core/arti!2121
| * | tor-keymgr: Regenerate the keys.Gabriela Moldovan2024-05-1612-48/+48
| | | | | | | | | | | | | | | The keys generated in this commit are reproducible using the `maint/keygen-openssh-test/generate` script.
| * | maint/keygen-openssh-test: Make keygen deterministic.Gabriela Moldovan2024-05-165-48/+111
| | |
| * | keygen-openssh-test: Update docs.Gabriela Moldovan2024-05-161-1/+1
| | |
| * | maint/keygen-openssh-test: Remove suffix from generate.sh script.Gabriela Moldovan2024-05-152-2/+2
| | |
| * | maint/keygen-openssh-test: Sort dependencies.Gabriela Moldovan2024-05-151-2/+2
| | |
| * | maint/keygen-openssh-test: Add crate license and description.Gabriela Moldovan2024-05-151-0/+6
| | |
| * | editorconfig: Exclude the test keys.Gabriela Moldovan2024-05-151-0/+8
| | |
| * | maint/keygen-openssh-test: Update README.Gabriela Moldovan2024-05-151-3/+16
| | | | | | | | | | | | | | | The README now applies to the generate.sh script too, so it had to be updated.
| * | tor-keymgr: Regenerate the test keys.Gabriela Moldovan2024-05-1512-51/+53
| | | | | | | | | | | | | | | | | | | | | This commit contains a new set of `tor-keymgr/testdata` keys, generated using ./maint/keygen-openssh-test/generate.sh`. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2121#note_3025369
| * | tor-keymgr: Move keygen script to maint.Gabriela Moldovan2024-05-158-20/+31
| | |
| * | tor-keymgr: Make keygen crate part of the workspace.Gabriela Moldovan2024-05-154-2475/+19
| | |
| * | tor-keymgr: Add script for generating test key files.Gabriela Moldovan2024-05-158-0/+2787
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `tor-keymgr/testdata` contains a bunch of OpenSSH keys used for testing. I meant to share the script I generated them with, but somehow never got around to it. Note: the OpenSSH keys generated by this script are going to look slightly different than the ones that are checked into the repo. This is because some of those original key files were generated ad-hoc (I manually modified them a while ago, but I forgot exactly how