aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/src/doc/netstatus
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-223-39/+41
| | | | | 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-222-2/+3
|\ | | | | | | | | impl ItemValueParseable for SharedRandStatus See merge request tpo/core/arti!3380
| * tor-netdoc: Change type of timestamp in SharedRandStatusIan Jackson2025-10-212-2/+3
| |
* | tor-netdoc: Lifetime: change type of fieldsIan Jackson2025-10-211-2/+2
|/ | | | These fields aren't public so this doesn't have semver impacts.
* tor-netdoc: Add a lot of spec cross-references and tidy docsIan Jackson2025-10-152-8/+49
| | | | | | | | | | | | | 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-151-1/+1
|
* tor-netdoc: impl parse2 for RouterStatus entryIan Jackson2025-10-152-1/+85
|
* tor-netdoc: Type for parsing `m` lines in votesIan Jackson2025-10-151-1/+36
|
* tor-netdoc: RouterStatus: Add `publication` argument fieldIan Jackson2025-10-155-2/+6
|
* 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.
* Merge branch 'orport-addrs' into 'main'Ian Jackson2025-10-071-8/+2
|\ | | | | | | | | 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-061-6/+2
| | | | | | | | | | | | | | 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-013-74/+30
| | | | 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.
* tor-netdoc: Fix some visibilitiesIan Jackson2025-08-261-6/+3
|
* tor-netdoc: Correct the headings of two modulesIan Jackson2025-08-262-2/+2
| | | | | each_variety includes votes, so is "network status documents"; each_flavor is just consensuses.
* tor-netdoc: Apply much rustfmt churnIan Jackson2025-08-264-15/+12
|
* tor-netdoc: Provide some Vote thingsIan Jackson2025-08-267-91/+101
| | | | And export *RouterStatus with the macro, and *Header.
* tor-netdoc: rs: centralise some includesIan Jackson2025-08-262-13/+8
| | | | This will allow them to be shared between each_flavor and each_variety.
* tor-netdoc: Introduce experimental ns-vote featureIan Jackson2025-08-264-1/+19
| | | | | | Now we can start actually having code to do with votes. This feature doesn't actually contain any new API surface yet.
* tor-netdoc: Move all each_variety code to each_flavorIan Jackson2025-08-268-1466/+1466
| | | | | | | The amount we're going to be able to reuse for votes is less than we might hope. This commit is just code motion.
* tor-netdoc: ns variety: Provide for flavour-only itemsIan Jackson2025-08-269-9/+53
|
* tor-netdoc: Fix comments to refer to itemsIan Jackson2025-08-264-4/+4
| | | | It's not just types that can vary by variety.
* tor-netdoc: Fix some out-of-date commentsIan Jackson2025-08-264-4/+4
| | | | We rename the files from per_ to each_.
* tor-netdoc: Turn ConsensusHeader into VARIETY::HeaderIan Jackson2025-08-263-17/+181
| | | | It's going to need to vary when we do votes.
* tor-netdoc: Abolish ParseRouterStatus and make several things not pubIan Jackson2025-08-261-15/+7
| | | | | | | The methods in ParseRouterStatus can now be inherent. This starts a cascade of unused stuff, and stuff which doesn't need to be pub any more.
* tor-netdoc: De-duplicate RouterStatusBuilder::buildIan Jackson2025-08-264-38/+17
| | | | | This is now more obviously not needed. We should eventually remove this, or remove finish.
* tor-netdoc: Combine ConsensusRouterStatus and GenericRouterStatusIan Jackson2025-08-2610-88/+64
| | | | Now we only need one type.
* tor-netdoc: Abolish RouterStatus trait in favour of generic methodsIan Jackson2025-08-263-8/+9
| | | | | Our approach to sharing code between md and plain consensuses is now the new "variety" system, not generics.
* tor-netdoc: Remove generics from Consensus and its contentsIan Jackson2025-08-269-64/+61
|
* tor-netdoc: No longer try to export trait FromRdStringIan Jackson2025-08-261-1/+0
| | | | | This doesn't appear in a tor-netdoc rustdoc build from arti 1.4.6. Shortly, clippy is about to start complaining that it's unreachable pub.
* tor-netdoc: netstatus: Move GenericRouterStatusIan Jackson2025-08-264-150/+151
| | | | | | More code motion. We're going to get rid of this type completely eventually.
* tor-netdoc: netstatus: Move everything variety-specificIan Jackson2025-08-2612-637/+1075
| | | | | | | | | This is much code motion. This splits many types into two. For example, `Conensus` is now`plain::Consensus<RS>` and `md::Consensus<RS>`. We're going to get rid of the generics later in this branch.
* tor-netdoc: Make various types all pub(crate)Ian Jackson2025-08-261-8/+8
| | | | | | | | | Header and RouterStatus are going to move to a sibling module, `each_variety.rs`, and the build code has moved too. These modules will all need access to the various stuff. let's just use `pub(crate)` rather than messing about with `pub(super)` etc. It's generally just netdoc field.s
* tor-netdoc: Prepare variety modules for network status documentsIan Jackson2025-08-2611-0/+108
| | | | This is empty modules and scaffolding.
* tor-netdoc: Fold netstatus::CommonHeader into ConsensusHeaderIan Jackson2025-08-261-18/+14
| | | | | We're going to use ns_variety_definition_macros to support votes, rather than this.
* tor-netdoc: Rename ns-consensus to plain-consensusIan Jackson2025-08-182-4/+4
| | | | | | ns-consensus doesn't seem to have ever been released. This is part of abolishing the use of "ns" to mean "plain".
* tor-netdoc: network status: Rename Ns* to Plain* in macro outputIan Jackson2025-08-181-3/+3
| | | | This is part of abolishing the use of "ns" to mean "plain".