aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | relay: Add crypto task command channelDavid Goulet2026-07-285-12/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Give a tx to the descriptor task so it can request the keys when building a new descriptor. Implement the crypto task handling of that command channel. Signed-off-by: David Goulet <[email protected]>
| * | | | | | relay: Pass the desc task TX to the crypto taskDavid Goulet2026-07-284-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crypto task can now signal the descriptor task that the keys have changed related to the relay descriptor (signing key and ntor keys) so a new descriptor can be built and uploaded. Signed-off-by: David Goulet <[email protected]>
| * | | | | | relay: Implement descriptor upload in desc taskDavid Goulet2026-07-283-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | | relay: Pass the dirauth list to the desc taskDavid Goulet2026-07-283-11/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Config reload is not fully supported just yet but when that comes, we'll need to make a task command for new targets. Signed-off-by: David Goulet <[email protected]>
| * | | | | | relay: Initial skeleton of the descriptor upload taskDavid Goulet2026-07-285-0/+282
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the basics, with many TODO(relay), for a relay descriptor upload task which uses tor-dirpublish::Publisher. Future commits will implement the several todo!(). Signed-off-by: David Goulet <[email protected]>
* | | | | | Merge branch 'use-shadow-exec2' into 'main'David Goulet2026-07-282-61/+64
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | integration-e2e-shadow: use shadowtools See merge request tpo/core/arti!4236
| * | | | | integration-e2e-shadow: use shadow-exec to forward output to consoleJim Newsome2026-07-271-19/+14
| | | | | |
| * | | | | CI: bump shadow commitJim Newsome2026-07-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Primarily to get <https://github.com/shadow/shadow/pull/3767>
| * | | | | integration-e2e-shadow: use shadowtools.config to typecheck generated shadow ↵Jim Newsome2026-07-272-42/+50
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | config * build shadowtools python package in `build-shadow` job * install the shadowtools python package in python3-checks, so that usage can be checked with mypy. * integration-e2e-shadow: generate typed shadow config
* | | | | Merge branch 'destroyreason' into 'main'gabi-2502026-07-282-3/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | align DestroyReason with torspec!490 Part of #2578 See merge request tpo/core/arti!4202
| * | | | | align DestroyReason with torspec!490ramdoys2026-07-282-3/+3
| |/ / / /
* | | | | Merge branch 'circ-handshake-cleanup' into 'main'David Goulet2026-07-271-9/+14
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | tor-proto: Small cleanup for relay circuit handshake code See merge request tpo/core/arti!4242
| * | | | tor-proto: build crypt state after building hop settingsSteven Engler2026-07-271-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `HopSettings::from_handshake_params()` checks that the parameters are correct, so if there are invalid parameters we should fail early before we initialize the `CryptStatePair`.
| * | | | tor-proto: move where we split 'crypt' in CREATE_FAST handshakeSteven Engler2026-07-271-2/+2
| | | | | | | | | | | | | | | | | | | | This is just to make ntor and CREATE_FAST handshakes consistent.
| * | | | tor-proto: add some log messages after circuit handshakeSteven Engler2026-07-271-0/+5
|/ / / /
* | | | Merge branch 'clippy' into 'main'opara2026-07-275-16/+11
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Fix some recently-appearing clippy lints See merge request tpo/core/arti!4240
| * | | tor-proto: Remove a redundant explicit link targetIan Jackson2026-07-271-1/+1
| | | | | | | | | | | | | | | | Found by rustdoc.
| * | | tor-hsservice: Remove a useless formatIan Jackson2026-07-271-4/+4
| | | | | | | | | | | | | | | | Placates clippy.
| * | | tor-netdoc: Replace two open-coded slice::fillIan Jackson2026-07-272-6/+2
| | | | | | | | | | | | | | | | Placates recent clippy.
| * | | tor-hscrypto: Replace .chunks_exact with .as_chunks (fmt)Ian Jackson2026-07-271-4/+4
| | | |
| * | | tor-hscrypto: Replace .chunks_exact with .as_chunksIan Jackson2026-07-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Placates recent clippy. I find the API of both of these functions unsatisfactory and would prefer a chunks_exact that promises to panic, but I didn't find one in std or Itertools.
* | | | Merge branch 'intern' into 'main'Ian Jackson2026-07-279-25/+26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Tidy some uses of Intern See merge request tpo/core/arti!4233
| * | | | tor-netdoc: Make RouterStatus.port_policy use Intern, not ArcIan Jackson2026-07-272-2/+1
| | | | | | | | | | | | | | | | | | | | We intern these in Microdesc, and should be consistent.
| * | | | tor-netdoc: Make the str in a SoftwareVersion be Intern (fmt)Ian Jackson2026-07-271-3/+1
| | | | |
| * | | | tor-netdoc: Make the str in a SoftwareVersion be InternIan Jackson2026-07-272-3/+4
| | | | | | | | | | | | | | | | | | | | Rather than converting it to an Arc. This is the new idiom for Intern.
| * | | | tor-protover: Use GloballyInternableIan Jackson2026-07-273-12/+11
| | | | | | | | | | | | | | | | | | | | We don't need to open-code this any more.
| * | | | tor-protover: Replace Arc with InternIan Jackson2026-07-271-7/+7
| | | | | | | | | | | | | | | | | | | | This makes the interning more natural.
| * | | | tor-basic-utils: Intern is always CloneIan Jackson2026-07-273-1/+5
| |/ / / | | | | | | | | | | | | Use educe so that we don't derive T: Clone bound.
* | | | Merge branch 'create-fast' into 'main'opara2026-07-275-79/+159
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-proto: Add `HopSettings::from_handshake_params()` for incoming circuit requests See merge request tpo/core/arti!4171
| * | | | tor-proto: add a TODO for crypt protocol and cc alg logicSteven Engler2026-07-271-0/+4
| | | | |
| * | | | tor-proto: add `HandshakeSubprotocols`Steven Engler2026-07-272-9/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The advantage of this over using a `SubprotocolRequest` is that we can use the type system to ensure it only has subprotocols that are allowed during a handshake.
| * | | | tor-proto: remove `CircNetParameters::extend_by_ed25519_id`Steven Engler2026-07-274-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We never used this, it was just needed because we used to convert to a `CircParameters` which required this.
| * | | | tor-proto: add `HopSettings::from_handshake_params()`Steven Engler2026-07-272-71/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and also remove `CircNetParameters::as_circ_parameters()`. We used to call `HopSettings::from_params_and_caps()` when handling incoming circuit requests, but this didn't really make sense because we already know exactly what settings we want. The new `HopSettings::from_handshake_params()` takes the exact settings we want, which means we can also skip constructing a `CircParameters` and use the raw consensus `CircNetParameters`. Most of the code in `CircNetParameters::as_circ_parameters()` has been migrated in some form to `HopSettings::from_handshake_params()`.
| * | | | tor-proto: require feat 'counter-galois-onion' for 'relay'Steven Engler2026-07-271-0/+1
| |/ / /
* | | | Merge branch 'testdata-export-bis' into 'main'Ian Jackson2026-07-2732-484/+728
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc testdata-live: More shell script, less macrology See merge request tpo/core/arti!4238
| * | | | tor-netdoc testdata-live: Abolish selected_relays.rsIan Jackson2026-07-272-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This is no longer used. Get rid of the code which generates it, and the generated file.
| * | | | tor-netdoc testdata-live: Switch to generated_consts.rsIan Jackson2026-07-271-61/+7
| | | | | | | | | | | | | | | | | | | | | | | | | This gits rid of the macrology, apart from the generated macro module file.
| * | | | tor-netdoc testdata-live-download: Generate generated_consts.rsIan Jackson2026-07-272-1/+324
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the code for the new approach. It's kind of ad-hoc but also much less deep than the previous macrology. And, run the script to see the output. Currently that file isn't used. For now we leave the shell script code for generating selected_relays.rs in testdata-live-download. The new code for generated_consts.rs is very different, so it's clearer to split the changes up this way.
| * | | | tor-netdoc testdata-live: Run a downloadIan Jackson2026-07-2728-396/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm going to change the generation, and that means I need input files, so I need to run a download (as per the comment in testdata-live-download). I'm doing this first, so the rest of the MR can see individual changes.
* | | | | Merge branch 'testdata-report-nits' into 'main'Ian Jackson2026-07-271-1/+5
|\| | | | | |/ / / |/| | | | | | | | | | | tor-netdoc testdata-live: Two nits See merge request tpo/core/arti!4237
| * | | tor-netdoc testdata-live: Add a comment about running without downloadIan Jackson2026-07-271-0/+4
| | | |
| * | | tor-netdoc testdata-live: Fail if curl failsIan Jackson2026-07-271-1/+1
| | | |
* | | | Merge branch 'remove-expect-unused' into 'main'Ian Jackson2026-07-272-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | arti-relay: Remove unused_async clippy escape hatch See merge request tpo/core/arti!4239
| * | | | arti-relay: Add back allow(clippy::unused_async)Gabriela Moldovan2026-07-272-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The clippy CI job that uses RECENT_RUST_IMAGE fails without the `allow` (RECENT_RUST_IMAGE uses Rust 1.96, where the `unused_async` false-positive still appears to trigger).
| * | | | arti-relay: Remove unused_async clippy escape hatchGabriela Moldovan2026-07-272-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was needed to work around two `unused_async` false-positives that would trigger on older Rust versions. This was fixed in https://github.com/rust-lang/rust-clippy/issues/15305 and released in 1.90, according to the [changelog]. Since these no longer trigger on 1.97.1, they are now causing the `expect(clippy::unused_async)` to fail. Removing the `expect`s seems like the most sensible fix. [changelog]: https://github.com/rust-lang/rust-clippy/issues/15305
* | | | | Merge branch 'netdoc-affordances' into 'main'Ian Jackson2026-07-276-20/+38
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Add a few affordances See merge request tpo/core/arti!4235
| * | | | | tor-netdoc: docs: fix typos and linkifyIan Jackson2026-07-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4235#note_3439437 https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4235#note_3439438
| * | | | | tor-netdoc: Don't writhe in a doc commentIan Jackson2026-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4235#note_3439436
| * | | | | tor-netdoc: derive Hash for netstatus::ConsensusMethodsIan Jackson2026-07-232-1/+2
| | | | | |
| * | | | | tor-netdoc: Use encode_netdoc_unsigned in several placesIan Jackson2026-07-233-19/+9
| | | | | |