aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-netdoc: addr policy: Add tests for overlong prefixesIan Jackson2026-06-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | These are currently accepted. I'm not sure if we want to change that. For now, add a test case.
| * | | | tor-netdoc: addr policy: Use ipnet instead of open-coding it allIan Jackson2026-06-182-31/+18
| | | | | | | | | | | | | | | | | | | | | | | | | ipnet is a very widely used crate which is already in our dependency stack.
| * | | | tor-netdoc: addr policy: Fix /0 handling bugIan Jackson2026-06-181-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ADDR/0 is not the same as *, because it specifies the IP version. Turning 0.0.0.0/0 into * is wrong, because * accepts IPv6 too. Do this by abolishing the V4Star and V6Star variants. Sadly Rust thinks that u32 << 32 is an overflow, not zero, so we do still need a special case for a zero prefix length. (But we're about to delete this code.) Fixes #2589.
| * | | | tor-netdoc: addr policy tests: Add test case for IPv4 /0Ian Jackson2026-06-181-0/+1
| | | | | | | | | | | | | | | | | | | | This is, also, wrong.
| * | | | tor-netdoc: addr policy tests: Rename check/check1/check2Ian Jackson2026-06-181-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | We should privilege the "is the same" case. Rename check to check2 and check1 to check.
| * | | | tor-netdoc: addr policy tests: Avoid repeating where string isn't changedIan Jackson2026-06-181-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to easily distinguish by eye, the cases where things changed (ie, where the input string was canonical), from the ones where they didn't. One of these cases is a bug.
| * | | | tor-netdoc: addr policy tests: Improve a few panic messagesIan Jackson2026-06-181-2/+2
| | | | |
| * | | | tor-netdoc: addr policy: Correct terminologyIan Jackson2026-06-182-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A "mask" is a bitmask, eg 255.255.0.0 in 192.168.0.0/255.255.0.0. These are all prefix lengths. Using the word "mask" to refer to a prefix length is quite bad, because prefix lengths are numbers and sometimes masks are too. Using one as the other would be a bug.
* | | | | Merge branch 'rd-derive-parse' into 'main'Ian Jackson2026-06-232-2/+52
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | Derive NetdocParseableUnverified for RouterDesc See merge request tpo/core/arti!4134
| * | | | tor-netdoc: Add TODOClara Engler2026-06-231-1/+1
| | | | |
| * | | | tor-netdoc: Replace assume_wellsigned() with unwrap_unverified()Clara Engler2026-06-231-10/+3
| | | | |
| * | | | tor-netdoc: Add small RouterDesc parse2 testClara Engler2026-06-221-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a very small RouterDesc parse2 test only verifying whether the testdata2 gets properly parsed, with a minimal length verification alongside two identity related fields. Once we have encoding and verification support, we have to extend this test of course.
| * | | | tor-netdoc: Add test only RouterDesc verifyClara Engler2026-06-221-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Only for testing, just returns the inner body. Will be removed once we have a proper verify method.
| * | | | Derive NetdocParseableUnverified for RouterDescClara Engler2026-06-222-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally! 🎉 This commit derives NetdocParseableUnverified for RouterDesc by adding the respective derive_deftly attributes to the top-level definition as well as the member fields that require it. A .verify() method as well as unit tests will be added in the next commits. Encoding still depends on a few tiny papercuts but will otherwise be added shortly too, although in a different branch.
* | | | | tor-netdoc: relay families: Add TODO re overhaul/removal of type(s)Ian Jackson2026-06-221-0/+7
| | | | |
* | | | | tor-netdoc: relay families: Move TODO out of rustdocIan Jackson2026-06-221-2/+2
| | | | |
* | | | | tor-netdoc: Microdesc: derive ConstructorIan Jackson2026-06-223-2/+12
| | | | |
* | | | | tor-netdoc Micordesc: Make intro item type publicIan Jackson2026-06-222-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | We don't need the type to be private. Indeed, we'd like it not to be to make Microdesc construction with Constructor regular
* | | | | tor-netdoc Micordesc: rename the intro item typeIan Jackson2026-06-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | "OnionKeyIntro" is particularly odd. Mostly people won't need to refer to this, anyway.
* | | | | tor-netdoc test: Add a round-trip test for microdescriptorsIan Jackson2026-06-221-1/+12
| | | | |
* | | | | tor-netdoc: Avoid encoding default values in microdescsIan Jackson2026-06-221-4/+4
| | | | |
* | | | | 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
| | | | |