| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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`.
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
proto: Make ChannelProvider::get_or_launch() synchronous
See merge request tpo/core/arti!3647
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
This just removes an unnecessary `async`.
|
| |\ \ \ \ \ \
| |_|_|/ / /
|/| | | | |
| | | | | |
| | | | | | |
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.
|
| | |_|/ / /
|/| | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit documents the retriability of `RequestFailedError`,
following an IRC conversation with nickm.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
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]>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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]>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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]>
|
| | |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
itself
Previous function "build_auth_data()" is still around but will be
removed in the upcoming commits.
Signed-off-by: David Goulet <[email protected]>
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
proto: Replace send_sendme() with general-purpose function
See merge request tpo/core/arti!3641
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This was leftover from back when the BWD was a relay-specific type.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will soon be used for instructing the BWD to send other types of
messages too.
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |/ / /
| | |
| | |
| | |
| | | |
This isn't really semver related, but should be added in the changelog,
so here seems to be a reasonable place to put this.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
deps: Upgrade getrandom to 0.4.0.
See merge request tpo/core/arti!3633
|
| | | | |
| | | |
| | | |
| | | | |
This does not have any breaking changes that affect us.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This method won't really be used for bootstrapping anymore.
|
| | | | |
| | | |
| | | |
| | | | |
See https://gitlab.torproject.org/tpo/core/arti/-/issues/2329
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
arti: test: rescope entities form util.rs files
See merge request tpo/core/arti!3624
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
arti: Improve handling of `-p` and `-d` options
See merge request tpo/core/arti!3628
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Uses the standard clap error messages, for example:
```text
$ cargo run -p arti -- proxy -p 123a
error: invalid value '123a' for '-p <PORT>': invalid digit found in string
For more information, try '--help'.
```
|