summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 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-278-25/+25
|\ \ | | | | | | | | | | | | 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-272-12/+10
| | | | | | | | | | | | 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
| | | |
| * | | tor-netdoc: Provide free functions for encodingIan Jackson2026-07-232-0/+27
| |/ / | | | | | | | | | | | | I keep finding I want to encode things and then I have to prat about with a NetdocEncoder. Let's provide potted versions.
* | | Merge branch 'testdata-export' into 'main'Ian Jackson2026-07-2765-391/+508
|\ \ \ | | |/ | |/| | | | | | | tor-netdoc testdata-live: Export for the benefit of other crates See merge request tpo/core/arti!4229
| * | tor-netdoc testdata-live: Export for the benefit of other cratesIan Jackson2026-07-232-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | Add a new testdata_live module which is exposed with the testing features, containing the testdata-live in string constants. This avoids the need for test cases in other crates to walk the filesystem to an area outside their own crate path.
| * | Require derive-deftly 1.11.4Ian Jackson2026-07-2334-35/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | We're about to *use* the fix that was in 1.11.4. We already updated the lockfile in !4228, so this is just Cargo.toml changes (which will prevent the minimal-versions tests failing when we change the code to rely on the fix). git-grep -l '^derive-deftly' |xargs perl -i~ -pe 's{\b\Q1.11.3\E\b}{1.11.4}g'
| * | tor-netdoc testdata-live: Run a downloadIan Jackson2026-07-2328-356/+367
| | | | | | | | | | | | | | | | | | | | | This updates everything, but really I'm just running it to create the new selected_relays.rs file. The meaning of this file will become clear shortly.
| * | tor-netdoc testdata-live: Write out a selected_relays.rs fileIan Jackson2026-07-231-0/+17
| | | | | | | | | | | | | | | | | | | | | We could use build.rs for this, but since we have a script already, this seems better. The meaning of this file will become clear shortly.
* | | Merge branch 'promote-supported-consensus' into 'main'gabi-2502026-07-276-17/+37
|\ \ \ | | | | | | | | | | | | | | | | Move supported consensus methods iteration to tor-dirauth from arti-dirauth See merge request tpo/core/arti!4234
| * | | Move supported consensus methods iteration to tor-dirauth from arti-dirauthIan Jackson2026-07-236-17/+37
| | |/ | |/| | | | | | | Now we provide SupportedConsensusMethod::iter_all().
* | | arti: Ratelimit proxy error reportssyphyr2026-07-232-3/+47
| | | | | | | | | | | | Implement log_ratelim! in report_proxy_error
* | | proto: Include the actual cell command in an error messageGabriela Moldovan2026-07-231-3/+5
| | | | | | | | | | | | | | | | | | | | | This can happen if we get an unexpected BEGIN_DIR/RESOLVE too, so we can't hard-code "BEGIN" in the error message. Context: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4230#note_3439258,
* | | proto: Remove feature-gating from CircHop::handle_msg()Gabriela Moldovan2026-07-233-6/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature-gating has been a source of confusion, and it unnecessarily complicates the stream message handling flow. I've previously argued in favour of keeping it, in the spirit of a belt and braces approach to message validation, but I've been convinced that in this particular case, the feature-gate is more trouble than it's worth. What makes things worse is that the `CircHop::handle_msg()` function was designed poorly (by yours truly). I plan on refactoring it at some point, hopefully soon. There is a TODO about this below its doc comment.
* | Merge branch 'arti-authority-plugin-1' into 'main'Ian Jackson2026-07-236-0/+482
|\ \ | | | | | | | | | | | | arti-dirauth: Build an arti consensus method plugin binary, and implement list-methods See merge request tpo/core/arti!4225
| * | arti-dirauth: Correct URL for authority-plugin.mdIan Jackson2026-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | | This will appear when the MR is merged. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4225#note_3439197