| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| | |
Also, use it to report that we have queued normal data.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
We'll need this so that we can tell the right padding machine(s)
which of them just had a queue flush.
This is not yet 100% done; the unfinished parts are marked with
XXXXs.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
There are incomplete pieces, marked with "TODO circpad".
There is no integration into the circuit reactor code yet.
Part of #63
|
| |
|
|
|
|
|
|
|
|
|
| |
With rustc 1.85, this `expect(unused)` triggers a "lint expectation
unfulfilled" error, because rust thinks the struct *is* used (because of
the d-d `TryFrom` implementation), despite the fact that it's never
actually constructed. This isn't a problem on newer versions (it's
correctly identified as unused/dead code on 1.89, for example).
Using `allow` instead of `expect` is slightly less nice, but it makes
`clippy` pass on 1.85 too.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The `TunnelId*` types will be reused in the relay reactor (exit relays
need to have the concept of a "tunnel ID" because of conflux).
Now the `relay::reactor` module only has a single import from `client`
(for the `unwrap_or_shutdown` helper, which we should be able to remove
soon). From now, we will avoid importing anything from `client` in the
`relay` module, and instead prefer refactoring the code as needed (to
pull the implementation-agnostic parts outside of `client`).
This commit has no functional changes, just code motion.
|
| |
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| | |
proto: Add a new RelayCircChanMsg message subclass.
See merge request tpo/core/arti!3198
|
| | | |
|
| | |
| |
| |
| |
| | |
This will be used to restrict the types of messages that can be sent on
the relay-specific channels.
|
| | |
| |
| |
| |
| | |
This enables us to remove the open-coded implementations in favor of the
derived version.
|
| | |
| |
| |
| |
| |
| | |
The code for generating these is repetitive (see `CreateResponse` and
`ClientChanMsg`), and we will soon need a `RelayChanMsg` type too, so
now is a good time to introduce a helper for generating the boilerplate.
|
| |/ |
|
| |\
| |
| |
| |
| | |
proto: tweak docs to say where the prop349 checks are implemented
See merge request tpo/core/arti!3171
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
| |
This tries to explain that the amount of incoming data we choose to
buffer on an arti stream doesn't really matter for arti's socks proxy,
since the amount of data buffered by the kernel is significantly higher.
|
| | |
|
| |
|
|
| |
This restores the pre-374889d34aa0 behaviour.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|