summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
* Bump all the unstable tor- and arti- crates to 0.40.0.Gabriela Moldovan2026-03-021-13/+13
| | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.40.0 done
* Allow clippy::collapsible_if to triggerGabriela Moldovan2026-02-161-0/+1
| | | | | | | | | `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.
* Bump MSRV from 1.86 to 1.89Gabriela Moldovan2026-02-161-1/+1
| | | | | | | As agreed at our last team meeting. See https://gitlab.torproject.org/tpo/core/arti/#minimum-supported-rust-version
* Bump time to 0.3.47Gabriela Moldovan2026-02-161-1/+1
| | | | | | This enables us to un-ignore RUSTSEC-2026-0009. See #2341 for analysis of impact.
* release: Remove semver.md files from 2.0.0 release.Wesley Aptekar-Cassels2026-02-021-5/+0
|
* release: Bump `arti-*` and `tor-*` crates to 0.39.0Wesley Aptekar-Cassels2026-02-021-13/+13
| | | | | | | | | | Done via: ``` for crate in $(./maint/list-crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.39.0 done ```
* Merge branch 'main' into 'main'gabi-2502026-02-021-1/+1
|\ | | | | | | | | fix(minver): Update paste dependency to be minver compatible See merge request tpo/core/arti!3610
| * fix(minver): Update paste dependency to be minver compatibleSamuel Cobb2026-01-261-1/+1
| |
* | maint/add_warning: Run script to add new warningGabriela Moldovan2026-01-271-0/+1
|/ | | | This adds the lint to all our crates.
* tor-netdoc: Remove remaining use of EP::OtherClara Engler2026-01-151-8/+16
| | | | | | 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.
* Merge branch 'encoded-authcert' into 'main'Ian Jackson2026-01-1515-136/+605
|\ | | | | | | | | Implement EncodedAuthCert and use it in poc for votes See merge request tpo/core/arti!3592
| * tor-netdoc: EncodedAuthCert: docs grammarIan Jackson2026-01-151-1/+1
| |
| * tor-netdoc: EncodedAuthCert: remove another bit of leftover debugIan Jackson2026-01-151-1/+0
| |
| * tor-netdoc: EncodedAuthCert: remove a hard tab in a commentIan Jackson2026-01-151-1/+1
| |
| * tor-netdoc: EncodedAuthCert: bodge the features for nowIan Jackson2026-01-151-2/+3
| | | | | | | | | | The feature arrangements in tor-netdoc are getting to be in need of a serious overhaul.
| * tor-netdoc: EncodedAuthCert: remove a bit of leftover debugIan Jackson2026-01-151-1/+1
| |
| * tor-netdoc: EncodedAuthCert: move future plans to a commentIan Jackson2026-01-151-0/+22
| | | | | | | | This probably isn't going to happen, but let's keep the idea in-tree.
| * tor-netdoc: EncodedAuthCert: move/tidy rationale informationIan Jackson2026-01-151-0/+20
| | | | | | | | | | Move the information which still seems relevant out of the plan document.
| * tor-netdoc: EncodedAuthCert: use in poc integration test / demoIan Jackson2026-01-151-6/+15
| |
| * tor-netdoc: EncodedAuthCert: unit testsIan Jackson2026-01-151-0/+197
| |
| * tor-netdoc: EncodedAuthCert: implementIan Jackson2026-01-153-0/+214
| | | | | | | | As per doc/dev/notes/authcert-in-consensus.md.
| * tor-netdoc: Expose whole input string (rustfmt)Ian Jackson2026-01-151-2/+1
| |
| * tor-netdoc: Expose whole input stringIan Jackson2026-01-152-8/+18
| | | | | | | | | | | | | | | | The string so far is exposed already via whole_for_signatures. It is unusual for a doc parser to need this, but embedded documents can use this plus byte_position to get the original input text for their part of the outer document.
| * tor-netdoc: parse2: Provide NetdocParseable::is_structural_keyword (rustfmt)Ian Jackson2026-01-152-5/+3
| |
| * tor-netdoc: parse2: Provide NetdocParseable::is_structural_keywordIan Jackson2026-01-156-2/+87
| | | | | | | | Roughly as per the proposal in `doc/dev/notes/authcert-in-consensus.md`.
| * tor-netdoc: Abolish poc's AuthCert (rustfmt)Ian Jackson2026-01-152-8/+3
| |
| * tor-netdoc: Abolish poc's AuthCertIan Jackson2026-01-154-109/+13
| | | | | | | | | | | | | | | | | | | | | | We can use the real AuthCert now that it implements the parse2 traits. The verification function is still used by poc's netstatus code and by a test case. We must change the field names in a few places, because the real AuthCert's struct field names are the keywords, whereas the poc's are the key names. (A shame that they're different!)
| * tor-netdoc: Prepare poc's DirAuthKeyCertSigned::verify_selfcertIan Jackson2026-01-151-7/+8
| | | | | | | | | | | | | | Use accessors for the body. (Eventually this function will replace, be replaced by, or merge with, the existing signature code outside poc.)
| * tor-netdoc: Add an error variant we'll need for parsing embedded docsIan Jackson2026-01-151-0/+3
| |
| * tor-netdoc: Improve Keyword API slightlyIan Jackson2026-01-152-1/+13
| |
* | Merge branch 'dirmirror-authcert' into 'main'Clara Engler2026-01-154-23/+37
|\ \ | | | | | | | | | | | | Implement authority certificate management See merge request tpo/core/arti!3561
| * | tor-netdoc: Change error variantsClara Engler2026-01-153-18/+18
| | | | | | | | | | | | | | | | | | | | | This commit changes `ErrorProblem::Other` to `ErrorProblem::OtherBadDocument` while adding two new variants: * `ErrorProblem::Internal` * `ErrorProblem::BadApiUsage`
| * | parse2: OOB check for parse_netdoc_multiple_with_offsetsClara Engler2026-01-151-5/+15
| | | | | | | | | | | | | | | | | | | | | This commit adds an out-of-bounds memory check to parse2::parse_netdoc_multiple_with_offsets while adding the guarantee that interfacing applications do not need to validate the returned usize values to be in-range.
| * | tor-netdoc: Make ConsensusFlavor exhaustiveClara Engler2026-01-151-1/+5
| |/ | | | | | | | | | | | | | | | | | | This commit marks the ConsensusFlavor struct exhaustive because handling it in a non-exhaustive fashion would cause lots of redundant error handling in tor-dirserver. Besides, a change in the list of consensus flavors should indeed be breaking for applications making use of this struct, as it is quite a heavy change, from a netdoc point of view.
* / tor-netdoc: Rename Version and expose it as netstatus::SoftwareVersionIan Jackson2026-01-154-9/+9
|/ | | | | | | This struct is still a bit odd, and there's a todo saying we may change it again, but at least now it's now available. While we're here, rename the variant Tor to CTor.
* tor-netdoc: Fix typoIan Jackson2026-01-141-1/+1
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3571#note_3325449
* tor-netdoc: constructors: Use manual non exhaustiveIan Jackson2026-01-143-3/+14
| | | | With `#[non_exhaustive]`, you're not allowed to write even `Thing { ..base }`.
* tor-netdoc: derives: New `skip` document field optionIan Jackson2026-01-144-10/+37
| | | | | This lets us having document items that are "manually non exhaustive" which is necessary for struct literal constructors.
* meta: Remove all semver.md files post-releaseClara Engler2026-01-131-7/+0
| | | | | Fix the conflict in tor-netdoc/semver.md by hand, including the new entries already landed since v1.9.0.
* Merge branch 'authcert-constructor' into 'main'Ian Jackson2026-01-135-5/+183
|\ | | | | | | | | tor-netdoc: constructor derive See merge request tpo/core/arti!3560
| * tor-netdoc: Improve docs for derived constructorsClara Engler2026-01-131-2/+12
| |
| * tor-netdoc: Remove TODO re AuthCert constructionIan Jackson2026-01-131-2/+0
| |
| * tor-netdoc: Deprecate AuthCertBuilderIan Jackson2026-01-133-0/+6
| |
| * tor-netdoc: improve derived Constructor docs with a kind-of exampleIan Jackson2026-01-131-0/+11
| | | | | | | | Let's not ask users to refer to the Constructor derive macro docs.
| * tor-netdoc: Provide AuthCertConstructorIan Jackson2026-01-133-1/+11
| |
| * tor-netdoc: Fix an attribute position in AuthCertIan Jackson2026-01-131-1/+1
| | | | | | | | The compiler doesn't notice this, but it's odd.
| * tor-netdoc: implement Constructor deriveIan Jackson2026-01-131-3/+54
| |
| * tor-netdoc: constructor derive: APIIan Jackson2026-01-131-1/+93
| | | | | | | | This doesn't actually work of course.
* | 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
|