summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | proto: Various channel handshake fixesDavid Goulet2025-09-021-21/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are following the review of MR 3182. They are put in a single commit because the git absorb has a large amount of conflicts on rebase and this commit allows the reviewers to see what happened. The base branch was rebased on main due to the need for 3184. Signed-off-by: David Goulet <[email protected]>
| * | | proto: Fix unit tests after changesDavid Goulet2025-09-021-5/+5
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | proto: Add a helper to calculate the handshake clock skewDavid Goulet2025-09-021-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | In the spirit of avoidin code duplication. Signed-off-by: David Goulet <[email protected]>
| * | | proto: Add a channel initiator handshake base traitDavid Goulet2025-09-021-76/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All initiator handshake will implement this in order to get access to the helper function to receive the relay responder cells. Relay will implement this in future commits. Signed-off-by: David Goulet <[email protected]>
| * | | proto: Introduce a ChannelBaseHandshake traitDavid Goulet2025-09-021-37/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Client and relay handhsake share a lot of code because they both send/recv the same cells, just handles them differently for verification. This is the base trait for all handshake implementing basic getters and VERSIONS cell handling. This will allow the RelayInitiatorHandshake and RelayResponderHandshake to use this common code. See, traits are fun. Win-win-win. Signed-off-by: David Goulet <[email protected]>
| * | | proto: Put in a ChannelFrame<T> into the client handshakeDavid Goulet2025-09-021-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ClientInitiatorHandshake holds a "tls" sink but the very first thing we do is transform it to a ChannelFrame<T>. Instead, just store the frame to the object directly so we can then use a channel frame uniformily accross its lifetime. This will be useful for the future refactoring paving the way for relay channel authentication. Signed-off-by: David Goulet <[email protected]>
* | | | Merge branch 'rustsec-2025-0055' into 'main'Nick Mathewson2025-09-026-6/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Require tracing-subscriber 0.3.20 See merge request tpo/core/arti!3221
| * | | | Require tracing-subscriber 0.3.20Nick Mathewson2025-09-026-6/+6
| |/ / / | | | | | | | | | | | | Fixes RUSTSEC-2025-0055.
* | | | Merge branch 'const-assert-cleanly' into 'main'Nick Mathewson2025-09-025-9/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | various crates: Switch to "assert in const" pattern See merge request tpo/core/arti!3217
| * | | | tor-proto: Switched to "assert in const" patternhashcatHitman2025-09-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced use of [`static_assertions::const_assert`] with the newly available "assert in const" pattern. Signed-off-by: hashcatHitman <[email protected]>
| * | | | tor-netdir: Removed dependency on `static_assertions`hashcatHitman2025-09-012-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced use of [`static_assertions::const_assert`] with the newly available "assert in const" pattern. This completely removes the dependency on `static_assertions` for `tor-netdir`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | tor-circmgr: Removed dependency on `static_assertions`hashcatHitman2025-09-012-4/+2
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Replaced use of [`static_assertions::const_assert`] with the newly available "assert in const" pattern. This completely removes the dependency on `static_assertions` for `tor-circmgr`. Signed-off-by: hashcatHitman <[email protected]>
* | | | Merge branch '2144-fix-keys-test' into 'main'David Goulet2025-09-022-2/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | arti: test: Fix `keys` integration test Closes #2144 See merge request tpo/core/arti!3209
| * | | arti: test: Fix `keys` integration testhjrgrn2025-08-282-2/+2
| | | | | | | | | | | | | | | | The `keys` integration test now accounts for case-insensitive filesystems
* | | | Update to derive-deftly 1.3.0Ian Jackson2025-09-0226-27/+27
| | | |
* | | | tor-netdoc: parse2: derive: Remove an unneeded nested ${concat }Ian Jackson2025-09-021-1/+1
| | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3186#note_3249820
* | | | tor-netdoc: parse2: Speak of non-structural *items* rather than fieldsIan Jackson2025-09-021-1/+1
| | | |
* | | | tor-netdoc: parse2: Explicitly define "structural item"Ian Jackson2025-09-021-0/+7
| | | |
* | | | tor-netdoc: parse2: Report unexpected subdoc multiplicity at the intro itemIan Jackson2025-09-022-3/+5
| | | |
* | | | tor-netdoc: multiplicity: Introduce can_accumulateIan Jackson2025-09-021-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | We're going to use this to check that we can accept a sub-document before we parse it. That will make the error come out in the right place.
* | | | tor-netdoc: parse2 tests: Add test case for flatteningIan Jackson2025-09-021-2/+42
| | | |
* | | | tor-netdoc: parse2 tests: Use sval in one place rather than open-codingIan Jackson2025-09-021-1/+1
| | | |
* | | | tor-netdoc: parse2: Provide flattening and NetdocParseableFieldsIan Jackson2025-09-024-8/+155
| | | |
* | | | tor-netdoc: parse2: Preparatory rework for flatteningIan Jackson2025-09-021-8/+10
| | | | | | | | | | | | | | | | | | | | Change from two loops over fields and two ${when}, to one loop with ${select1}. There will be another arm in a moment.
* | | | tor-netdoc: parse2: Specify `for struct` in one of the derivesIan Jackson2025-09-021-1/+1
| | | | | | | | | | | | | | | | None of these things support enums or unions.
* | | | tor-netdoc: parse2: tests: Include the test doc in more error msgsIan Jackson2025-09-021-5/+6
| |/ / |/| |
* | | proto: Use allow(unused) instead of expect(unused).Gabriela Moldovan2025-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With rustc 1.85, this `expect(unused)` triggers a "lint expectation unfulfilled" error, because rust thinks the struct *is* used (because of the d-d `TryFrom` implementation), despite the fact that it's never actually constructed. This isn't a problem on newer versions (it's correctly identified as unused/dead code on 1.89, for example). Using `allow` instead of `expect` is slightly less nice, but it makes `clippy` pass on 1.85 too.
* | | Merge branch 'ticket-2145' into 'main'Nick Mathewson2025-08-281-8/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | fix documentation for StreamPrefs::connect_to_onion_services to match changes in !2506 Closes #2145 See merge request tpo/core/arti!3212
| * | | fix documentation for StreamPrefs::connect_to_onion_services to match ↵Aiden McClelland2025-08-281-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | changes in !2506 Signed-off-by: Aiden McClelland <[email protected]>
* | | | Remove semver.md filesNick Mathewson2025-08-283-10/+0
|/ / /
* | | Merge branch 'bumps-for-1.5.0' into 'main'Nick Mathewson2025-08-2861-568/+562
|\ \ \ | | | | | | | | | | | | | | | | Version bumps for arti 1.5.0 See merge request tpo/core/arti!3206
| * | | Update lockfiles in equix, hashx.Nick Mathewson2025-08-282-23/+17
| | | |
| * | | Increment arti version to 1.5.0Nick Mathewson2025-08-283-3/+3
| | | | | | | | | | | | | | | | | | | | We've promised in our README not to bump MSRV in patchlevel releases. So now this is 1.5.0.
| * | | Bump the minor version of every published crate except for `arti`.Nick Mathewson2025-08-2859-542/+542
| |/ / | | | | | | | | | | | | | | | | | | | | | Per policy, we bump the minor version of every tor-*, arti-* crate on each release. We have updated our MSRV, so we're treating this as a breaking change for our non-(arti/tor)-prefixed crates too.
* / / Run "update-release-date"Nick Mathewson2025-08-281-1/+1
|/ /
* | Run "cargo update" in preparation for release.Nick Mathewson2025-08-282-92/+92
| |
* | Merge branch 'new-criterion' into 'main'Alexander Hansen Færøy2025-08-285-56/+16
|\ \ | | | | | | | | | | | | | | | | | | Upgrade to criterion 0.7 Closes #2026 See merge request tpo/core/arti!3199
| * | Upgrade to criterion 0.7Nick Mathewson2025-08-275-56/+16
| | | | | | | | | | | | | | | | | | Closes #2026. We can do this now that criterion-cycles-per-byte has also upgraded.
* | | Merge branch 'fixup-features' into 'main'Nick Mathewson2025-08-282-2/+3
|\ \ \ | | | | | | | | | | | | | | | | Run "fixup-features" in preparation for release. See merge request tpo/core/arti!3196
| * | | Fix complaints from "cargo sort"Nick Mathewson2025-08-271-1/+2
| | | |
| * | | Run "fixup-features"Nick Mathewson2025-08-272-3/+3
| | | |
* | | | proto: Move TunnelId to a separate, shared module (fmt).Gabriela Moldovan2025-08-286-6/+6
| | | |
* | | | proto: Move TunnelId to a separate, shared module.Gabriela Moldovan2025-08-2810-58/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `TunnelId*` types will be reused in the relay reactor (exit relays need to have the concept of a "tunnel ID" because of conflux). Now the `relay::reactor` module only has a single import from `client` (for the `unwrap_or_shutdown` helper, which we should be able to remove soon). From now, we will avoid importing anything from `client` in the `relay` module, and instead prefer refactoring the code as needed (to pull the implementation-agnostic parts outside of `client`). This commit has no functional changes, just code motion.
* | | | proto: Add a circuit module shared between client and relay impls.Gabriela Moldovan2025-08-2829-56/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is just code motion (I suggest reviewing with `--color-moved`). This also moves the implementation-agnostic parts from `tor_proto::client::circuit` to a new `tor_proto::circuit` module.
* | | | Merge branch 'relay-chan-msg' into 'main'gabi-2502025-08-281-31/+72
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | proto: Add a new RelayCircChanMsg message subclass. See merge request tpo/core/arti!3198
| * | | | proto: Avoid referring to restricted ChanMsgs as "subclasses".Gabriela Moldovan2025-08-281-5/+5
| | | | |
| * | | | proto: Add a new RelayCircChanMsg message subclass.Gabriela Moldovan2025-08-281-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | This will be used to restrict the types of messages that can be sent on the relay-specific channels.
| * | | | proto: Derive ChanMsgSubclass for CreateResponse, ClientCircChanMsg.Gabriela Moldovan2025-08-271-32/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This enables us to remove the open-coded implementations in favor of the derived version.
| * | | | proto: Add d-d macro for creating AnyChanMsg subclasses.Gabriela Moldovan2025-08-271-1/+26
| |/ / / | | | | | | | | | | | | | | | | | | | | The code for generating these is repetitive (see `CreateResponse` and `ClientChanMsg`), and we will soon need a `RelayChanMsg` type too, so now is a good time to introduce a helper for generating the boilerplate.
* | | | Merge branch 'circmgr-timeout-estimator-logging' into 'main'Nick Mathewson2025-08-271-0/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | tor-circmgr: Add more logging about timeout estimation. See merge request tpo/core/arti!3152