summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* tor-netdoc encode: Fix typos in multiplicity check method docsIan Jackson2025-12-101-4/+4
|
* tor-netdoc encode: Enhance explanation of DeterminedMultiplicitySelectorIan Jackson2025-12-101-0/+3
|
* tor-netdoc encode multiplicity: Fix wrong trait refIan Jackson2025-12-101-1/+1
|
* tor-netdoc encode multiplicity: Add a note about omission of intro itemsIan Jackson2025-12-101-1/+1
|
* tor-netdoc Linkify three more typesIan Jackson2025-12-101-1/+1
|
* tor-netdoc Fix docs typoIan Jackson2025-12-101-1/+1
|
* tor-netdoc: Add two TODOs re trait namingIan Jackson2025-12-102-0/+4
|
* tor-netdoc README: Overview of the traitsIan Jackson2025-12-101-0/+38
|
* tor-netdoc README: Replace structure sectionIan Jackson2025-12-101-8/+11
|
* tor-netdoc README: fix description overviewIan Jackson2025-12-101-4/+3
|
* tor-netdoc README: fix spec refIan Jackson2025-12-101-1/+1
|
* tor-netdoc README: fix terminologyIan Jackson2025-12-101-1/+1
|
* tor-netdoc: semver.md: Document new facilitiesIan Jackson2025-12-101-0/+1
|
* tor-netdoc: Apply encoding derive to SharedRandStatusIan Jackson2025-12-101-2/+3
| | | | | | | | I feel that before merging all this, I ought at least to demonstrate that it can be applied to at least one real type! We can unconditionally `#[derive(Deftly)]`. That is simpler, and harmless if no actual deftly derives are applied.
* tor-netdoc: test2: check round-trip encodingIan Jackson2025-12-101-29/+162
| | | | | | | | | | | | | The test case documents are often not in canonical form. We don't want to change them to be in canonical form because we want to test parsing edge cases. So, we provide a mangling scheme with in-document notes, and annotate all the documents. Apply suitable annotations to all the documents. Test that the encoded forms are as expected. This reverts commit 05e7b8b60061a7e8a8d004a822cc213d3ea22d47.
* tor-netdoc: test2: implement encoding traits for all test typesIan Jackson2025-12-102-20/+59
| | | | | | | Make this whole module conditional on the encode feature. Apply the derives. Provide the necessary manual implementations for the types where we use `with`.
* tor-netdoc: derive netdoc encoding traitsIan Jackson2025-12-104-0/+487
| | | | | Signature encoding is not yet supported. We need to consider how this will work.
* tor-netdoc: debug: Add a placeholder debug print to all the other derivesIan Jackson2025-12-102-0/+36
| | | | | | | | We want to recognise `#[deftly(netdoc(debug))]` because otherwise we have to make lots of these attributes conditional. So, implement it for *all* the derives, providing a nugatory debug statement.
* tor-netdoc: parse2: debug: Explain why we use io::stderr()Ian Jackson2025-12-101-0/+2
|
* tor-netdoc: parse2: debug: Fix an error messageIan Jackson2025-12-101-1/+1
| | | | What is being written to here is StderrLock, not a String.
* tor-netdoc: parse2: debug: Fix scoping of netdoc_parseable_derive_debugIan Jackson2025-12-102-1/+2
| | | | | | While testing I discovered that the `#[deftly(netdoc(debug))]` feature (which dumps parsing progress to stderr) didn't compile if the derive was invoked from elsewhere.
* tor-netdoc: derive: F_KEYWORD_REPORT: put concat on the outsideIan Jackson2025-12-101-2/+2
| | | | This makes it possible to use $F_KEYWORD_REPORT within another concat.
* tor-netdoc: derive_common: Break out docs for attrs in flattenIan Jackson2025-12-102-8/+13
| | | | | | Code motion fromk NetdocParseableFields to NetdocFieldsDeriveCommon. This uses the derive-deftly imported doc comment feature.
* tor-netdoc: derive_common: Break out field ordering checkIan Jackson2025-12-102-16/+18
| | | | Code motion from NetdocParseable to NetdocEntireDeriveCommon.
* tor-netdoc: derive_common: Break out item field type definitionsIan Jackson2025-12-102-6/+6
| | | | Code motion from ItemValueParseable to NetdocItemDeriveCommon.
* tor-netdoc: derive_common: Break out main field type definitionsIan Jackson2025-12-102-12/+11
| | | | | | | | Code motion from NetdocParseable to NetdocEntireDeriveCommon. Code motion from NetdocParseableFields to NetdocFieldsDeriveCommon. Again, the encoder wants exactly this logic.
* tor-netdoc: derive_common: Break out F_KEYWORD_*, F_FLATTEN, F_NORMALIan Jackson2025-12-102-34/+33
| | | | | | | Code motion from NetdocSomeItemsParseableCommon to NetdocSomeItemsDeriveCommon. Encoding wants exactly the same logic.
* tor-netdoc: Introduce new derive_common Rust module with d-d modulesIan Jackson2025-12-102-0/+68
| | | | | | | There is nothing actually in any of these yet. But it is most convenient to lay out the structure now. We'll move code into these modules in forthcoming commits.
* tor-netdoc: parse2: Rename NetdocParseableCommon d-d moduleIan Jackson2025-12-101-3/+3
| | | | | | | | This is only used for structs which contain items, not item value structs. We need a name that reflects this, especially as we are going to add a bunch more modules full of common macro elements.
* tor-netdoc: Break out netdoc_ordering_check into new derive_common.rsIan Jackson2025-12-103-34/+38
|