| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Set package.metadata.docs.rs.all-features to true for all crates
Closes #2307
See merge request tpo/core/arti!3656
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | | |
Makes docs.rs also document types behind optional feature flags.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
proto: Start handling EXTEND2 in the relay reactor
Closes #1447
See merge request tpo/core/arti!3648
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
See discussion at
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3648#note_3339863
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
```
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This doesn't need to be async, as it delegates the handling to a
background task.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
These will be used by the relay code too (for circuit extension).
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Users reading the log won't necessarily know what a "forward channel" is.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This will enable us to obtain implementation-dependent asynchronous
events (such as the outcome of an extend handshake).
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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).
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
To match the `ChannelProvider::get_or_launch()` function signature.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is currently very similar to its client counterpart.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We will need the ability to build one from within tor-proto.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Needed for handling the linkspecs in an EXTEND2 cell.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This was leftover from back when this command was only for Sendmes.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This just removes an unnecessary `async`.
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
tor-rtcompat: Fix clippy warning
See merge request tpo/core/arti!3640
|
| |/ / / / / / / |
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
proto: Make ChannelProvider::get_or_launch() synchronous
See merge request tpo/core/arti!3647
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This just removes an unnecessary `async`.
|
| |\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Revert "Merge branch 'UpdateAPI' into 'main'"
See merge request tpo/core/arti!3659
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
This reverts commit 645787d50df49806b238e8afa9b89b8a7dfc1dd0, reversing
changes made to 927b78ca8313d6f0fbc7291b526f1e1bd0b90afe.
|
| |\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | |
| | | | | | | | |
| | | | | | | | | |
maint/cargo-audit: Ignore RUSTSEC-2026-0009 for now
See merge request tpo/core/arti!3658
|
| | | |_|/ / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
See
https://gitlab.torproject.org/tpo/core/arti/-/issues/2341#note_3339657
|
| |\ \ \ \ \ \ \ \
| |_|_|_|/ / / /
|/| | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Update socks5 API
Closes #2335
See merge request tpo/core/arti!3654
|
| | | | | | | | | |
|
| | |/ / / / / / |
|
| |\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | |
| | | | | | |
| | | | | | | |
Allow to set paths in CLI arguments
See merge request tpo/core/arti!3556
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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 warnings
See merge request tpo/core/arti!3643
|
| |/ / / / / / |
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
tor-dirclient: Document retriability of failures
See merge request tpo/core/arti!3649
|
| |/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This commit documents the retriability of `RequestFailedError`,
following an IRC conversation with nickm.
|
| |\ \ \ \ \ \
| |_|/ / / /
|/| | | | |
| | | | | |
| | | | | | |
proto: Relay channel type refactor
See merge request tpo/core/arti!3642
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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]>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Remove the use of traits, the caller will handle the specific type.
Signed-off-by: David Goulet <[email protected]>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
No need for these types, we've replaced them with more specific types.
Signed-off-by: David Goulet <[email protected]>
|