aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/semver.md
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-netdoc: use DirectorySignaturesHashesAccu in SignatureGroupIan Jackson2026-05-271-0/+1
| | | | | | This will let us (re)use the existing signature checking code with the parse2 type, since we'll be able to make a SignatureGroup out of a parse2'd UnverifiedNetworkStatus.
* tor-netdoc: Make fields of DirectorySignaturesHashesAccu publicIan Jackson2026-05-271-0/+3
| | | | | This will allow it to be a replacement inside `SignatureHashes`. Keeping the fields private seems to have been an oversight.
* tor-netdoc: Replace poc's NddDirectoryFooter with new FooterIan Jackson2026-05-271-0/+1
| | | | | This is the whole of the footer section, with docs, appropriate derives, and so on.
* tor-netdoc: ConsensusFooterFields: Constructor, parse, encodeIan Jackson2026-05-271-0/+1
|
* tor-netdoc: ConsensusFooterFields: Rename weights field to bandwidth_weightsIan Jackson2026-05-271-0/+1
| | | | This matches the spec.
* tor-netdoc: Rename Footer to ConsensusFooterFieldsIan Jackson2026-05-271-0/+1
| | | | | | | | | | | This will allow us to include this, conditionally, in the new per-variety footer types for consensuses, without too much disruption to the existing code. We don't leave a compatibility alias because we're going to want a Footer in each_variety.rs which is the actual sub-document. This old struct isn't suitable because it doesn't have the intro item and is just for consensuses.
* tor-netdoc: NetworkStatusVersion, replacing poc's with FixedStringIan Jackson2026-05-271-0/+1
|
* tor-netdoc: Add bandwidth field to RouterDescClara Engler2026-05-261-0/+1
| | | | | | This commit adds the bandwidth field to the RouterDesc struct as it is found within the spec. The legacy parser will not support it, hence why we do default values there.
* tor-netdoc: Add Bandwidth structClara Engler2026-05-261-0/+1
| | | | | This commit adds the bandwidth struct for router descriptors which is present in the `bandwidth` item.
* tor-netdoc: Add Ed25519FamilyCertClara Engler2026-05-191-0/+1
| | | | | | | | | This commit adds a new type, Ed25519FamilyCert, which works very similar to Ed25519IdentityCert, except that it supports family certificates. A notable difference is, that the identity key must be provided during verification because it does not make sense to verify these certificates without it.
* tor-netdoc: Add Ed25519IdentityCertClara Engler2026-05-191-0/+1
| | | | | | | | | | This commit implements the Ed25519IdentityCert type using EmbeddableCert logic that was introduced recently. These certificates contain the identity key and the signing key of a relay and the type provides two methods: .verify() for verification and .new_signed() for construction. Besides, edcert::* is now made public as this is required now given that it contains public types.
* tor-netdoc: Store ntor_onion_key as Curve25519PublicClara Engler2026-05-181-0/+1
|
* tor-netdoc: Store published in Iso8601TimeSpClara Engler2026-05-181-0/+1
|
* tor-netdoc: Add intro item to RouterDescClara Engler2026-05-181-0/+1
| | | | | | | | | | | This commit introduces `RouterDesc::router` using `RouterDescIntroItem` by moving `nickname`, `orport`, `dirport`, and `ipv4addr` into it. A notable change is that ipv4addr is no longer stored in an `Option`. I have no idea why this was the case because it has always been mandatory and never None anyways, but I suspect it was to be able to treat it as an iterator, something we can also achieve using iter::once().
* tor-netdoc: Break out SharedRandStatuses, and remove it from votesIan Jackson2026-05-131-0/+1
|
* tor-netdoc: impl Ord and PartialOrd for byte wrapper typesIan Jackson2026-05-131-0/+1
|
* tor-netdoc: derive Ord and PartialOrd for RSA fingerprint typesIan Jackson2026-05-131-0/+1
| | | | | This will let us use them in types in ordered lists in netdocs, without fuss.
* tor-netdoc: Change fingerprint to Option<SpFingerprint>Clara Engler2026-05-121-0/+1
|
* tor-netdoc: Return copy in RouterDesc::rsa_identity()Clara Engler2026-05-121-0/+1
| | | | | | | | | | | This change might seem pointless for now but it will be required and unavoidable later on, because we will have to change RouterDesc::fingerprint from RsaIdentity to Option<SpFingerprint> which will make it impossible to be used inside the getter anymore. With this change, our only resort is to obtain the RSA identity from the signing key but we can only return a copy then because that RSA identity is created ad-hoc then.
* tor-netdoc: Rename RouterDesc real items to their real nameClara Engler2026-05-121-0/+6
| | | | | | | | | | | | | | This commit changes the name of all (except accept/reject) real items in RouterDesc to their proper name as found in the spec. This is a breaking change and semver.md has been updated properly. In the instanciation of RouterDesc in the legacy parser, we now use a "weird" syntax of some fields using a different name throughout the code, but that is ok. Changing this would make the diff way larger at the risk of breaking things, especially because many variables such as identity_cert get shadowed countless times within the function, making it harder and error prone to change.
* netdoc: Add an accessor for revision counter of the HsDescGabriela Moldovan2026-05-071-0/+1
|
* release: Remove semver.md files.Wesley Aptekar-Cassels2026-05-061-68/+0
|
* tor-netdoc: Introduce KeywordOrStringIan Jackson2026-04-291-0/+1
| | | | | We're going to use this for `directory-signature`'s hash algorithm, which the current code always treats as a string!
* tor-netdoc: Improvement to Unknown API: make it exhaustiveIan Jackson2026-04-291-0/+1
|
* tor-netdoc: Improvement to Unknown API: make disregarding more explicitIan Jackson2026-04-291-0/+2
| | | | | Make the operation of disregarding the possible existence of already-discarded information, more explicit.
* tor-netdoc: Move FromStr and Display from NormalItemArgument to implsIan Jackson2026-04-291-0/+1
| | | | | | | | | | | This allows implementing NormalItemArgument for types that can only be parsed, or only displayed - or other combinations. I noticed this restriction while inventing a type I later decided was unnecessary. I still think it's a good change. There is no practical impact elsewhere, since in practice downstream code implements NormalItemArgument rather than relying on it.
* tor-netdoc: semver.md: remove a trailing spaceIan Jackson2026-04-271-1/+1
|
* tor-netdoc: consensus authority section: document addition in semver.mdIan Jackson2026-04-271-0/+1
|
* tor-netdoc: VoteAuthoritySection: derive ConstructorIan Jackson2026-04-271-1/+1
|
* tor-netdoc: VoteAuthorityEntry: new struct (just a skeleton for now)Ian Jackson2026-04-271-0/+1
|
* tor-netdoc: ConsensusAuthorityEntry: document changes in semver.mdIan Jackson2026-04-271-0/+3
|
* tor-netdoc: DirSource: document changes in semver.mdIan Jackson2026-04-271-1/+3
|
* tor-netdoc: Introduce `EmbeddedCert`Ian Jackson2026-04-271-0/+1
| | | | Fixes #2485.
* tor-netdoc: Introduce RetainedOrderVec parse/encode typeIan Jackson2026-04-231-0/+1
|
* tor-netdoc: impl conversions from tor-checkable errors to VerifyFailedIan Jackson2026-04-231-0/+1
|
* tor-netdoc: impl ItemArgumet for ed25519::SignatureIan Jackson2026-04-231-0/+1
|
* tor-netdoc: Add RouterDescSignatures typeClara Engler2026-04-231-0/+1
| | | | | This commit implements the RouterDescSignatures type that carries the signatures for the yet to be derived RouterDescUnverified.
* tor-netdoc: Add RouterSigEd25519 typeClara Engler2026-04-231-0/+1
| | | | | This commit adds RouterSigEd25519 as a type to misc.rs for use in router descriptor signatures.
* tor-netdoc: Add RouterDescSignature typeClara Engler2026-04-231-0/+1
| | | | | | This commit adds RouterDescSignature to types, which implements SignatureItemParseable manually in order to also include the Ed25519 signature.
* tor-netdoc: Add RouterHashAccuClara Engler2026-04-231-0/+1
| | | | | | This commit adds a hash accumulator for router descriptor signature hashes. We will need this because router descriptors have overlapping signatures.
* tor-netdoc: pub mod routerdescClara Engler2026-04-221-4/+4
| | | | | | | This commit replaces `pub use routerdesc::*` with `pub mod routerdesc` alongside making the required changes in types.rs to not directly prelude these types but to introduce them in their own module, as that is the primary advantage of having these types there.
* tor-netdoc: ItemArgumentParseable for RelayPlatformClara Engler2026-04-221-0/+1
| | | | | This commit implements ItemArgumentParseable for RelayPlatform which we will need in the parse2 version of RouterDesc eventually.
* tor-netdoc: Public SpFingerprintClara Engler2026-04-221-0/+1
| | | | | | | | We will need this type in public fields of the router descriptor data type at one point, most notably for the `fingerprint` item. No need to update semver.md because this type is, for whatever reason, already contained there (in main)?
* tor-netdoc: NetdocParseableFields for AddrPolicyClara Engler2026-04-221-0/+1
| | | | | | This commit implements NetdocParseableFields for AddrPolicy, which will be required, because this field accumulates exit policies in a firewall like order, making the use of it necessary.
* tor-netdoc: NormalItemArgument for AddrPortPatternClara Engler2026-04-221-0/+1
| | | | | This commit implements NormalItemArgument for AddrPortPattern because we will need it later for an accumulator.
* tor-netdoc: Derive PartialEq,Eq for addrpolicy.rsClara Engler2026-04-221-0/+2
| | | | | This commit derives PartialEq and Eq for a few types in addrpolicy.rs, as we will need these for a few unit tests later on.
* tor-netdoc: Add dedup() to RelayFamilyIdsClara Engler2026-04-221-0/+1
| | | | | We will need this later for outputting RelayFamilyIds in a fashion compatible with the current API.
* tor-netdoc: Add sort() to RelayFamilyIdsClara Engler2026-04-221-0/+1
| | | | | We will need this later for outputting RelayFamilyIds in a fashion compatible with the current API.
* tor-netdoc: Add ExtraInfoDigestsClara Engler2026-04-221-0/+1
| | | | | | This commit adds the ExtraInfoDigests structure storing the, if present, mandatory SHA-1 hash and optional SHA-256 hash of the extra-info document associated with the router descriptor it is referenced from.
* tor-netdoc: Add RouterDescIntroItemClara Engler2026-04-221-0/+1
| | | | | | | This commit adds RouterDescIntroItem which will serve as the introduction item for router descriptors, that is, a line with the keyword "router" followed by the nickname, the IPv4 address, and a few ports.