summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | Fix documentation that referred to clones of a TorClient.Nick Mathewson2026-05-131-18/+7
| | | | | | | |
| * | | | | | | client: Move the ClientInner code into one impl block.Nick Mathewson2026-05-131-171/+166
| | | | | | | |
| * | | | | | | client: Remove some inner Arcs from ClientInnerNick Mathewson2026-05-131-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were only Arc<> so that TorClient could implement Clone.
| * | | | | | | client: revise StreamPrefs methodsNick Mathewson2026-05-132-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `set_stream_prefs` method was the only one that took a TorClient as `&mut self`. But we only expose Arc<TorClient<R>>, that isn't a reasonable API. The `clone_with_prefs` method has been renamed, since it no longer "clones" anything meaningfully.
| * | | | | | | Make TorClient no longer implement Clone.Nick Mathewson2026-05-137-64/+100
| | | | | | | |
| * | | | | | | Make all TorClient constructors wrap the TorClient in an Arc.Nick Mathewson2026-05-1318-49/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is part of rationalizing the structure of TorClient so we can refactor startup logic, and so that RPC code can reason about object identity. See #2469.
* | | | | | | | Merge branch 'non-exhaust' into 'main'Clara Engler2026-05-134-2/+16
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Constructor: insist on proper Constructor non-exhaustive pattern See merge request tpo/core/arti!3986
| * | | | | | | | tor-netdoc: Constructor: insist on proper Constructor non-exhaustive patternIan Jackson2026-05-131-1/+9
| | | | | | | | |
| * | | | | | | | tor-netdoc: SharedRandStatuses: Use proper Constructor non-exhaustive patternIan Jackson2026-05-133-1/+7
| | | | | | | | |
* | | | | | | | | Merge branch 'no-fuzz' into 'main'wesleyac2026-05-131-0/+3
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CI: Disable cargo-fuzz test for now See merge request tpo/core/arti!3984
| * | | | | | | | | CI: Disable cargo-fuzz test for nowIan Jackson2026-05-131-0/+3
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test is known to fail, and we have had a ticket for it for a week now. It should be re-enabled if and when it works again.
* | | | | | | | | Merge branch 'hashx-fuzz-rand-fix' into 'main'Ian Jackson2026-05-132-8/+11
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hashx: Update rand version used in fuzz tests. See merge request tpo/core/arti!3987
| * | | | | | | | | hashx: Update rand version used in fuzz tests.Wesley Aptekar-Cassels2026-05-132-8/+11
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is less important now that we've disabled these tests, but might as well make it easier if anyone picks these up in the future.
* | | | | | | | | Merge branch 'expectation' into 'main'opara2026-05-131-1/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn an expectation into an allow See merge request tpo/core/arti!3983
| * | | | | | | | | Turn an expectation into an allowIan Jackson2026-05-131-1/+1
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Fixes `cargo clippy --locked --all-features -p arti`
* | | | | | | | | Merge branch 'connect_error' into 'main'opara2026-05-134-32/+80
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | chanmgr: Do not turn connect errors into proxy errors. Closes #2459 See merge request tpo/core/arti!3932
| * | | | | | | | chanmgr: report target address, not proxy address, in errorNick Mathewson2026-05-074-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, change the address type in the error to String for now. In reality we need a better representation of this error, but that shouldn't block this.
| * | | | | | | | chanmgr: refactor error typesNick Mathewson2026-05-074-21/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Proxy belonged as a subcase of ChannelBuild. And ChannelBuild was only about making an initial connection.
| * | | | | | | | chanmgr: Do not turn connect errors into proxy errors.Nick Mathewson2026-05-072-15/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the problem where we'd report all connect failures as proxy failures. Closes #2459.
* | | | | | | | | Merge branch 'random-range' into 'main'Ian Jackson2026-05-132-1/+14
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clippy: Work around bug where it claims method doesn't exist See merge request tpo/core/arti!3982
| * | | | | | | | | clippy: Add an xref re random_range to the commentIan Jackson2026-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3982#note_3410614
| * | | | | | | | | clippy: disallow random_range standalone method tooIan Jackson2026-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream rand have provided a convenient alias for causing your program to panic. How helpful.
| * | | | | | | | | clippy: Work around bug where it claims method doesn't existIan Jackson2026-05-132-1/+12
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes warning: `rand::RngExt::random_range` does not refer to a reachable function --> /volatile/rustcargo/Rustup/Arti/arti/clippy.toml:7:5 | 7 | { path = "rand::RngExt::random_range", reason = "Prefer tor_basic_utils::RngExt::gen_range_checked to avoid uncontrolled panics, or gen_range_infallible if applicable" }, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: add `allow-invalid = true` to the entry to suppress this warning
* | | | | | | | | Merge branch 'vae-and-preamble' into 'main'Ian Jackson2026-05-139-36/+202
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Complete vote preamble and authority section enough for consensus calculations See merge request tpo/core/arti!3948
| * | | | | | | | tor-netdoc: SharedRandParticipate: Add TODO re "presence" typeIan Jackson2026-05-131-0/+2
| | | | | | | | |
| * | | | | | | | tor-netdoc: SharedRandCommitV1: Improve type of revealIan Jackson2026-05-131-1/+4
| | | | | | | | |
| * | | | | | | | tor-netdoc: SharedRandCommitV1: Improve type of commitIan Jackson2026-05-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use FixedB64 since it is in fact fixed length. While we're here, add the docs link I had to follow to figure this out.
| * | | | | | | | tor-netdoc: VoteAuthorityEntry: reorder fields to spec orderIan Jackson2026-05-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only SharedRandStatuses was out of place.
| * | | | | | | | tor-netdoc: rustfmt (re-alphabetise and re-wrap imports)Ian Jackson2026-05-131-2/+1
| | | | | | | | |
| * | | | | | | | tor-netdoc: vote authority entry: declare it completeIan Jackson2026-05-131-3/+0
| | | | | | | | |
| * | | | | | | | tor-netdoc: vote authority entry: parse shared-rand-commitIan Jackson2026-05-131-2/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is rather ugly, because the protocol is being ad-hoc again.
| * | | | | | | | tor-netdoc: vote authority entry: parse shared-rand-participateIan Jackson2026-05-131-1/+21
| | | | | | | | |
| * | | | | | | | tor-netdoc: vote authority entry: parse legacy-dir-keyIan Jackson2026-05-131-1/+6
| | | | | | | | |
| * | | | | | | | tor-netdoc: Soften a TODO.Ian Jackson2026-05-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Preamble now doesn't contain anything that's *wrong*. It is missing a couple of fields that will be wanted when we generate votes.
| * | | | | | | | tor-netdoc: Add a ticket reference for a TODOIan Jackson2026-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This isn't needed for the arti dirauth consensus method, but it will be needed for arti dirauth vote calculator.
| * | | | | | | | tor-netdoc: Add shared-rand-*-status to VoteAuthorityEntryIan Jackson2026-05-132-5/+4
| | | | | | | | |
| * | | | | | | | tor-netdoc: Break out SharedRandStatuses, and remove it from votesIan Jackson2026-05-136-14/+40
| | | | | | | | |
| * | | | | | | | tor-netdoc: impl Ord and PartialOrd for byte wrapper typesIan Jackson2026-05-132-2/+15
| | | | | | | | |
| * | | | | | | | tor-netdoc: derive Ord and PartialOrd for RSA fingerprint typesIan Jackson2026-05-132-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will let us use them in types in ordered lists in netdocs, without fuss.
| * | | | | | | | tor-netdoc: impl NetdocEncodableFields for NotPresentIan Jackson2026-05-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And document its meaning when parsing and encoding as flattened fields.
| * | | | | | | | tor-netdoc: NetdocEncodableFields: Suppress warnings for empty structsIan Jackson2026-05-131-0/+2
| | | | | | | | |
| * | | | | | | | tor-netdoc: NetdocEncodableFields: Suppress warnings for empty structs (pre-fmt)Ian Jackson2026-05-131-1/+4
| | | | | | | | |
| * | | | | | | | tor-netdoc: Parsing with `#[netdoc(flatten)]`: cope with non-path typesIan Jackson2026-05-131-1/+1
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | ns_type! is a non-path type.
* | | | | | | | Merge branch 'rd-fingerprint' into 'main'Clara Engler2026-05-133-6/+24
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store fingerprint in Option<SpFingerprint> See merge request tpo/core/arti!3978
| * | | | | | | | tor-netdoc: Change fingerprint to Option<SpFingerprint>Clara Engler2026-05-122-2/+3
| | | | | | | | |
| * | | | | | | | tor-netdoc: Obtain RSA identity from signing keyClara Engler2026-05-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Will be required and unavoidable as we will change fingerprint to Option<SpFingerprint> in the next commit.
| * | | | | | | | tor-netdoc: Return copy in RouterDesc::rsa_identity()Clara Engler2026-05-123-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | Merge branch 'directory-signature-3' into 'main'Clara Engler2026-05-139-584/+620
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Sort out netstatus signatures See merge request tpo/core/arti!3937
| * | | | | | | | | tor-netdoc: Replace an IEFE with use of .and_then() (fmt)Ian Jackson2026-05-051-6/+5
| | | | | | | | | |
| * | | | | | | | | tor-netdoc: Replace an IEFE with use of .and_then()Ian Jackson2026-05-051-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3937#note_3405033 Suggested-by: Clara Engler <[email protected]>