| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-netdoc Rename NetdocUnverified trait to NetdocParseableUnverified
See merge request tpo/core/arti!4043
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apparently, it is only correct to write
[`NetdocParseableUnverified`](derive_deftly_template_NetdocParseableUnverified),
*after* the definition of that template. Before then, the macro isn't
in scope.
Worse, rustdoc just treats it as a filename and doesn't spot the link,
so you don't get any kind of warning. I think this is an upstream bug,
https://github.com/rust-lang/rust/issues/157304
I found rustdoc's behaviour capricious. I don't intend to go through
the arti tree right now looking for similar patterns. Instead let's
hope the upstream bug gets fixed, and in the meantime do this crate::
thing when we notice we need it.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The NetdocParseableUnverified derive macro implements this
trait (amongst other things). Traits and derive macros should have
aligned names.
This is only used for parsing, so let's keep the "Parseable" part of
the name.
I don't think the effort of deprecated alias, for downstream
compatibility, is worth it, our compatibility policy notwithstanding.
|
| | |/
| |
| |
| |
| |
| |
| | |
The trait is called NetdocUnverified, but the template is
NetdocParseableUnverified. This fixes a dead docs link (which somehow
isn't spotted by rustdoc, but is instead taken to refer to a
nonexistent file).
|
| | |
| |
| |
| |
| |
| |
| |
| | |
At some earlier point in the development of this scheme, the ordering
was different (as it is in poc).
Update all the references in the docs, to the various varieties, so
that they are always plain, md, vote, like ns_type! et al take.
|
| | | |
|
| |/
|
|
| |
We do now support encoding.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
No functional change, just rustfmt.
|
| |
|
|
|
|
|
|
|
| |
This commit changes RelayPlatform::TorVersion to store the platform to
an Option<String> instead of a String because storing a missing/not
present platform as the empty String feels wrong in my opinion.
Besides, we will soon need to add encoding for this type, making now a
good time to change it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This refactors the RelayPlatform test to store the test vectors in an
array and iterate over it, comparing it with the expected output. This
is a lot better than the current version, where there is not just a lot
of copy and pasted code but also some tests that only check for an okay
value.
Unfortunately, there is not an easy way to review this with
--color-moved or something. Personally, I would recommend to review
each original test vector (i.e. a line starting with `let p =` followed
by a string literal) and verify that the exact same string literal is
still present within the new test vector. Afterwards, verifying the
assertion logic should be easy, as it is a one-liner.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list-crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.43.0
done
```
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Just rustfmt.
|
| |
|
|
|
|
|
|
|
| |
This commit changes the tpye of `RouterDesc::identity_ed25519` to be of
EmbeddedCert.
Using the inner keys as the verified values is fine because the legacy
parser continues to verify the legacy cert, as it extracts its timestamp
and signature to the Vec it verifies in the end.
|
| |
|
|
| |
Just rustfmt.
|
| |
|
|
|
|
|
|
|
| |
This commit modifies the legacy parser code in an ugly way to also
return a copy of the KeyUnknown certificate, which will be required for
an EmbeddedCert<> construction.
This is not nice but unavoidable in a setup that makes use of the
self-consuming tor_cert certificate chain, like the legacy parser code.
|
| | |
|
| |
|
|
|
| |
The new encoding impls are feature = "incomplete" so don't need to be
here.
|
| | |
|
| |
|
|
|
| |
We will test this when we test round trip parsing/encoding of votes.
For now, mark it as incomplete.
|
| |
|
|
|
|
|
|
| |
Sorting by the applicable consensus methods set seems reasonable.
The spec doesn't state the order for this. I think that's fine.
We can't expect to repro the same consensus with different software,
and we will produce stable output.
|
| |
|
|
| |
The upshot is that we will sort digests by alg name.
|
| | |
|
| |
|
|
|
|
|
|
| |
When we are generating documents that need to be stable, we need to
generate the same document regardless of what subset of digest names
we understand.
So order DigestName by its string representation.
|
| | |
|
| |
|
|
| |
No functional change.
|
| |
|
|
|
| |
Removes a comment about the virtual/real distinguishment in RouterDesc
as there are no virtual items left anymore.
|
| |
|
|
|
|
|
| |
This item is no longer required because we can extract it from
family_cert.
Unfortunately it requires a breaking change to the getter.
|
| |
|
|
| |
We will need it in the next commit.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the family_cert field to RouterDesc using EmbeddedCert
logic.
Unfortunately, it requires some code gymnastics similar to the (not yet
merged) identity-ed25519 certificates, which we also outlined in a
comment of a previous commit in the branch. Long story short: The
legacy parser and parse2 do not like to co-exist in the same scope due
to the self-consuming tor-cert verification chain of which the legacy
parser makes heavy use.
|
| |
|
|
|
|
| |
This commit modifies the legacy happy families extractor to also return
KeyUnknownCert while adding a comment explaining on why this will be
required.
|
| |
|
|
|
|
|
|
|
| |
This commit splits the inner .map() function of the happy families
extractor in the legacy parser.
In the next commit, we will return both of these variables separately,
but for now this change has no functional change and only looks
redundant.
|
| |
|
|
|
| |
We will change the type in the next commit and this will make auditing
the next commits easier.
|
| |\
| |
| |
| |
| | |
tor-netdoc: encoding support for `w` line in routerstatus
See merge request tpo/core/arti!3991
|
| | | |
|
| | |
| |
| |
| |
| | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3991#note_3413169
|
| | |
| |
| |
| |
| | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3991#note_3413168
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
In the form of trait impls.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
For encoding, we need to represent the raw parameters.
This change is carefully arranged so that when the retain unknown feature is
disabled (ie, in clients), the per-router data structure remains the
same.
|