aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/src/doc
Commit message (Collapse)AuthorAgeFilesLines
...
* 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: 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.
* Remove unnecessary `doc(cfg(...))` attributesNeel Chauhan2025-12-041-2/+0
| | | | | | | | | Fixes part of #2193. (Edits from nickm: I selected the cases here that I could verify were correct from immediate context.) Edited-by: Nick Mathewson <[email protected]>
* tor-netdoc: Implement new authority certificatesClara Engler2025-12-041-0/+780
| | | | | | | | | This commit implements directory authority certificates using the `parse2` approaches. For now, those are in a module `doc::authcert::tmp`, with the eventual goal of moving it into its super module after removing/deprecating the legacy types.
* Merge branch 'protover_refactor' into 'main'Nick Mathewson2025-12-046-62/+49
|\ | | | | | | | | Make Protocols type inherently interned; add notes about usage. See merge request tpo/core/arti!3524
| * netdoc: Remove protocol interning.Nick Mathewson2025-12-036-61/+48
| | | | | | | | (It's now done in tor_protover.)
| * Move intern from tor-netdir to tor-basic-utils and make it pubNick Mathewson2025-12-031-1/+1
| |
* | tor-netdoc: Remove unnecessary castsClara Engler2025-12-042-2/+2
| |
* | tor-netdoc: Store n_authorities in usizeClara Engler2025-12-022-3/+3
|/ | | | | | | Previously, this value was stored in a u16. However, because this number is usually always derived from some sort of list type, such as `Vec`, it makes more sense to use usize for this, as it avoid unnecessary casting and error checking.
* netdoc: Add missing docs for encode_pow_params()Gabriela Moldovan2025-12-011-0/+1
|
* netdoc: allow unstable_name_collisions lint for exactly_one()Gabriela Moldovan2025-12-011-0/+5
| | | | This silences a new warning on nightly.
* tor-netdoc: Rename ItemArgument method to write_arg_ontoIan Jackson2025-11-261-3/+3
| | | | | | | tor_bytes also has a write_onto method. And types (especially utility types like `Ignored`) might conceivably implement both! No need for semver update since this was pub(crate) in the previous release.
* tor-netdoc: Rename RelayFlagsParser to relay_flags::ParserIan Jackson2025-11-242-2/+2
| | | | | | | Since we expose the relay_flags module, it makes sense to give this a shorter name. (It had a longer name when it was part of the netstatus module.)
* tor-netdoc: relay_flags: Remove two now-not-needed type aliasesIan Jackson2025-11-242-6/+5
| | | | The generic parser type is easy enough to name now.
* Merge branch 'bug2172' into 'main'Nick Mathewson2025-11-241-1/+1
|\ | | | | | | | | | | | | tor-llcrypto: Stop deriving Deref in CtByteArray Closes #2172 See merge request tpo/core/arti!3432
| * tor-llcrypto: Stop deriving Deref in CtByteArrayNeel Chauhan2025-11-241-1/+1
| |
* | Merge branch 'pub-encode' into 'main'Ian Jackson2025-11-193-4/+4
|\ \ | | | | | | | | | | | | tor-netdoc: Make much more of encode module public See merge request tpo/core/arti!3471
| * | tor-netdoc: Split off Keyword::to_str into its own traitIan Jackson2025-11-183-4/+4
| | | | | | | | | | | | | | | My planned encoding derive macro is not going to use `decl_keyword!` but will need to call `NetdocEncoder::item`.
* | | RelayFlags: Use RelayFlag enum variant names everywhereIan Jackson2025-11-182-11/+11
| | | | | | | | | | | | | | | | | | | | | Abolish the constants with the transitional names. This also abolishes the controversial name `H_S_DIR`, which Rust case transformation rules generated from `HSDir`.
* | | RelayFlags: Use the singular RelayFlag for naming individual flagsIan Jackson2025-11-183-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to separate RelayFlag from RelayFlags. We could continue to provide a bunch of constant values for RelayFlags, for each individual type, but that would involve an ad-hoc derive, and would still be a bit of an unusual API. Instead, we're going to make ``RelayFlag` a normal enum. In this commit, we change everyone to refer to it by its singular name. Hopefully separating out this bulk change makes both this, and the core commit, easier to review.
* | | tor-netdoc: rs builder: Take Into<RelayFlags>Ian Jackson2025-11-181-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Many call sites pass one flag. We're going to have a type-level distinction between a single flag and a set. But that's annoying at many of the call sites which want to specify a fixed single flag. Note that `set_flags` doesn't only set flags. It replaces them.
* | | tor-netdoc: RelayFlags: Tidy up from_item for flagsIan Jackson2025-11-181-1/+3
|/ / | | | | | | | | | | | | | | Implement this on DocRelayFlags instead, since that's what it returns. And change the name to from_item_consensus to highlight its semantic restriction. (It's not generic over the implied flags, so it can only do one thing.)
* | tor-netdoc: Be able to retain unknown flagsIan Jackson2025-11-183-2/+3
| |
* | tor-netdoc: parse2: Introduce ParseInput intermediate structIan Jackson2025-11-181-2/+3
| | | | | | | | | | | | | | We're going to add options arguments, effectively, to the parsing entrypoints. To avoid a proliferation of entrypoints (eg, parse_multiple_with_options), encapsulate the run-time input values in this structure.
* | tor-netdoc: Remove the RelayFlags type alias in netstatusIan Jackson2025-11-181-3/+0
| | | | | | | | I would do `#[deprecated]` but empirically that has no effect...
* | tor-netdoc: Introduce DocRelayFlags for relay flags in a network documentIan Jackson2025-11-185-5/+9
| | | | | | | | This will have space for unknown flags.
* | tor-netdoc: Separate ConsensusRelayFlagsParser and VoteRelayFlagsParserIan Jackson2025-11-182-1/+9
| | | | | | | | | | Provide a per-variety alias and use it for parsing; no longer impl ItemValueParseable for RelayFlags.
* | tor-netdoc: Rename RelayFlags elements for regularity vs specIan Jackson2025-11-182-3/+3
| | | | | | | | | | Add underscores so that the spec keywords and the flag constants correspond (according to `paste`'s case-changing rules).
* | tor-netdoc: Move RelayFlags into its own moduleIan Jackson2025-11-181-161/+3
| | | | | | | | | | We're going to do a lot more with this and it's less confusing to have it all together.
* | Apply deferred rustfmt churnIan Jackson2025-11-103-4/+4
| |
* | tor-netdoc: Rename the `build` module to `encode`Ian Jackson2025-11-103-4/+4
| | | | | | | | | | The word "build" so often in Rust means builder pattern. This module contains functions for encoding.
* | Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-0616-16/+16
|/ | | | Run maint/add_warning
* 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
| |