summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | tor-netdoc: Apply deferred rustfmt churnIan Jackson2026-04-294-37/+42
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: Turn DirectorySignatureHashAlgo back into a normal structIan Jackson2026-04-292-31/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Abolish the terrible macro. Review with --color-moved-ws=allow-indentation-change --color-moved.
| * | | | | | | | | tor-netdoc: re-privatise some methodsIan Jackson2026-04-291-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hash_slice_for_verification is still needed by code in poc, that we're not replacing in this MR. So that TODO gets downgraded, instead.
| * | | | | | | | | tor-netdoc: directory-signature: don't re-hash unnecessarilyIan Jackson2026-04-291-3/+4
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: Fix handling of explicit vs implicit dir sig SHA1 hashIan Jackson2026-04-291-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that everything is prepared, we can add the sha1_unnamed field in the hash accumulator.
| * | | | | | | | | tor-netdoc: Fix signature of hash_slice_for_verificationIan Jackson2026-04-292-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to handle marked vs unmarked SHA1 correctly, it needs the original DigestAlgoInSignature. The only call site is in poc's verification code.
| * | | | | | | | | tor-netdoc: Fix signature of hash_slice_for_verification (pre-fmt)Ian Jackson2026-04-291-1/+4
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: Abolish poc's netstatus signature typeIan Jackson2026-04-293-173/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use prod's Signature instead. This gets rid of: * The old parsing code. We have a new approach based on ItemValueParseable, KeywordOrString and and DigestAlgoInSignature. * The duplicate DirectorySignaturesHashesAccu and its temporary conversions. poc's verify_timeless function needs a little adjustment for the new struct layout.
| * | | | | | | | | tor-netdoc: Promote hash_slice_for_verification to prodIan Jackson2026-04-292-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function is not right, yet. We're going to fix it later. Review with --color-moved.
| * | | | | | | | | tor-netdoc: impl SignatureItemParseable for netstatus::SignatureIan Jackson2026-04-291-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is now pretty straightforward. The functions it calls need some work - we have blocking TODOs for that.
| * | | | | | | | | tor-netdoc: Introduce DirectorySignaturesHashesAccu::update_fromIan Jackson2026-04-292-16/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This now contains the hashing code that was in poc. In poc it was entangled with the signature type, mostly because once upon a time the hash was inside the signature. In the real code we can make it a standalone method. It takes DigestAlgoInSignature so that it will be able to handle the explicit vs implicit sha1 anomaly correctly - but it can't do that yet because the necessary field doesn't exist yet. Also, we are going to want to make it a bit lazier - preserve the MR-blocking todo for that. A handful of lines are being actually moved verbatim, so --color-moved may help a bit.
| * | | | | | | | | tor-netdoc: Promote poc's DirectorySignaturesHashesAccu to prodIan Jackson2026-04-292-29/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are definitely some things wrong with this, but they all have MR-blocking TODOs so we can promote this type now. Largely code motion. Review with --color-moved.
| * | | | | | | | | tor-netdoc: Make some items temporarily pub(crate)Ian Jackson2026-04-291-2/+4
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: Temporary conversions between the two DirectorySignatureHashAlgosIan Jackson2026-04-291-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we have two DirectorySignatureHashAlgo types because of the macrology problem, we need to introduce temporary conversions, to let us move code from poc to prod.
| * | | | | | | | | tor-netdoc: netstatus signature hashing: Add TODO re wasted workIan Jackson2026-04-291-0/+1
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: netstatus signature hashing: Add TODO re unnamed sha1Ian Jackson2026-04-291-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to fix this in this branch, as part of promoting the poc code to prod.
| * | | | | | | | | tor-netdoc: netstatus signing algorithms: Improve a doc commentIan Jackson2026-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There isn't a "this" here; self is DirectorySignaturesHashesAccu.
| * | | | | | | | | tor-netdoc: derive ItemValue parsing/encoding for SignatureIan Jackson2026-04-292-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't let us do any verification or anything.
| * | | | | | | | | tor-netdoc: impl parsing/encoding for AuthCertKeyIds in directory-signatureIan Jackson2026-04-291-1/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This module will be used when we derive ItemValueParseable on Signature.
| * | | | | | | | | tor-netdoc: Introduce DigestAlgoInSignature parsing/encoding typeIan Jackson2026-04-291-3/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And change the type of the field in Signature. We are going to abandon the almost completely manual parsing approach taken in poc's NdiDirectorySignature. That parsing approach was heavily influenced by poc's struct layout, which in turn was influenced by the way that previously, hashes were inside signatures. Instead we'll derive ItemValueParseable from Signature, and semi-manually implement the hash update. This type is the one that embodies the `directory-signature` item's parsing strangeness: the optional initial positional argument.
| * | | | | | | | | tor-netdoc: Unify authcert test modules (fmt)Ian Jackson2026-04-291-313/+308
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: Unify authcert test modulesIan Jackson2026-04-291-32/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Abolish the parse2_test and encode_test modules. These mostly existed because of cfg gates. Now, we can unify the test module namespace, and also remove an indentation level (that will come next, with rustfmt).
| * | | | | | | | | tor-netdoc: derive Display for DirectorySignatureHashAlgoIan Jackson2026-04-291-1/+1
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: netsatus: glob import from types, not types::miscIan Jackson2026-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way we import via the public names, which is more sensible, and we include things that aren't in misc. The whole of types is pretty good as a glob import here.
| * | | | | | | | | tor-netdoc: types.rs: Add a missing exportIan Jackson2026-04-291-0/+1
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: parse2: Improve another error span for missing trait implIan Jackson2026-04-291-1/+1
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: parse2: Add missing ItemObjectParseable to prelude (fmt)Ian Jackson2026-04-291-2/+2
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: parse2: Add missing ItemObjectParseable to preludeIan Jackson2026-04-292-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And remove a then-unneeded import in a using module.
* | | | | | | | | | Merge branch 'rand-upgrade' into 'main'wesleyac2026-05-12102-300/+377
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade rand crates to 0.10. See merge request tpo/core/arti!3969
| * | | | | | | | | Upgrade rand crates to 0.10.Wesley Aptekar-Cassels2026-05-12102-300/+377
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the circ-padding feature is enabled, we use maybenot, which does not yet support rand 0.10. In the meantime, enabling this feature pulls in rand 0.9. This is not ideal, but should be okay as a temporary situation. This also replaces the use of ReseedingRng (which was removed in 0.10) with the reseeding_rng crate. This is somewhat less performant, but it should be okay.
* | | | | | | | | Merge branch 'cc-buf-size' into 'main'gabi-2502026-05-123-31/+37
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Reorganize error handling for `CtrlMsg::BeginStream` See merge request tpo/core/arti!3975
| * | | | | | | | tor-proto: clean up return type of `Circuit::begin_stream()`Steven Engler2026-05-112-13/+8
| | | | | | | | |
| * | | | | | | | tor-proto: indentation cleanupSteven Engler2026-05-111-20/+15
| | | | | | | | |
| * | | | | | | | tor-proto: reorg error handling for BeginStream reactor cmdSteven Engler2026-05-112-10/+26
| | | | | | | | |
* | | | | | | | | Merge branch 'nd-features-rm' into 'main'Clara Engler2026-05-125-41/+15
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Abolish some empty features, deprecate encode (which is empty), etc. See merge request tpo/core/arti!3972
| * | | | | | | | tor-netdoc: Document retain-unknown feature in READMEIan Jackson2026-05-122-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #2492.
| * | | | | | | | tor-netdoc: Document hs-pow-full feature in READMEIan Jackson2026-05-122-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the docs from Cargo.toml to README, and expand them. Part of #2492.
| * | | | | | | | tor-netdoc: Deprecate encode featureIan Jackson2026-05-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature is empty already. Part of #2492. We ought to wait a release now before we remove it completely.
| * | | | | | | | tor-netdoc: Abolish empty undocumented feature dangerous-expose-struct-fieldsIan Jackson2026-05-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was all un-cfg-gated previously.
| * | | | | | | | tor-netdoc: Tidy Cargo.toml features section a bitIan Jackson2026-05-121-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove some otiose and leftover docs ("Testing only" related to `hs-inner-docs`, now gone) and now-redundant blank lines.
| * | | | | | | | tor-netdoc: Document the `testing` featureIan Jackson2026-05-122-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need to say it doesn't adhere to semver since every release of tor-netdoc is uses a semver-breaking version. But we do need to say we don't take any care about compatibility.
| * | | | | | | | tor-netdoc: Abolish empty undocumented feature ns-voteIan Jackson2026-05-122-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was never documented. The relevant code is now part of "incomplete". Part of #2492.
| * | | | | | | | tor-netdoc: Abolish empty undocumented feature parse2Ian Jackson2026-05-122-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was never documented. The relevant code is now either unconditional, or part of "incomplete". Part of #2492.
| * | | | | | | | tor-netdoc: Abolish deprecated features plain-consensus, routerdescIan Jackson2026-05-124-19/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were deprecated in the last release. Now we can remove them. Also remove ns_consensus which was never really documented. Part of #2492.
* | | | | | | | | Merge branch 'publish' into 'main'Nick Mathewson2026-05-1219-87/+2176
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a generic `tor-dirpublish` for documents that have to be uploaded to multiple places Closes #2499 See merge request tpo/core/arti!3924
| * | | | | | | | | dirpublish: Extract the larger part of the select_biased body.Nick Mathewson2026-05-121-60/+87
| | | | | | | | | |
| * | | | | | | | | dirpublish: Turn TaskResult into a struct.Nick Mathewson2026-05-121-19/+22
| | | | | | | | | |
| * | | | | | | | | dirpublish: import span and Level for clarity.Nick Mathewson2026-05-121-2/+2
| | | | | | | | | |
| * | | | | | | | | dirpublish: Rename and clarify "permanent failure" error.Nick Mathewson2026-05-122-8/+8
| | | | | | | | | |
| * | | | | | | | | dirclient: improve macro documentationNick Mathewson2026-05-121-6/+16
| | | | | | | | | |