aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/semver.md
Commit message (Collapse)AuthorAgeFilesLines
* tor-netdoc: Derive PartialEq and Eq for LifetimeClara Engler2026-08-101-0/+1
| | | | Needed for tor-dirserver testing.
* tor-netdoc: Update semver.mdClara Engler2026-08-041-0/+1
|
* maint: remove semver.md filesSteven Engler2026-08-031-27/+0
|
* tor-netdoc: Make RouterDescUnverified::verify() publicClara Engler2026-07-301-0/+1
|
* tor-netdoc: Derive Copy for Ed25519PublicClara Engler2026-07-291-0/+1
| | | | The underlying type also implements Copy. We will need it later.
* tor-netdoc: Make the str in a SoftwareVersion be InternIan Jackson2026-07-271-0/+1
| | | | Rather than converting it to an Arc. This is the new idiom for Intern.
* tor-netdoc: derive Hash for netstatus::ConsensusMethodsIan Jackson2026-07-231-0/+1
|
* tor-netdoc: Provide free functions for encodingIan Jackson2026-07-231-0/+1
| | | | | I keep finding I want to encode things and then I have to prat about with a NetdocEncoder. Let's provide potted versions.
* HsDesc::parse_decrypt_validate: Don't check validity timeIan Jackson2026-07-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This function returns a `TimeRangeBound`. That implies a responsibility on the caller to check the time. It doesn't make sense for this function to do the check as well. But, it turns out that in tor-hsclient, the `TimeRangeBound<HsDesc>` is sometimes processed with `.dangerously` on the assumption that it was checked earlier. I considered changing this, and storing plain `HsDesc` and a separate `TimeRange` - but that's not right, because there are places where the `TimeRangeBound<HsDesc>` is used well after it was verified. Instead, in this commit, I (effectively) move the `.check_valid_at` call from `parse_decrypt_validate` to its principal call site. This involves a change to the error representation. Previously, validity time errors ended up as `DescriptorErrorDetail::Descriptor` containing an `HsDescError::OuterValidation` HsDescError:: InnerValidation`, which in turn contains a `tor_netdoc::Error`. (`tor_netdoc::Error` is a rather awkward type.) Now we have our own error variant. The overall behaviour is unchanged.
* tor-netdoc: Provide PortPolicy::from_ordered_allowed_rangesIan Jackson2026-07-211-0/+1
| | | | | | In some sense this is a convenience wrapper around `push_ordered`, but, really, it's the only nontrivial constructor that doesn't take an iterator of individual port numbers.
* tor-netdoc: NetdocParseableFields::Accumulator must be DefaultIan Jackson2026-07-211-0/+1
| | | | | | The macro-generated code for `#[deftly(netdoc(flatten))]` relies on this. The Default impl is genereated by the derive, but a generic or handwritten `NetdocParseableFields` wouldn't work.
* tor-netdoc: Expose ConsensusMethod's fieldIan Jackson2026-07-151-0/+1
|
* tor-netdoc: document port summaries in semver.mdIan Jackson2026-07-151-0/+1
|
* tor-netdoc: Stabilise votes and encoding of authcertsIan Jackson2026-07-151-0/+4
|
* tor-netdoc: rangemap_mutate_range: New functionIan Jackson2026-07-021-0/+1
| | | | This will be used for exit port summary calculations.
* tor-netdoc: Remove Eq on various typesClara Engler2026-07-021-0/+2
| | | | | This reverts the Eq derives added in !4150 while keeping the PartialEq, in order to support including this in Unknown.
* tor-netdoc: NetdocEncodable for RouterDescClara Engler2026-07-021-0/+1
|
* tor-netdoc: NetdocEncodable for RouterDescSignaturesClara Engler2026-07-021-0/+1
|
* tor-netdoc: ItemValueEncodable for RouterSignatureClara Engler2026-07-021-0/+1
| | | | Needed for encoding.
* tor-netdoc: AddrPolicy::rules provides a DoubleEndedIteratorIan Jackson2026-07-011-0/+1
|
* tor-netdoc: Make PortRange CopyIan Jackson2026-07-011-0/+1
| | | | | | | | | This type consists of, and will always consist of, two u16. Making it Copy is convenient. This will preclude us making it contain a RangeInclusive because std::ops::RangeInclusive is not Copy (due to API design blunder in std), and std::range is still unstable. I think that's OK.
* tor-netdoc: Add conversions between PortRange and RangeInclusiveIan Jackson2026-07-011-0/+1
|
* tor-netdoc: AddrPolicy: Provide rules accessorIan Jackson2026-07-011-0/+1
|
* tor-netdoc: AddrPortPattern: Improve APIIan Jackson2026-07-011-0/+1
|
* tor-netdoc: AddrPortPattern: Expose contents, exhaustivelyIan Jackson2026-07-011-0/+1
|
* tor-netdoc: IpPattern: Expose publiclyIan Jackson2026-07-011-0/+1
|
* Remove semver.md filesNick Mathewson2026-06-301-56/+0
|
* tor-netdoc: Derive Eq on RouterDescSignaturesClara Engler2026-06-291-0/+1
|
* tor-netdoc: Derive Eq on RouterDescClara Engler2026-06-291-0/+1
|
* tor-netdoc: Derive Eq on (embedded) certificate typesClara Engler2026-06-291-0/+1
|
* Merge branch 'expanded-keypair-ntor' into 'main'Ian Jackson2026-06-291-0/+1
|\ | | | | | | | | tor-netdoc: ExpandedKeypair for Ed25519NtorCrossCert::new_signed() See merge request tpo/core/arti!4155
| * tor-netdoc: ExpandedKeypair for Ed25519NtorCrossCert::new_signed()Clara Engler2026-06-251-0/+1
| | | | | | | | | | | | | | This commit changes Ed25519NtorCrossCert::new_signed() to accept an ExpandedKeypair instead of a Keypair, because when converting the ntor key using convert_curve25519_to_ed25519_public(), only the ExpandedKeypair is returned, which is a one-way conversion from Keypair.
* | Merge branch 'microdesc-sha' into 'main'Clara Engler2026-06-251-0/+1
|\ \ | |/ |/| | | | | tor-netdoc: Remove document hash from Microdesc struct (and add MicrodescAndHash for that) See merge request tpo/core/arti!4138
| * tor-netdoc: Break Microdesc up into Microdesc and MicrodescAndHashIan Jackson2026-06-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The Microdesc type having a copy of the document hash was always weird, and it's weirder now that there's all these parse2 types that don't have it and parse2 derives on Microdesc that don't touch it. Make a new type for the descriptor and its hash. Use deref to arrange that the new type works almost like the old one. Adjust the use lines in the dependencies to temporarily import MicrodescAndHash as Microdesc.
* | Add missing semver.md entriesClara Engler2026-06-241-0/+2
| |
* | tor-netdoc: Wrap port policies in InternClara Engler2026-06-241-0/+4
| | | | | | | | This commit wraps the port policies in an Intern.
* | tor-netdoc: Wrap family in InternClara Engler2026-06-241-0/+3
| | | | | | | | This commit wraps the relay family in an Intern instead of an Arc.
* | tor-netdoc: Update semver.mdClara Engler2026-06-231-0/+1
| | | | | | | | | | This updates semver.md with the breaking changes done to the Ed25519 certificate verification methods.
* | Merge branch 'rd-derive-parse' into 'main'Ian Jackson2026-06-231-0/+1
|\ \ | |/ |/| | | | | Derive NetdocParseableUnverified for RouterDesc See merge request tpo/core/arti!4134
| * Derive NetdocParseableUnverified for RouterDescClara Engler2026-06-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally! 🎉 This commit derives NetdocParseableUnverified for RouterDesc by adding the respective derive_deftly attributes to the top-level definition as well as the member fields that require it. A .verify() method as well as unit tests will be added in the next commits. Encoding still depends on a few tiny papercuts but will otherwise be added shortly too, although in a different branch.
* | tor-netdoc: Microdesc: derive ConstructorIan Jackson2026-06-221-0/+1
| |
* | tor-netdoc Micordesc: Make intro item type publicIan Jackson2026-06-221-0/+1
| | | | | | | | | | We don't need the type to be private. Indeed, we'd like it not to be to make Microdesc construction with Constructor regular
* | tor-netdoc: encode derive: New default(skip) featureIan Jackson2026-06-221-0/+1
| | | | | | | | This lets us skip fields which have the default values.
* | tor-netdoc: derive encoding for microdescriptorsIan Jackson2026-06-221-0/+1
|/ | | | | | | All these types already have parsing derives. The encoding isn't quite right yet. It's legal, but doesn't match C Tor as well as we'd like.
* tor-netdoc: Add NetdocEncodableFields for AddrPolicyClara Engler2026-06-181-0/+1
| | | | | This commit implements NetdocEncodableFields for AddrPolicy in a non-trivial fashion. A unit test will be added in a moment.
* tor-netdoc: EmbeddedCert: support whole netdocs (for AuthCert)Ian Jackson2026-06-171-0/+1
|
* Merge branch 'consensus-roundtrip' into 'main'Ian Jackson2026-06-171-0/+2
|\ | | | | | | | | Implement encoding and verification for consensuses, and add a round trip test See merge request tpo/core/arti!4100
| * tor-netdoc: Document new facilitiesIan Jackson2026-06-171-0/+2
| |
* | Merge branch 'sp-fingerprint-encode' into 'main'Clara Engler2026-06-171-0/+1
|\ \ | | | | | | | | | | | | Encode for SpFingerprint See merge request tpo/core/arti!4116
| * | tor-netdoc: Encode for SpFingerprintClara Engler2026-06-171-0/+1
| |/ | | | | | | | | Implements encode::ItemArgument for SpFignerprint. A test will be added in the next commit.