summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-netdoc: Remove two now-otiose use'sIan Jackson2026-04-271-2/+2
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: discuss vote-digestIan Jackson2026-04-271-0/+4
| | | | |
| * | | | 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: consensus authority section: ConsensusAuthoritySectionIan Jackson2026-04-274-91/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace poc code with new ConsensusAuthoritySection. This is an entirely new parsing approach. Key differences: * We parse the arguments to dir-source, which poc didn't. * We don't clone the input and fully parse the first item; instead, we dismantle the dir-source line ad-hoc to determine the item type. * Rather than a Vec of Enums, we parse into two Vecs of the different entry types. The few lines that aren't rewritten show up as moved in git show --color-moved --color-moved-ws=allow-indentation-change but I suggest reviewing the new implementation de novo.
| * | | | tor-netdoc: consensus authority section: SupersededAuthorityKeyIan Jackson2026-04-272-2/+119
| | | | | | | | | | | | | | | | | | | | | | | | | This is the type corresponding to a "superseded authority key entry", which is a single dir-source line with a weird nickname.
| * | | | tor-netdoc: DirSource: move to new dir_source moduleIan Jackson2026-04-272-42/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is going to handle the bizarre `-legacy` nickname encoding for superseded authority keys. That's going to be a fair amount of code, some derived from DirSource. Make a module for it all. We're going to take a different approach that in poc. So there's going to be all-new code and then the poc version will be deleted. They don't resemble each other very much. In this commit: just code motion, and the creation of the new module with associated doc comment. Review with --color-moved.
| * | | | tor-netdoc: VoteAuthoritySection: derive ConstructorIan Jackson2026-04-272-4/+18
| | | | |
| * | | | tor-netdoc: VoteAuthoritySection: add a blank lineIan Jackson2026-04-271-0/+1
| | | | |
| * | | | tor-netdoc: VoteAuthoritySection: implement encodingIan Jackson2026-04-271-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | We must add to our ad-hoc derive, since the normal derive can't do the encoding either.
| * | | | tor-netdoc: VoteAuthoritySection: iterate rather than open-coding fieldsIan Jackson2026-04-271-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Use deftly's field loop, rather than handcoding the two fields. (We don't expect to add any fields, but if we did this would be more correct.)
| * | | | tor-netdoc: VoteAuthoritySection: improve doc commentsIan Jackson2026-04-271-3/+13
| | | | |
| * | | | tor-netdoc: VoteAuthoritySection: promote poc to prodIan Jackson2026-04-273-51/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Almost entirely code motion. Review with --color-moved. This is new correct for votes, and uses the non-poc names for things. We'll improve up a few minor things in a moment. The cfg situation is getting very tangled. There are already various TODOs about this. I think it is time to bite the bullet; I will do that separately from this MR.
| * | | | tor-netdoc: VoteAuthoritySection: promote poc to prod (prep, use's)Ian Jackson2026-04-272-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Prepare for the namespace environment in the mainline doc/netstatus modules. (Add a couple of temporary use's.)
| * | | | tor-netdoc: VoteAuthoritySection: promote poc to prod (prep, rename)Ian Jackson2026-04-271-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are going to move this code to the main doc/netstatus modules. Rename the struct and its associated derive macro, to the naming approach used outside poc. We leave a `use` behind in poc. That can remain until poc is eventually abolished.
| * | | | tor-netdoc: VoteAuthoritySection: deindent NddAuthoritySectionIan Jackson2026-04-271-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | | Purely whitespace change: deindent certain lines by 4. `git show -w` is helpful.
| * | | | tor-netdoc: VoteAuthorityEntry: replace in poc with new proper typeIan Jackson2026-04-272-23/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has a side effect of testing the parsing. (Testing of the encoding will have to come a lot later.)
| * | | | tor-netdoc: VoteAuthorityEntry: new struct (just a skeleton for now)Ian Jackson2026-04-272-0/+37
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: document changes in semver.mdIan Jackson2026-04-271-0/+3
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: derive ConstructorIan Jackson2026-04-272-1/+11
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: derive encoding and parsingIan Jackson2026-04-271-1/+5
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: fix type of vote_digest fieldIan Jackson2026-04-272-3/+3
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: fix type of contact fieldIan Jackson2026-04-272-3/+17
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: add some blank linesIan Jackson2026-04-271-0/+2
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: rename from ConsensusVoterInfo (2) (fmt)Ian Jackson2026-04-271-1/+1
| | | | |
| * | | | tor-netdoc: ConsensusAuthorityEntry: rename from ConsensusVoterInfo (2)Ian Jackson2026-04-274-14/+14
| | | | | | | | | | | | | | | | | | | | Deprecate the compatibility alias.
| * | | | tor-netdoc: ConsensusAuthorityEntry: rename from ConsensusVoterInfoIan Jackson2026-04-271-3/+22
| | | | | | | | | | | | | | | | | | | | Use the terminology from the spec.
| * | | | tor-netdoc: DirSource: document changes in semver.mdIan Jackson2026-04-271-1/+3
| | | | |
| * | | | tor-netdoc: DirSource: derive ConstructorIan Jackson2026-04-272-1/+12
| | | | |
| * | | | tor-netdoc: DirSource: derive encoding and parsingIan Jackson2026-04-271-1/+4
| | | | |
| * | | | tor-netdoc: DirSource: add missing hostname fieldIan Jackson2026-04-272-0/+11
| | | | |
| * | | | tor-netdoc: DirSource: fix type of identity fieldIan Jackson2026-04-272-3/+4
| | | | |
| * | | | tor-netdoc: DirSource: fix type of nickname fieldIan Jackson2026-04-272-3/+9
| | | | |
| * | | | tor-netdoc: DirSource: add spec urlIan Jackson2026-04-271-0/+1
| | | | |
| * | | | tor-netdoc: DirSource: add some blank linesIan Jackson2026-04-271-0/+4
| | | | | | | | | | | | | | | | | | | | This makes the struct more legible.
| * | | | tor-netdoc: EncodedAuthCert: implement NetdocEncodableIan Jackson2026-04-271-0/+13
| | | | |
| * | | | tor-netdoc: ItemValueParseable: Tolerate non-snake-case fieldsIan Jackson2026-04-271-0/+1
| | | | | | | | | | | | | | | | | | | | We'll want this with Constructor's __non_exhaustive.
* | | | | Merge branch 'embedded-cert-prep' into 'main'Ian Jackson2026-04-272-1/+10
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Prep work for EmbeddedCert See merge request tpo/core/arti!3918
| * | | | tor-netdoc: RouterSigEd25519::hash: Comment and assert re spaceIan Jackson2026-04-271-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | As discussed in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3918#note_3401409
| * | | | tor-netdoc: Add a TODO re VerifyFailedIan Jackson2026-04-271-1/+1
| | | | |
* | | | | Merge branch 'embedded-cert' into 'main'Ian Jackson2026-04-2713-18/+706
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Introduce EmbeddedCert, and a demo of how to use it Closes #2485 See merge request tpo/core/arti!3922
| * | | | | tor-netdoc: Introduce `EmbeddedCert`Ian Jackson2026-04-274-0/+395
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #2485.
| * | | | | Revert "tor-cert: Provide ed25519 cert decoding via TryFrom trait"Ian Jackson2026-04-272-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 68caf324a320fff1a4f0e9b0f5014a34d0e3729f.
| * | | | | tor-cert: Provide ed25519 cert decoding via tor-bytesIan Jackson2026-04-272-0/+8
| |/ / / / | | | | | | | | | | | | | | | | | | | | This is more sensible and will make the code in tor-netdoc less strange. We'll revert the TryFrom in a moment.
| * | | | tor-cert: Provide ed25519 cert encoding via tor-bytesIan Jackson2026-04-233-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the Writeable trait. Explain why this approach is correct and leave a comment near the decoder (to avoid future changes making this implementation buggy) and a test case.
| * | | | tor-cert: Provide ed25519 cert decoding via TryFrom traitIan Jackson2026-04-232-0/+8
| | | | | | | | | | | | | | | | | | | | Otherwise we can't implement trait-based decoding in tor-netdoc.
| * | | | tor-cert: impl From<Ed25519Identity> for CertifiedKeyIan Jackson2026-04-232-1/+5
| | | | |
| * | | | tor-netdoc: Introduce RetainedOrderVec parse/encode typeIan Jackson2026-04-235-0/+51
| | | | |
| * | | | tor-netdoc: Expose B16 types and FixedB64 (fmt)Ian Jackson2026-04-231-1/+1
| | | | |
| * | | | tor-netdoc: Expose B16 types and FixedB64Ian Jackson2026-04-232-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Somehow FixedB64 was not reachable previously, but this wasn't detected by the compiler despite it being `pub`.