aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | downgrade-dependencies: require async-io 1.1.5.Nick Mathewson2026-02-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In my testing, this appears to fix #1168, an intermittent test failure. The underlying cause of the failure appears to be a surprise blocking return old async-io versions: > The problem was in that random yielding inside > AsyncRead/AsyncWrite (which is supposed to prevent task starvation > when I/O never returns the WouldBlock error) doesn't play nice > with the TLS protocol. It seems that TLS handshake fails if a > write errors with WouldBlock. -- https://github.com/smol-rs/async-io/issues/31 I think the problem here might actually be something more subtle than _that_, since WouldBlock on an underlying write is totally legit. But this appears to fix the testing issue at least.
* | | | | | Merge branch 'cargo-metadata-all-features' into 'main'Nick Mathewson2026-02-0926-0/+111
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set package.metadata.docs.rs.all-features to true for all crates Closes #2307 See merge request tpo/core/arti!3656
| * | | | | | ci: Check crates configure features published to docs.rsNiel Duysters2026-02-092-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All (publishable) crates should explicitly configure what features to (not) document in docs.rs. This to avoid our documentation containing references to public API specifications which yield "given resource not found" due to them being behind a feature flag not being published to docs.rs by default.
| * | | | | | Set package.metadata.docs.rs.all-features to true for all cratesNiel Duysters2026-02-0924-0/+72
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | Makes docs.rs also document types behind optional feature flags.
* | | | | | Merge branch 'extend2' into 'main'gabi-2502026-02-0913-234/+477
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proto: Start handling EXTEND2 in the relay reactor Closes #1447 See merge request tpo/core/arti!3648
| * | | | | | 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`.
* | | | | | | Merge branch 'fix-rtcompat' into 'main'opara2026-02-091-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-rtcompat: Fix clippy warning See merge request tpo/core/arti!3640
| * | | | | | | 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 'ahf/fix-merge-screwup' into 'main'Alexander Hansen Færøy2026-02-091-29/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "Merge branch 'UpdateAPI' into 'main'" See merge request tpo/core/arti!3659
| * | | | | | | | Revert "Merge branch 'UpdateAPI' into 'main'"Alexander Hansen Færøy2026-02-091-29/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 645787d50df49806b238e8afa9b89b8a7dfc1dd0, reversing changes made to 927b78ca8313d6f0fbc7291b526f1e1bd0b90afe.
* | | | | | | | | Merge branch 'cargo-audit2' into 'main'Nick Mathewson2026-02-091-0/+7
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | maint/cargo-audit: Ignore RUSTSEC-2026-0009 for now See merge request tpo/core/arti!3658
| * | | | | | | | maint/cargo-audit: Ignore RUSTSEC-2026-0009 for nowGabriela Moldovan2026-02-091-0/+7
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/issues/2341#note_3339657
* | | | | | | | Merge branch 'UpdateAPI' into 'main'Alexander Hansen Færøy2026-02-091-7/+29
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update socks5 API Closes #2335 See merge request tpo/core/arti!3654
| * | | | | | | formatting fixedNuhiat-Arefin2026-02-061-1/+1
| | | | | | | |
| * | | | | | | Update socks5 APINuhiat-Arefin2026-02-061-7/+29
| |/ / / / / /
* | | | | | | 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.
* | | | | | | Merge branch 'robertb/closed-circuit-warning-log' into 'main'Nick Mathewson2026-02-051-1/+6
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | Don't log Circuit Closed errors as warnings See merge request tpo/core/arti!3643
| * | | | | | Don't log Circuit Closed errors as warningsrobertb2026-02-051-1/+6
|/ / / / / /
* | | | | | Merge branch 'dirclient-err' into 'main'Clara Engler2026-02-051-0/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-dirclient: Document retriability of failures See merge request tpo/core/arti!3649
| * | | | | | tor-dirclient: Document retriability of failuresClara Engler2026-02-051-0/+6
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | This commit documents the retriability of `RequestFailedError`, following an IRC conversation with nickm.
* | | | | | Merge branch 'ticket1599_04' into 'main'David Goulet2026-02-047-425/+566
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | proto: Relay channel type refactor See merge request tpo/core/arti!3642
| * | | | | 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]>