summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge branch 'interface-abstraction-of-the-daleks' into 'main'Nick Mathewson2025-03-1810-64/+278
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Wrap x25519-dalek and ed25519-dalek types. See merge request tpo/core/arti!2868
| * | | | | llcrypto: add a semver file for new x25519-wrappersNick Mathewson2025-03-181-0/+1
| | | | | |
| * | | | | Wrap ed25519-dalek types.Nick Mathewson2025-03-188-54/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, we'll no longer need to expose the types from dalek-cryptography as part of our API, and we'll have more freedom to switch ed25519 implementations, or to upgrade to a newer `rand` ahead of their schedule. Unlike with x25519-dalek, I had to tweak the API a bit: There's no way to get a &PublicKey out of a Keypair now, and implementing the old ed25519-dalek traits seemed unnecessary.
| * | | | | Wrap x25519-dalek types.Nick Mathewson2025-03-171-10/+103
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, we'll no longer need to expose the types from dalek-cryptography as part of our API, and we'll have more freedom to switch curve25519 implementations, or to upgrade to a newer `rand` ahead of their schedule.
* | | | | Merge branch 'tests-rpc-client-msgs' into 'main'Nick Mathewson2025-03-182-1/+35
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | rpc-client: Increase test coverage for the msgs module See merge request tpo/core/arti!2865
| * | | | | rpc-client: Increase test coverage for the msgs modulevcrn2025-03-182-1/+35
| |/ / / /
* | | | | Merge branch 'hsc-lf' into 'main'gabi-2502025-03-181-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti: hsc-key-get: Print LF after discovery key See merge request tpo/core/arti!2856
| * | | | | arti: hsc-key-get: Print LF after discovery keyplaybahn2025-03-131-1/+1
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | Did not print a newline after service discovery key. Looked bad. Prints newline now. Looks better.
* | | | | Merge branch 'conflux-cells' into 'main'David Goulet2025-03-182-3/+62
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-cell: Add constructors for the conflux cell types. See merge request tpo/core/arti!2858
| * | | | | tor-cell: Implement RelayMsg for all conflux message types.Gabriela Moldovan2025-03-171-1/+1
| | | | | |
| * | | | | tor-cell: Add setters for the V1LinkPayload seqnos.Gabriela Moldovan2025-03-131-0/+10
| | | | | |
| * | | | | tor-cell: Make V1_LINK_NONCE_LEN pub.Gabriela Moldovan2025-03-131-1/+1
| | | | | |
| * | | | | tor-cell: Add constructors for the conflux cell types.Gabriela Moldovan2025-03-131-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | We will soon need these in the circuit reactor.
| * | | | | tor-cell: Add type alias for the V1LinkPayload nonce.Gabriela Moldovan2025-03-131-1/+4
| | | | | |
* | | | | | netdoc: Reject BOMs and NULs.Nick Mathewson2025-03-173-2/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per <https://spec.torproject.org/dir-spec/netdoc.html>, our netdocs never have a BOM, and never have internal NULs. This makes Arti reject such documents. For arguments on why it's okay to increase parser strictness, see the (forthcoming) proposal 356 at torspec!342, and see older discussion at torspec#296. Closes #1739.
* | | | | | netdoc: Make some parsing init functions fallible.Nick Mathewson2025-03-1711-40/+48
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm about to make our parsers reject some strings at construction time, so it makes sense to have these functions become fallible. This is a breaking change.
* | | | | Merge branch '1889-resolve-some-todos' into 'main'gabi-2502025-03-142-185/+174
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-keymgr: Resolve TODOs from key_specifier::tests Closes #1889 See merge request tpo/core/arti!2849
| * | | | | tor-keymgr: Resolve TODOs from key_specifier::testshjrgrn2025-03-142-185/+174
| | | | | |
* | | | | | Merge branch 'handle-relevant-errorkind-variants' into 'main'gabi-2502025-03-141-1/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | hsc: remove TODO, improve display_service_discovery_key error handling. See merge request tpo/core/arti!2846
| * | | | | | hsc: remove TODO about display_service_discovery_key error handling.hjrgrn2025-03-141-1/+0
| |/ / / / /
* | | | | | Merge branch 'dev/cve/is_fully_reachable' into 'main'gabi-2502025-03-141-0/+10
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-hsservice: Add is_fully_reachable() method Closes #1890 See merge request tpo/core/arti!2850
| * | | | | tor-hsservice: Add is_fully_reachable() methodClara Engler2025-03-131-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a `is_fully_reachable()` method to `tor_hsservice::status::State` in order to check whether the hidden service is believed to be fully reachable. See #1887 Fixes #1890
* | | | | | tor-hscrypto: Implement Display for TimePeriodhjrgrn2025-03-133-12/+26
| |/ / / / |/| | | |
* | | | | tor-proto: make `Circuit::add_hop` fallibleSteven Engler2025-03-123-13/+28
| |/ / / |/| | |
* | | | Deprecate --onion-name; introduce --onion-addressdisha2025-03-128-47/+76
| | | |
* | | | tor-proto: change `take_single_leg` to return `NotSingleLegError`Steven Engler2025-03-112-4/+3
| | | |
* | | | tor-proto: remove `ConfluxSet::single_leg_check` and add `get_single`Steven Engler2025-03-111-37/+38
| | | |
* | | | tor-proto: begin using `TargetHop` and `HopLocation`Steven Engler2025-03-116-40/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't yet change the public API, it just begins the work of plumbing these around throughout `ClientCirc`, `Reactor`, etc. This can't be broken up into smaller commits without causing build failures.
* | | | tor-proto: add methods for resolving `TargetHop` and `TargetLocation`Steven Engler2025-03-112-1/+96
| | | |
* | | | tor-proto: add a non-pub `ClientCirc::legs()` methodSteven Engler2025-03-113-2/+40
| | | |
* | | | tor-proto: combine `single_leg_with_id` and `single_leg`Steven Engler2025-03-113-43/+30
| | | | | | | | | | | | | | | | And the same with `single_leg_with_id_mut` and `single_leg_mut`.
* | | | tor-proto: remove non-conflux support from `HopLocation`Steven Engler2025-03-111-5/+0
| | | |
* | | | tor-proto: rename `HopLocation::Leg` to `HopLocation::Hop`Steven Engler2025-03-111-1/+1
| | | |
* | | | tor-proto: add methods to `ConfluxSet`Steven Engler2025-03-111-12/+65
| | | | | | | | | | | | | | | | These give more ways of accessing legs.
* | | | tor-proto: change `single_leg_mut` to return `NotSingleLegError`Steven Engler2025-03-112-7/+8
| | | |
* | | | tor-proto: add `NotSingleLegError` for `single_leg_check`Steven Engler2025-03-111-8/+34
|/ / /
* | | arti: Remove incorrect deprecation warning in hschjrgrn2025-03-102-2/+1
| | |
* | | tor-rtmock: Add since= to deprecateds (formatting)Ian Jackson2025-03-061-1/+2
| | |
* | | tor-rtmock: Add since= to deprecatedsIan Jackson2025-03-062-2/+2
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2843#note_3169975
* | | tor-rtmock: Fiddle with a comment formatIan Jackson2025-03-061-2/+3
| | | | | | | | | | | | For some reason rustfmt wants to mess with this. Forestall it.
* | | tor-rtmock: Actually apply deprecated attr to deprecated time.rsIan Jackson2025-03-065-5/+36
| | |
* | | tor-rtmock: allow-Decorate every use of MockSleepProviderIan Jackson2025-03-068-3/+35
|/ / | | | | | | | | | | | | MockSleepProvider and MockSleepRuntime have been declared deprecated by the docs for some time. We're about to mark them `#[deprecated]`. This commit has been split out for clarity of review.
* | tor-proto: s/note/warning in function docs about locking stream map mutex.Gabriela Moldovan2025-03-061-1/+1
| |
* | tor-proto: s/has_first_hop/has_hops (fmt).Gabriela Moldovan2025-03-061-5/+1
| |
* | tor-proto: s/has_first_hop/has_hops.Gabriela Moldovan2025-03-063-3/+3
| |
* | tor-proto: Fix up docs post-refactoring (fmt).Gabriela Moldovan2025-03-061-4/+1
| |
* | tor-proto: Fix up docs post-refactoring.Gabriela Moldovan2025-03-061-3/+3
| |
* | tor-proto: Move Circuit to its own module.Gabriela Moldovan2025-03-069-1325/+1393
| | | | | | | | | | | | | | | | | | | | | | This is mostly code motion + some visibility adjustments. Moving all of these outside of `reactor` makes it easier to see which parts are internal vs which are accessed by the reactor. It also helps us enforce/audit invariants such as 'there should be no contention on the `CircHop::map` mutex' (the stream map is now private to `reactor::circuit`, and therefore nothing inside `reactor` will be directly accessing it).
* | tor-proto: Avoid accessing CircHop internals from the reactor.Gabriela Moldovan2025-03-063-2/+16
| | | | | | | | This will enable us to move `CircHop` out of `reactor.rs`.
* | tor-proto: Avoid accessing Circuit internals from the reactor.Gabriela Moldovan2025-03-062-3/+16
| | | | | | | | This will enable us to factor `Circuit` out of `reactor.rs`.