| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \
| |/
|/|
| |
| | |
proto: Experimental API to install a circuit padder at a hop.
See merge request tpo/core/arti!3262
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For now, we're not going to implement hop negotiation: we're still
waiting to find a set of padding machines that will be useful for
Arti. This API will help facilitate experimentation to find such
padding machines.
These APIs are under a separate feature (`circ-padding-manual`)
to avoid confusing them with the rest of the padding code:
we only want them to be exported when the researcher wants to
manually install circuit padding.
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This makes it clearer that the tunnel shutdown is triggered correctly
(i.e. that it is enough for *one* of the legs to receive the bad SWITCH
cell).
This also updates a comment that wrongly suggests that the tunnel is
only shut down if both legs get removed from the conflux set.
|
| |
|
|
|
|
|
| |
The test code now creates the params (which enables it to build test
cases that use various params).
Resolves a TODO.
|
| | |
|
| |
|
|
|
| |
This requires some annoying plumbing to make sure that the right
types wind up in the right places.
|
| |
|
|
|
|
|
|
| |
There are incomplete pieces, marked with "TODO circpad".
There is no integration into the circuit reactor code yet.
Part of #63
|
| |
|
|
|
|
|
| |
This is just code motion (I suggest reviewing with `--color-moved`).
This also moves the implementation-agnostic parts from
`tor_proto::client::circuit` to a new `tor_proto::circuit` module.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the ChannelFrame<> for the entirety of the outbound client handshake
that is the ClientInitiator channel type.
With this change, the codec.rs code is not needed anymore along its
CodecError as well which has been normalized onto the crate::Error
instead in order to simplify error handling and avoid duplication of
error types.
Unit tests have been modified to reflect this change of what can be done
with a channel frame. Also renamed to focus on client behavior.
Part of #1597
Signed-off-by: David Goulet <[email protected]>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The `stream` module is client-specific, for the most part, so I am
moving it under `client`. Later on, we will factor out the parts that
can be shared with the relay implementation.
Note: this is a breaking change as the deleted `stream` module was
`pub`. We could've kept the module and reexported from it the public
types from `tor_proto::client::stream`, but I think it's better to have
this `client` namespacing, because it makes the separation between the
client and relay parts clearer.
|
| | |
|
|
|
The implementation from `tunnel` is client-specific, so we are renaming
the module accordingly. The more generic parts will be pulled into a
separate module in a future commit.
|