summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | proto: Say why it's okay not to have timeouts in a couple of placesGabriela Moldovan2026-02-091-0/+6
| | | |
| * | | proto: Remove the EXTEND2 timeout for nowGabriela Moldovan2026-02-091-26/+11
| | | | | | | | | | | | | | | | | | | | See discussion at https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3648#note_3339863
| * | | proto: Reject EXTEND2 cells even if we already have an extension in progressGabriela Moldovan2026-02-091-1/+12
| | | |
| * | | proto: Ensure DESTROY gets sent on circuit dropGabriela Moldovan2026-02-052-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements this part of the spec: ``` To tear down a circuit completely, a relay or client sends a DESTROY cell to the adjacent nodes on that circuit, using the appropriate direction’s circID. ```
| * | | proto: Make handle_extend2() synchronousGabriela Moldovan2026-02-051-3/+2
| | | | | | | | | | | | | | | | | | | | This doesn't need to be async, as it delegates the handling to a background task.
| * | | proto: Implement EXTEND2 handlingGabriela Moldovan2026-02-052-152/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To handle EXTEND2, the relay `ForwardHandler` impl spawns a background task, which reports back the result via the `CircEvent` MPSC stream. This stream is polled from the `ForwardReactor` main loop, and each `CircEvent` is passed back to `ForwardHandler::handle_event()` for handling.
| * | | proto: Move CREATE helpers to a shared moduleGabriela Moldovan2026-02-053-6/+6
| | | | | | | | | | | | | | | | These will be used by the relay code too (for circuit extension).
| * | | proto: Reword an error message for clarityGabriela Moldovan2026-02-051-1/+1
| | | | | | | | | | | | | | | | Users reading the log won't necessarily know what a "forward channel" is.
| * | | proto: Add BWD command for receiving newly launched outbound channelsGabriela Moldovan2026-02-051-0/+36
| | | |
| * | | proto: Give handle_meta_msg() a handle to the runtimeGabriela Moldovan2026-02-053-3/+10
| | | |
| * | | proto: Add an implementation-dependent reactor event streamGabriela Moldovan2026-02-054-1/+54
| | | | | | | | | | | | | | | | | | | | This will enable us to obtain implementation-dependent asynchronous events (such as the outcome of an extend handshake).
| * | | proto: Add new LinkspecDecodeErr kindGabriela Moldovan2026-02-051-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | This will be needed by relays, for wrapping tor_linkspec decode errors (which can happen if the link specifiers in the EXTEND2 cell can't be converted to a channel target).
| * | | proto: Make chan_provider an ArcGabriela Moldovan2026-02-052-3/+4
| | | | | | | | | | | | | | | | To match the `ChannelProvider::get_or_launch()` function signature.
| * | | proto: Pass the unique id to Forward handlerGabriela Moldovan2026-02-052-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | We need the unique_id here, because the Forward handler will soon start using the `ChannelProvider::get_or_launch()` to launch outbound channels, which takes the reactor unique_id as an argument.
| * | | proto: Move channel provider out of the generic reactorGabriela Moldovan2026-02-054-72/+18
| | | | | | | | | | | | | | | | | | | | | | | | The channel provider is relay-specific, so I am moving it to the relay `ForwardHandler` implementation. This enables us to get rid of some of the feature gating from the generic reactor.
| * | | proto: Add Channel function for launching outbound relay circuitsGabriela Moldovan2026-02-051-0/+47
| | | | | | | | | | | | | | | | This is currently very similar to its client counterpart.
| * | | proto: Make inner part of OutboundChanSender pub(crate)Gabriela Moldovan2026-02-051-1/+1
| | | | | | | | | | | | | | | | We will need the ability to build one from within tor-proto.
| * | | proto: Enable the tor-linkspec/decode feature for relaysGabriela Moldovan2026-02-051-1/+1
| | | | | | | | | | | | | | | | Needed for handling the linkspecs in an EXTEND2 cell.
| * | | cell: Add an accessor for the linkspecs of an EXTEND2Gabriela Moldovan2026-02-051-0/+5
| | | |
| * | | proto: Fix misleading SendRelayMsg docsGabriela Moldovan2026-02-051-1/+1
| | | | | | | | | | | | | | | | This was leftover from back when this command was only for Sendmes.
| * | | proto: Make ChannelProvider::get_or_launch() synchronousGabriela Moldovan2026-02-053-2/+3
| | | | | | | | | | | | | | | | This just removes an unnecessary `async`.
* | | | tor-rtcompat: fix clippy warningSteven Engler2026-02-091-0/+1
| | | |
* | | | Merge branch 'unnecessary-async' into 'main'David Goulet2026-02-093-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | proto: Make ChannelProvider::get_or_launch() synchronous See merge request tpo/core/arti!3647
| * | | | proto: Make ChannelProvider::get_or_launch() synchronousGabriela Moldovan2026-02-043-2/+3
| | | | | | | | | | | | | | | | | | | | This just removes an unnecessary `async`.
* | | | | Merge branch 'feature/cmdline-paths' into 'main'Nick Mathewson2026-02-091-2/+10
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | Allow to set paths in CLI arguments See merge request tpo/core/arti!3556
| * | | | Expand allowable unquoted syntax for configuration arguments in CLI.carti-it2026-02-091-2/+10
| | | | | | | | | | | | | | | | | | | | The set of allowable characters now includes colon, dot, slash, and backslash. This makes it a bit more convenient to pass in paths.
* | | | | Don't log Circuit Closed errors as warningsrobertb2026-02-051-1/+6
| |_|/ / |/| | |
* | | | tor-dirclient: Document retriability of failuresClara Engler2026-02-051-0/+6
| | | | | | | | | | | | | | | | | | | | This commit documents the retriability of `RequestFailedError`, following an IRC conversation with nickm.
* | | | chanmgr: Always use connect target for error reportingDavid Goulet2026-02-041-14/+6
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | | | chanmgr: Use the new tor-proto relay channel APIDavid Goulet2026-02-041-43/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With specific types now for relay channels, add a function to build the channel and run the reactor. That function is feature gated and thus relay only. Signed-off-by: David Goulet <[email protected]>
* | | | proto: Add missing clock_skew() to unverified channelsDavid Goulet2026-02-043-8/+15
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | | | proto: Remove unused traits after type refactoringDavid Goulet2026-02-041-73/+0
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | | | proto: Make channel client to use a specific typeDavid Goulet2026-02-041-38/+43
| | | | | | | | | | | | | | | | | | | | | | | | Remove the use of traits, the caller will handle the specific type. Signed-off-by: David Goulet <[email protected]>
* | | | proto: Relay channel code cleanupDavid Goulet2026-02-041-323/+4
| | | | | | | | | | | | | | | | | | | | | | | | No need for these types, we've replaced them with more specific types. Signed-off-by: David Goulet <[email protected]>
* | | | proto: Introduce new relay responder channel typesDavid Goulet2026-02-043-20/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the unverified, verified, non verifiable flavor types of a responder channel. This follow on the previous commit to use the type system for stronger guarantees. Signed-off-by: David Goulet <[email protected]>
* | | | proto: Introduce new relay initiator channel typesDavid Goulet2026-02-043-4/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the Unverified and Verified flavor of a relay channel specific to an initiator. We decided to use the type system for safety and avoid patterns like: "if chan.is_initiator() {...} else {...}" This allows us also to not duplicate code between initiator and responder code. The downside is that we expose these types outside of tor-proto meaning the caller needs to feature gate the usage of these types with the "relay" flag. Small price to pay for strong guarantees with the type system. Signed-off-by: David Goulet <[email protected]>
* | | | proto: Move the ChannelAuthenticationData::build() function into the object ↵David Goulet2026-02-041-0/+85
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | itself Previous function "build_auth_data()" is still around but will be removed in the upcoming commits. Signed-off-by: David Goulet <[email protected]>
* | | Merge branch 'bwd-msg-send-refactor' into 'main'gabi-2502026-02-043-22/+26
|\ \ \ | | | | | | | | | | | | | | | | proto: Replace send_sendme() with general-purpose function See merge request tpo/core/arti!3641
| * | | proto: Remove assumption that we are a relay from BWD docGabriela Moldovan2026-02-041-1/+1
| | | | | | | | | | | | | | | | This was leftover from back when the BWD was a relay-specific type.
| * | | proto: Replace SendSendme with a more general-purpose command (fmt)Gabriela Moldovan2026-02-041-5/+4
| | | |
| * | | proto: Replace SendSendme with a more general-purpose commandGabriela Moldovan2026-02-043-13/+14
| | | | | | | | | | | | | | | | | | | | This will soon be used for instructing the BWD to send other types of messages too.
| * | | proto: Replace send_sendme() with general-purpose functionGabriela Moldovan2026-02-041-8/+12
| | |/ | |/| | | | | | | | | | | | | | | | The backward reactor will soon need the ability to send other types of relay messages too: it will soon need the ability to respond to EXTEND2 by sending back an EXTENDED2, so I am preemptively making this function more general so we can reuse it.
* / | arti: note TROVE-2026-001 in semver.mdSteven Engler2026-02-041-0/+1
|/ / | | | | | | | | This isn't really semver related, but should be added in the changelog, so here seems to be a reasonable place to put this.
* | Merge branch 'upgrade-getrandom-0.4.0' into 'main'Alexander Hansen Færøy2026-02-032-2/+2
|\ \ | | | | | | | | | | | | deps: Upgrade getrandom to 0.4.0. See merge request tpo/core/arti!3633
| * | deps: Upgrade getrandom to 0.4.0.Wesley Aptekar-Cassels2026-02-022-2/+2
| | | | | | | | | | | | This does not have any breaking changes that affect us.
* | | arti-relay: launch the client's background tasksSteven Engler2026-02-032-9/+41
| | |
* | | arti-relay: rename 'bootstrap()' method to 'init()'Steven Engler2026-02-032-7/+8
| | | | | | | | | | | | This method won't really be used for bootstrapping anymore.
* | | arti-relay: remove old TODOSteven Engler2026-02-031-10/+0
| | | | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/issues/2329
* | | arti-relay: move code into a "client" objectSteven Engler2026-02-033-64/+129
| | |
* | | Merge branch 'int-test-scope' into 'main'wesleyac2026-02-033-31/+33
|\ \ \ | | | | | | | | | | | | | | | | arti: test: rescope entities form util.rs files See merge request tpo/core/arti!3624