aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | tor-netdoc: encode derive: New default(skip) featureIan Jackson2026-06-224-0/+72
| | | | | | | | | | | | | | | | | | | | This lets us skip fields which have the default values.
* | | | | tor-netdoc: encode derive: New default(skip) feature (pre-fmt)Ian Jackson2026-06-221-3/+7
| | | | |
* | | | | tor-netdoc: derive encoding for microdescriptorsIan Jackson2026-06-223-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All these types already have parsing derives. The encoding isn't quite right yet. It's legal, but doesn't match C Tor as well as we'd like.
* | | | | Merge branch 'tor-dirauth' into 'main'Ian Jackson2026-06-228-1/+260
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Create dirauth crates (empty) See merge request tpo/core/arti!4122
| * | | | | tor-dirauth: Correct authors (fmt)Ian Jackson2026-06-222-2/+10
| | | | | |
| * | | | | arti-dirauth: Update Cargo metadata (authors, MSRV)Ian Jackson2026-06-221-2/+2
| | | | | |
| * | | | | tor-dirauth: Update MSRVIan Jackson2026-06-221-1/+1
| | | | | |
| * | | | | tor-dirauth: Correct authorsIan Jackson2026-06-221-1/+1
| | | | | |
| * | | | | arti-dirauth: New crate, emptyIan Jackson2026-06-224-0/+156
| | | | | | | | | | | | | | | | | | | | | | | | Let's start this now.
| * | | | | tor-dirauth: New crate, emptyIan Jackson2026-06-223-0/+95
| | | | | |
| * | | | | tor-dirserver: Change "categories" in Cargo.tomlIan Jackson2026-06-221-1/+1
| |/ / / / | | | | | | | | | | | | | | | We already seem to use "network-programming", which kind of fits.
* | | | | tor-netdoc: Add a TODO for use of include_strIan Jackson2026-06-221-0/+2
| | | | |
* | | | | tor-netdoc: embedded auth certs: Use real vote type, not poc (fmt)Ian Jackson2026-06-221-3/+1
| | | | |
* | | | | tor-netdoc: embedded auth certs: Use real vote type, not pocIan Jackson2026-06-221-3/+1
| | | | |
* | | | | tor-netdoc tests: test vote roundtrip with testdata2Ian Jackson2026-06-222-27/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use roundtrip_netstatus, which does nearly all of the work for us. But for it to round-trip, we must do a bunch of fudging. This replaces the old parse2 vote test case (which used the poc type). The test case has some adjustments to cope with missing fields. Move the TODOs for those fields to the test case, so that they're on lines that will be deleted when the fields are implemented.
* | | | | tor-netdoc tests: Adjust `m` placement in routerdescIan Jackson2026-06-221-0/+12
| | | | |
* | | | | tor-netdoc tests: Adjust shared-rand-* base64 paddingIan Jackson2026-06-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now we're working on votes, but the same issue arises in consensuses; we just haven't noticed yet because the testdata2 consensus doesn't have an SRV.
* | | | | tor-netdoc tests: Make adjust_exp into a trait method (fmt)Ian Jackson2026-06-221-25/+25
| | | | |
* | | | | tor-netdoc tests: Make adjust_exp into a trait methodIan Jackson2026-06-221-9/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the future (not quite yet in this branch), there will be tests that want to use roundtrip_netstatus for other test files. We'll want to be able to reuse the per-document-specific munging. So make that into a trait. And document roundtrip_netstatus.
* | | | | tor-netdoc tests: Make regsub take a ReplacerIan Jackson2026-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | This will let us do more exciting munging more clearly.
* | | | | tor-netdoc tests: roundtrip_netstatus: Improve an error messageIan Jackson2026-06-221-1/+1
| | | | |
* | | | | tor-netdoc tests: roundtrip_netstatus: Add a useful debug boundIan Jackson2026-06-221-1/+1
| | | | |
* | | | | tor-netdoc tests: netstatus round trips: allow adjusting nowIan Jackson2026-06-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | The vote test files are for the next consensus interval, so we need to verify them at a slightly future time.
* | | | | tor-netdoc tests: Test verification of votes, error casesIan Jackson2026-06-223-1/+85
| | | | |
* | | | | tor-netdoc: Implement verification for votesIan Jackson2026-06-222-3/+139
|/ / / /
* | | | arti: subcommands: keys: Fix compact outputhjrgrn2026-06-221-1/+1
| | | |
* | | | Merge branch 'keys-list-tests' into 'main'opara2026-06-1811-597/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | arti: Rewrite hand-written tests using `trycmd` See merge request tpo/core/arti!4126
| * | | | arti: Gate the "arti keys" tests behind onion-service-serviceGabriela Moldovan2026-06-171-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that these test more than just the help output, we need to gate them behind the `onion-service-service` feature: the tests involve some C Tor keystores, and require at least one onion service to be configured, because onion services (and clients) are the only thing these keystores are used for.
| * | | | arti: Remove no longer used test helperGabriela Moldovan2026-06-171-13/+1
| | | | |
| * | | | arti: Remove now-obsolete keys test moduleGabriela Moldovan2026-06-173-581/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now have `trycmd` tests that cover most cases, so I am removing this module. The reason this was introduced in the first place is in the module level docs ```rust //! The `assert_cmd` crate is used here instead of the preferred `trycmd` (see //! [`README`](../README.md)) because the output of `keys list` is not deterministic across //! different machines. The design choices of some components are workarounds for this limitation. ``` But this is no longer an issue now that the `keys list` output is sorted. Ideally, all tests would be written this way (we have a few more modules in `cli_tests` that we should probably port to `trycmd` sometime). Note: some of the tests I'm removing here don't have a `trycmd` counterpart in `arti/tests/testcases/keys`. In my opinion, this is perfectly fine, because the old tests were unnecessarily testing all the possible configurations involving 1-2 keystores (one arti, and one C Tor): it is not the responsibility of the CLI tests to cover all these permutations (they should be tested in `tor-keymgr`).
| * | | | arti: Add a trycmd-based test for arti keys list error handlingGabriela Moldovan2026-06-173-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This is a `trycmd`-based replacement for the `list_unregistered_keystore_fails()` test, which will be removed soon.
| * | | | doc/keys.md: Un-ignore some of the example snippetsGabriela Moldovan2026-06-172-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This un-ignores some of the output snippets from the `doc/keys.md` file, so that our `trycmd` test runner will actually run them. This will force us to keep the snippet in sync with the code. This involved adding some extra config for the test C Tor keystore, and tweaking the output to match what the commands actually print out.
| * | | | arti: Sort the arti keys list outputGabriela Moldovan2026-06-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This will make the output deterministic and enable us to write some `trycmd` tests in the form of markdown output snippets.
* | | | | tor-netdoc: Use format_args! instead of format!Clara Engler2026-06-181-1/+1
| | | | |
* | | | | tor-netdoc: Use chain!() instead of pushClara Engler2026-06-181-6/+7
| | | | | | | | | | | | | | | | | | | | Replaces a push by using the chain!() macro from itertools.
* | | | | tor-netdoc: Add test for default deny encoding of AddrPolicyClara Engler2026-06-181-0/+28
| | | | |
* | | | | tor-netdoc: Round-trip encoding test for AddrPolicyClara Engler2026-06-181-1/+8
| | | | |
* | | | | tor-netdoc: Derive NetdocEncodable in unit testClara Engler2026-06-181-1/+1
| | | | |
* | | | | tor-netdoc: Replace Ignored with () in AddrPolicy testClara Engler2026-06-181-5/+2
| | | | | | | | | | | | | | | | | | | | () implements encodable which we will derive soon.
* | | | | tor-netdoc: Add NetdocEncodableFields for AddrPolicyClara Engler2026-06-182-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | This commit implements NetdocEncodableFields for AddrPolicy in a non-trivial fashion. A unit test will be added in a moment.
* | | | | tor-netdoc: Make some policy methods constClara Engler2026-06-182-3/+3
| |/ / / |/| | | | | | | | | | | | | | | | | | | This commit makes some policy related constructor functions constant, so we can use them in const expressions, which will be required for the next commit.
* | | | Merge branch 'msrv-1.91' into 'main'gabi-2502026-06-1868-68/+68
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Bump MSRV to 1.91 See merge request tpo/core/arti!4105
| * | | | Bump MSRV to 1.91Clara Engler2026-06-1568-68/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit bumps the MSRV to 1.91 which was released on 2025-10-30. The Cargo.toml files were updated as follows: ```sh git ls-files | \ grep ".*Cargo\.toml$" | \ xargs sed -i '' 's/^rust-version = "1\.89"$/rust-version = "1\.91"/g' ``` The following files were updated manually: ``` modified: .gitlab-ci.yml modified: README.md modified: flake.nix modified: maint/docker-android/Dockerfile ```
* | | | | Merge branch 'derive-depr' into 'main'Clara Engler2026-06-182-0/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: derives: allow handling deprecated fields See merge request tpo/core/arti!4118
| * | | | | tor-netdoc: constructor derive: allow setting deprecated fieldsIan Jackson2026-06-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We must generally set such a field to the default.
| * | | | | tor-netdoc: parse2 derive: allow setting deprecated fieldsIan Jackson2026-06-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to derive from a struct with deprecated fields, without triggering the warning. This doesn't yet treat encoding as yet, because the only deprecated field I encountered was `skip` which means the derived encoder never mentions it.
* | | | | | Merge branch 'misc_string_slices_1' into 'main'Clara Engler2026-06-1814-68/+187
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix string_slice exceptions outside of netdoc See merge request tpo/core/arti!4092
| * | | | | | arti: remove string slicesNick Mathewson2026-06-101-2/+1
| | | | | | |
| * | | | | | arti-rpcserver: remove string slicesNick Mathewson2026-06-101-5/+4
| | | | | | |
| * | | | | | arti-client: remove string slicesNick Mathewson2026-06-102-8/+6
| | | | | | |