| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
I have been losing my way in this file a lot. This may help.
|
| |
|
|
|
| |
This could allow users to attach and detach signatures, hash (only)
the body part, etc.
|
| |
|
|
| |
Such an impl is a footgun. Explain this in docs & comments.
|
| |
|
|
| |
(pre-fmt)
|
| |
|
|
|
|
|
|
|
| |
We want to stop deriving NetdocParseable directly for body structs.
This test case does in fact parse a signed authcert and extract just
the body without verifying the signatures. That's fine in a test, but
we're going to make it involve some hoop-jumping. So, jump those
hoops.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the two separate NetdocParseable and NetdocUnverified derives,
for toplevel signed documents, with a single derive.
This makes the derive API simpler. It will also make it reasonably
possible to avoid deriving NetdocParseable directly for body structs.
Such impls are a security hazard!
In detail:
* Rename NetdocUnverified to NetdocParseableUnverified
* Have it use $IMPL_NETDOC_PARSEABLE from the NetdocParseable deftly
module so that it derives NetdocParseable for the body.
(We'll change this later in the series.)
* Adjust the docs and all call sites.
|
| |
|
|
|
| |
We are going to want to reuse this parsing implementation in another
top-level deftly template.
|
| |
|
|
|
| |
Run rustfmt and selectively apply the hunks that are relevant to the
previous commit.
|
| |
|
|
|
|
|
|
|
|
| |
During encoding, including these hashes in the signature items makes
no sense. The hashes are an *input* to the signature items, but not
part of them.
Move the hashes out of the items. Instead, provide each signatures
section type with a hash accumulator type, in which the hash(es) are
stored.
|
| |
|
|
|
| |
Nonfunctional and formatting changes which reduce noise in the next
commit.
|
| | |
|
| |
|
|
| |
This is going to contain body information, and the hashes, too.
|
| | |
|
| |
|
|
|
|
| |
This is going to be its own trait and it is usually best if macros are
named after traits, rather than having the macro derive a different
trait depending on meta attributes.
|
| |
|
|
|
| |
We're going to want this for cases where the hash computation
machinery didn't DTRT.
|
| |
|
|
| |
We're going to want this for sets of netdoc signature hashes.
|
| |
|
|
| |
For reuse when we split up the NetdocParseable derive.
|
| | |
|
| |
|
|
| |
But, all signatures in the current protocol are irregular :-/.
|
| | |
|
| |\
| |
| |
| |
| | |
tor-dirclient: Support for extra-info requests
See merge request tpo/core/arti!3764
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Accidentally left out in the previous commit.
|
| |/ |
|
| |
|
|
|
| |
This commit adds a TODO to implement a trait combining the common fields
in a network status documents.
|
| |\
| |
| |
| |
| | |
tor-netdoc parse2: Rename *Signed to *Unverified
See merge request tpo/core/arti!3742
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was a weird name, and while working in this area it all seemed to
make the docs strange.
Rename it. This is quite invasive!
In theory we could have the macros generate compatibility aliases, but
that seems quite complex.
|
| | |
| |
| |
| |
| | |
I keep not finding it because all the other signatures stuff is in
signatures.rs.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This test case constructs a "netdoc" which consists of one
dir-key-certification item, and parses it using `AuthCertSignatures as
NetdocParseable`. But we're going to split out the parsing trait for
signatures sections, so that's not going to work any more.
This test tests only corner cases of the derived
SignatureItemParseable implementation; but that's unit tested in the
parse2 tests. (Once upon a time there was perhaps manual parsing code
which needed a specific test.)
Remove it.
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.40.0
done
|
| |
|
|
|
|
|
|
|
| |
`clippy::collapsible_if` started triggering after bumping the MSRV to
1.88.
Since this triggers from a lot of places, and since there even are a
couple of instances where we explicitly allow `clippy::collapsible_ifs`,
I've opened #2342 for deciding what to do about it.
|
| |
|
|
|
|
|
| |
As agreed at our last team meeting.
See
https://gitlab.torproject.org/tpo/core/arti/#minimum-supported-rust-version
|
| |
|
|
|
|
| |
This enables us to un-ignore RUSTSEC-2026-0009.
See #2341 for analysis of impact.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Done via:
```
for crate in $(./maint/list-crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.39.0
done
```
|
| |\
| |
| |
| |
| | |
fix(minver): Update paste dependency to be minver compatible
See merge request tpo/core/arti!3610
|
| | | |
|
| |/
|
|
| |
This adds the lint to all our crates.
|
| |
|
|
|
|
| |
This commit replaces the last remaining uses of `EP::Other` in
`tor-netdoc`, which got removed in arti!3561 but was still made use of
in arti!3592 without causing a merge conflict.
|
| |\
| |
| |
| |
| | |
Implement EncodedAuthCert and use it in poc for votes
See merge request tpo/core/arti!3592
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
The feature arrangements in tor-netdoc are getting to be in need of a
serious overhaul.
|