summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
* cargo: Update `arti-*` and `tor-*` to `0.38.0`Clara Engler2026-01-121-13/+13
| | | | | | | | | Done using the following: ```bash for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.38.0 done ```
* tor-netdoc: authcert: Fix wrong linkIan Jackson2026-01-061-1/+1
|
* tor-netdoc: authcert: Add TODO about constructorsIan Jackson2026-01-061-0/+2
|
* tor-netdoc: authcert: rustfmtIan Jackson2026-01-061-5/+5
|
* tor-netdoc: authcert: Delete syntax info from rustdocsIan Jackson2026-01-061-37/+2
| | | | | This is in the spec. I don't think it is a great idea to duplicate it here.
* tor-netdoc: authcert: Fix remaining old names/paths in docsIan Jackson2026-01-061-8/+8
| | | | | These names came from tmp, and we renamed things as we went, but didn't change the docs everywhere.
* tor-netdoc: authcert: Improve docs for CrossCertIan Jackson2026-01-061-13/+12
| | | | Fix the type names while we're here.
* tor-netdoc: authcert: rename tmp test moduleIan Jackson2026-01-061-1/+1
| | | | This module is now the "proper" tests for the parse2 impl on AuthCert.
* tor-netdoc: authcert: abolish tmp module (reindent)Ian Jackson2026-01-061-50/+50
|
* tor-netdoc: authcert: abolish tmp moduleIan Jackson2026-01-061-140/+14
| | | | | | | | | | | tmp's version of AuthCert is gone. Each of its fields is already in AuthCert, including the docs links. I've decided not to transfer the syntax snippets. The remaining function in that module is now an inherent method on AuthCert, not on tmp's version. This needs reformatting since verify_self_signed is now at the wrong level!
* tor-netdoc: authcert: derive PartialEq and Eq in testsIan Jackson2026-01-061-0/+1
| | | | | It's not clear that we want to expose these impls, but our existing tests (in test::tmp) want them.
* tor-netdoc: authcert: Transfer spec links into AuthCert from tmpIan Jackson2026-01-061-28/+14
|
* tor-netdoc: authcert: derive parse2Ian Jackson2026-01-062-1/+13
|
* tor-netdoc: authcert: Add CrossCert to AuthCertIan Jackson2026-01-062-2/+19
| | | | This will enable parse2 to process it.
* tor-netdoc: authcert: Move signatures out of tmp (fmt)Ian Jackson2026-01-061-2/+2
|
* tor-netdoc: authcert: Move signatures out of tmpIan Jackson2026-01-061-68/+79
|
* tor-netdoc: authcert: Move CrossCert out of tmpIan Jackson2026-01-062-86/+99
| | | | | | | | We can call this type authcert::CrossCert. The names in the docs are getting rather wrong, and right now the docs build produces warnings. We'll tidy all that at the end after we're done moving and renaming.
* tor-netdoc: authcert: Rename verify_selfcert to verify_self_signedIan Jackson2026-01-061-14/+14
| | | | | | The distinction is: `verify_selfcert` sounds like it only verifies the self certificate. `veriify_self_signed` completely verifies a document, albeit one that is expected to be self-signed.
* tor-netdoc: authcert: Move AuthCertVersion out of tmpIan Jackson2026-01-062-20/+31
| | | | | Let's keep the existing name `AuthCert` in authcert.rs, so we want to rename this from DirKeyCertificateVersion, while we move it.
* tor-netdoc: authcert: Make all fields pubIan Jackson2026-01-061-7/+7
| | | | This is our new style. Now there's no known-dead code.
* tor-netdoc: authcert: Use Iso8601TimeSp for time fieldsIan Jackson2026-01-062-11/+11
| | | | This will let the parse2 derive work properly.
* tor-netdoc: authcert: Shuffle fingerprint values aboutIan Jackson2026-01-062-19/+11
| | | | | | | | | Make AuthCert look like the network document. This means removing its stored copy of H(KP_auth_sign_rsa), which it previously had via the embedded AuthCertKeyIds. We reculculate it as needed in AuthCert::key_ids().
* tor-netdoc: authcert: Abolish AuthCert::sk_fingerprintIan Jackson2026-01-062-6/+2
| | | | There are no in-tree callers.
* tor-netdoc: authcert: Make key_ids return owned AuthCertKeyIdsIan Jackson2026-01-063-5/+6
| | | | | AuthCert is about to lose its copy of H(KP_auth_sign_rsa) so it needs to return an owned value.
* tor-netdoc: RSA: check exponent and min size in parse2Ian Jackson2026-01-062-1/+24
| | | | | | | | | | | | | | | According to the spec we always use this fixed exponent, and we have a minimum size of 1024. This is checked adhoc in the old parser with some slight assistance from what is now `RsaPublicParse1Helper`. It's not clear to me that checking the exponent is actually a good idea. I think checking the size is probably a bad idea, and if it is a good idea then 1024 is clearly too short. But rather than revisit these questions, let's reproduce the old behaviour in parse2. In parse2 these checks should be features of the type.
* tor-netdoc: RSA: rename helper type to RsaPublicParse1HelperIan Jackson2026-01-064-15/+18
| | | | | | This is used by the old parsing code, apparently as a thing to hang the checking methods off. It is confusing to have so many different RSA types! Let's at least rename this one.
* tor-netdoc: authcert: Improve docs a bitIan Jackson2026-01-061-5/+12
| | | | Spec links from the tmp module will be added later.
* tor-netdoc: authcert: Rename fields in AuthCert to match the specIan Jackson2026-01-062-39/+39
|
* tor-netdoc: authcert: Reorder fields in AuthCert to match the specIan Jackson2026-01-061-4/+4
|
* tor-netdoc: parse_netdoc_multiple_with_offsets: Add comment about offsetsIan Jackson2025-12-181-0/+5
| | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3554#note_3313768
* tor-netdoc: test2: Make t_ok (which takes no boundaries) take &D not &[D]Ian Jackson2025-12-181-16/+16
|
* tor-netdoc: test2: Test parse_netdoc_multiple_with_offsetsIan Jackson2025-12-181-2/+25
| | | | | | * Make a fancy version of t_ok, t_ok_multi, that takes the expected boundary byte offsets. * t_ok is now just for single-document files and is implemented in terms of t_ok_multi. * Use t_ok_multi for the one test case with multiple documents.
* tor-netdoc: test2: Add a test file with more than one documentIan Jackson2025-12-181-0/+17
|
* tor-netdoc: Provide parse2::parse_netdoc_multiple_with_offsetsIan Jackson2025-12-182-0/+22
|
* tor-netdoc: Break out and expose ItemStream::byte_positionIan Jackson2025-12-182-3/+11
|
* tor-netdoc: Fix doc comment for parse_netdoc_multipleIan Jackson2025-12-181-1/+1
|
* tor-netdoc: netstatus preamble: Reorder fields to match spec orderIan Jackson2025-12-181-21/+21
| | | | | As suggested here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3550#note_3313757
* tor-netdoc: netstatus preamble: Add a lot of blank linesIan Jackson2025-12-181-0/+11
| | | | | I'm going to reorder things and this will make that much less error-prone, at least for me.
* tor-netdoc: netstatus preamble: Clarify TODO for known-flagsIan Jackson2025-12-181-1/+1
|
* tor-netdoc: netstatus: improve TODO commentsIan Jackson2025-12-181-1/+10
| | | | | | | | This is the result of reading through the spec and comparing it to the struct. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3550#note_3312672
* tor-netdoc: Clarify the wrong field bug exampleIan Jackson2025-12-181-1/+4
| | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3550#note_3312670
* tor-netdoc: Fix typo in commentIan Jackson2025-12-181-1/+1
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3550#note_3312669
* tor-netdoc: rustfmtIan Jackson2025-12-181-2/+1
|
* tor-netdoc: Preamble: Parse published in votesIan Jackson2025-12-183-0/+5
|
* tor-netdoc: Preamble: Parse consensus-methods in votesIan Jackson2025-12-184-1/+5
|
* tor-netdoc: Preamble: Fix consensus-method parsing in votesIan Jackson2025-12-181-1/+1
|
* tor-netdoc: impl NetdocParseableFields for PreambleIan Jackson2025-12-181-0/+12
|
* tor-netdoc: impl ItemValueParseable for NetParams<i32>Ian Jackson2025-12-181-1/+11
|
* tor-netdoc: impl NetdocParseableFields for ProtoStatusesIan Jackson2025-12-181-1/+63
|
* tor-netdoc: Use $P for prelude in one placeIan Jackson2025-12-182-2/+2
| | | | This was missed, apparently.