| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| | |
Remove comment in changelog
See merge request tpo/core/arti!2826
|
| | | |
|
| |\ \
| |/
|/|
| |
| | |
Bump versions for 1.4.1 release
See merge request tpo/core/arti!2825
|
| | | |
|
| | | |
|
| |/
|
|
|
| |
These crates have upgraded to a newer derive_more,
and have had no other changes.
|
| |\
| |
| |
| |
| | |
Changelog for Arti 1.4.1
See merge request tpo/core/arti!2814
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| |\
| |
| |
| |
| | |
cargo: Run 'cargo update' in preparation for release
See merge request tpo/core/arti!2812
|
| | |
| |
| |
| |
| | |
This is a workaround for
https://gitlab.torproject.org/tpo/core/arti/-/issues/1335
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This is for ring >= v0.17.10
We currently use two ring versions in our Cargo.lock:
- 0.16.20 (old non-standard license)
- 0.17.11 (new license)
|
| |/ |
|
| |\
| |
| |
| |
| |
| |
| | |
Make DataStream, and its members, implement Sync.
Closes #1859
See merge request tpo/core/arti!2808
|
| | |
| |
| | |
Co-authored-by: Ian Jackson <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
Also, use static_assertions to enforce that that they
_stay_ Send+Sync.
Closes #1859.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-keymgr: Minor README updates
See merge request tpo/core/arti!2806
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
arti: Disable color when stdout is not a tty.
Closes #1763 and #1862
See merge request tpo/core/arti!2802
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Closes #1763.
Closes #1862.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-proto: Add ConfluxSet type in the reactor
See merge request tpo/core/arti!2804
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
As suggested by opara in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2804#note_3165059
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It used to be a Reactor, but the `reactor` variable name no longer makes
sense.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This helps us get rid of some unnecessary error handling.
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2804#note_3165058
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We definitely don't want to ever allow this.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously, sending two `CtrlMsg::Create` to the reactor would cause it
to panic. This makes it so that the double `Create` just leads to the
caller receiving an error response via the completion channel.
Note: this was not triggerable via the network, only via the tor-proto
API. Moreover, the panic was unreachable from the public client API,
because the `PendingClientCirc`/`ClientCirc` typestate makes it
impossible to send a second `Create` (the `PendingClientCirc` becomes
`ClientCirc` after the `Create` completes, and `PendingClientCirc`
doesn't have an API for sending `Create` control messages to the
reactor).
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is the first step toward supporting traffic splitting in the
circuit reactor.
While the logic has changed slightly to support handling circuits
instead of just one, the reactor still only supports `ConfluxSet`s of
size 1, so this should effectively be a no-op. In the future, this code
will be extended to support the conflux-specific cells and to implement
the conflux proto.
The code uses `ConfluxSet::primary_leg()` and `ConfluxSet::single_leg()`
somewhat interchangeably. This is not *currently* a problem
because`primary_leg()` is the same as `single_leg()` for single path
tunnels, but we will need to adjust some of these call sites when we add
support for multipath tunnels (I have left a `TODO(conflux)` for every
dubious call site).
This commit also makes `CtrlMsg::FirstHopClockSkew` fallible: if the
reactor is multipath, it will return `Err(Bug(..))` to the caller (this
error is returned to the caller over the `answer` channel; it does *not*
shut down the reactor)
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is an intermediate step in rewriting the reactor to manage a
"conflux set" (a set of linked circuits) rather than a single circuit.
This commit contains no functional changes.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These will soon be functions on `Circuit`, so it's a good time to pull
them out of the reactor impl.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This reorders the functions from the `Reactor` implementation in
preparation for moving some of them to `Circuit`. This commit contains
no functional changes and should be reviewed with `git diff
--color-moved`.
A future commit will move part of the `Reactor` impl block to `Circuit`.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I am moving these handlers into a separate type because they'll need to
be shared with the active `Circuit`, for handling incoming cells.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This represents a circuit "leg", in the conflux sense. The `Circuit`
type will be a helper for implementing tunnel reactors that contain
multiple `Circuit`s forming a conflux set.
The fields from `Circuit` were extracted from the `Reactor` struct. A
future commit will part of the `Reactor` implementation to `Circuit`.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
For readability
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We will soon have a `ConfluxSet` type. Some of its operations will
return `Bug` (for example, the method for getting the *only* leg of the
conflux set will return a `Bug` if the set has no legs, or more than 1
leg).
This conversion function will make it easier these errors to
`ReactorError`.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
maint: Update comments for RUSTSEC-2024-0384 exception
See merge request tpo/core/arti!2813
|