summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/src/doc
Commit message (Collapse)AuthorAgeFilesLines
* tor-netdoc: Abolish ArgumentNotPresent alias, completing the renameIan Jackson2025-10-231-1/+1
|
* tor-netdoc: Use NotPresent rather than Option<Ignored> to suppress fieldsIan Jackson2025-10-234-8/+8
|
* tor-netdoc: Preamble: Fix garbled doc commentIan Jackson2025-10-221-1/+1
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3378#note_3277957
* tor-netdoc: Preamble: rename relay_version field to server_versionIan Jackson2025-10-223-8/+8
| | | | This makes it match the protocol and the spec.
* tor-netdoc: Say Preamble doesn't contain vote-status, in summary.Ian Jackson2025-10-221-1/+1
|
* tor-netdoc: Explain that Preamble doesn't contain vote-status either.Ian Jackson2025-10-221-1/+1
|
* tor-netdoc: netstatus: Preamble: Name the protocols fields in docIan Jackson2025-10-221-0/+2
|
* tor-netdoc: netstatus: Preamble: rename shared rand fields to match docIan Jackson2025-10-223-18/+18
| | | | | We should use the same name everywhere, even if the name in the spec is clumsy (as it is here).
* tor-netdoc: Move ConsensusFlavor into Consensus structIan Jackson2025-10-223-14/+22
| | | | | | We're going to want to apply the parse2 derive to Preamble, but this field is anomalous. Rather than trying to make it regular, simply move it to the old-parser-specific Consensus struct.
* tor-netdoc: Declare intent not to apply parse2 to ConsensusIan Jackson2025-10-221-4/+1
| | | | | | | Consensus is not going to be easy to square with parse2 - especially, signature handling is very different between the two parsers. Instead, we'll have a new NetworkStatus type.
* tor-netdoc: Rename consensus Header to PreambleIan Jackson2025-10-224-40/+42
| | | | | There is no such thing as the "header" according to the spec. We mean the preamble.
* Merge branch 'p2-shared-rand-status' into 'main'Ian Jackson2025-10-223-10/+26
|\ | | | | | | | | impl ItemValueParseable for SharedRandStatus See merge request tpo/core/arti!3380
| * tor-netdoc: impl ItemValueParseable for SharedRandStatusIan Jackson2025-10-211-0/+1
| |
| * tor-netdoc: impl Display, FromStr, NormalItemArgument for SharedRandValIan Jackson2025-10-211-2/+18
| |
| * tor-netdoc: Change type of timestamp in SharedRandStatus (fmt)Ian Jackson2025-10-211-2/+1
| |
| * tor-netdoc: Change type of timestamp in SharedRandStatusIan Jackson2025-10-213-7/+7
| |
* | tor-netdoc: Lifetime impls: reindentIan Jackson2025-10-211-37/+37
| |
* | tor-netdoc: derive NetdocParseableFields for LifetimeIan Jackson2025-10-211-0/+4
| |
* | tor-netdoc: Lifetime: change type of fieldsIan Jackson2025-10-212-8/+8
| | | | | | | | These fields aren't public so this doesn't have semver impacts.
* | tor-netdoc: Lifetime: derive constructor and accessorsIan Jackson2025-10-211-20/+17
| | | | | | | | | | | | | | | | | | | | | | In a moment, we're going to want to transform the field arguments. That would leave us open to bugs like this: valid_after: valid_after.into(), fresh_until: fresh_until.into(), valid_until: valid_after.into(), We'll sort out the indentation later in this branch.
* | tor-netdoc: Lifetime: Move some documentation to fieldsIan Jackson2025-10-211-10/+10
| | | | | | | | | | This (briefly) regresses the documentation, but it's going to appear again when we derive the methods.
* | tor-netdoc: Lifetime: Construct Lifetime struct earlierIan Jackson2025-10-211-6/+10
|/
* tor-netdoc: Add a lot of spec cross-references and tidy docsIan Jackson2025-10-153-15/+101
| | | | | | | | | | | | | Add links to torspec, and other cross-references. Change heading fof `IgnoredPublicationTimeSp` to `publication` to match spec and distinguish it from the `published` item in netstatus docs. Align several descriptions with the wording from torspec. Remove a restatement of a fact from the spec, on the `valid_until` field in `Lifetime`.
* tor-netdoc: Typo fixes in docsIan Jackson2025-10-152-2/+2
|
* tor-netdoc: tests: Print out vote routerstatusIan Jackson2025-10-151-1/+2
| | | | | | | I have eyeballed the output and it seems to look right. Eventually we'll have encoing code and then we'll be able to check that things round-trip.
* tor-netdoc: tests: Move vote parsing test to netstatus.rsIan Jackson2025-10-151-0/+21
| | | | | This is a test of real document structs now, albeit that it still uses one of the types from `poc`.
* tor-netdoc: impl parse2 for RouterStatus entryIan Jackson2025-10-152-1/+85
|
* tor-netdoc: Type for parsing `m` lines in votesIan Jackson2025-10-152-1/+39
|
* tor-netdoc: Add ConsensusMethod typeIan Jackson2025-10-151-3/+46
|
* tor-netdoc: RouterStatus: Add `publication` argument fieldIan Jackson2025-10-156-3/+28
|
* tor-netdoc: Mirror netdoc structure in RouterStatus document digestsIan Jackson2025-10-154-6/+37
| | | | | | | | In md consensuses the referenced document digest is in the `m` field. This seems to be to make it similar to votes. But really the function of the md desc hash in md rs entries is much more parallel to the plain desc hash in plain rs entries. The way the spec has done it means the `r` item has a needlessly different syntax.
* tor-netdoc: Provide doc_digest on vote routerstatus entriesIan Jackson2025-10-152-6/+12
|
* tor-netdoc: RouterStatus: Split out the `r` item's fieldsIan Jackson2025-10-154-27/+61
| | | | | | | | | This makes the Rust structure closer to the document structure. Arguably, this makes the Rust structure worse. But: I'm really very keen on avoiding handwritten parsing and printing code. And, in the longer term, having this linkage will hopefully apply pressure to avoid further protocol complexity/variation/chaos.
* tor-netdoc: impl parse2 for rs::VersionIan Jackson2025-10-151-0/+10
|
* tor-netdoc: impl parse2 for RelayFlagsIan Jackson2025-10-151-0/+13
|
* tor-netdoc: split up RelayFlags parsing (fmt)Ian Jackson2025-10-151-5/+1
|
* tor-netdoc: split up RelayFlags parsingIan Jackson2025-10-151-14/+47
|
* tor-netdoc: impl parse2 traits for RelayWeightIan Jackson2025-10-151-0/+25
|
* tor-netdoc: split up RelayWeight parsing (fmt)Ian Jackson2025-10-151-4/+2
|
* tor-netdoc: split up RelayWeight parsingIan Jackson2025-10-151-2/+9
| | | | We're going to call from_net_params from the parse2 trait impl.
* Merge branch 'parse2-prep-more' into 'main'opara2025-10-071-1/+1
|\ | | | | | | | | tor-netdoc: parse2: Three minor fixes and a new function See merge request tpo/core/arti!3326
| * tor-netdoc: parse2: Fix variety ordering in a doc commentIan Jackson2025-10-061-1/+1
| | | | | | | | | | We changed the ordering at some point. This comment seems to have been overlooked.
* | Merge branch 'orport-addrs' into 'main'Ian Jackson2025-10-072-10/+4
|\ \ | | | | | | | | | | | | Unify and tidy addrs methods from tor-linkspec and routerdescs See merge request tpo/core/arti!3300
| * | tor-netdoc: Remove obsolete commentIan Jackson2025-10-061-2/+0
| | | | | | | | | | | | There is no longer a trait.
| * | tor-netdoc: RouterStatus: unify `orport_addrs` and `addrs` methodsIan Jackson2025-10-062-8/+4
| |/ | | | | | | | | | | | | We had two functions with different return types but identical semantics. Replace them with one function returning `impl Iterator`. Make it return owned addresses. These are small.
* | tor-netdoc: Make rs `identity` field a Base64FingerprintIan Jackson2025-10-064-3/+4
| | | | | | | | | | | | | | This will allow type-driven parsing. Don't change the type in the (now-mostly-obsolete) builder and accessors; that would seem like pointless churn.
* | tor-netdoc: Provide Base64FingerprintIan Jackson2025-10-061-6/+2
|/ | | | | | | | The three other formats (!) used for representing RSA key fingerprints in netdocs were all provided with helper types, but this one was omitted. I'm going to want it.
* tor-netdoc: Abolish `dangerous-expose-struct-fields`; always expose, insteadIan Jackson2025-10-016-244/+93
| | | | Fixes #2192
* tor-netdoc: No longer impl Sealed for RouterStatus (fmt)Ian Jackson2025-08-261-1/+1
|
* tor-netdoc: No longer impl Sealed for RouterStatusIan Jackson2025-08-262-3/+1
| | | | | We don't need this since RouterStatus no longer implements any sealed traits.