aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/src/doc
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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.
* tor-netdoc: Soften a TODOIan Jackson2025-08-261-1/+1
|
* tor-netdoc: Fix typoIan Jackson2025-08-261-1/+1
|
* 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-265-16/+13
|
* tor-netdoc: Provide some Vote thingsIan Jackson2025-08-269-95/+109
| | | | 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-265-2/+22
| | | | | | 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-269-1470/+1470
| | | | | | | 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-2610-26/+141
|
* 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-264-185/+185
| | | | It's going to need to vary when we do votes.
* tor-netdoc: Abolish ParseRouterStatus and make several things not pubIan Jackson2025-08-262-30/+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.