| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These are currently accepted. I'm not sure if we want to change that.
For now, add a test case.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
ipnet is a very widely used crate which is already in our dependency
stack.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This is, also, wrong.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We should privilege the "is the same" case. Rename check to check2
and check1 to check.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | | |
Derive NetdocParseableUnverified for RouterDesc
See merge request tpo/core/arti!4134
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Only for testing, just returns the inner body. Will be removed once we
have a proper verify method.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We don't need the type to be private. Indeed, we'd like it not to be
to make Microdesc construction with Constructor regular
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
"OnionKeyIntro" is particularly odd. Mostly people won't need to
refer to this, anyway.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This lets us skip fields which have the default values.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Create dirauth crates (empty)
See merge request tpo/core/arti!4122
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Let's start this now.
|
| | | | | | | |
|
| | |/ / / /
| | | | |
| | | | |
| | | | | |
We already seem to use "network-programming", which kind of fits.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This will let us do more exciting munging more clearly.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The vote test files are for the next consensus interval, so we need to
verify them at a slightly future time.
|
| | | | | | |
|
| |/ / / / |
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
arti: Rewrite hand-written tests using `trycmd`
See merge request tpo/core/arti!4126
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | | |
|