| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When negotiation won't occur, we need to represent the fact by
disabling any settings that would depend on negotiation.
Otherwise we'll wind up with the client thinking everything
was supported, and the relay thinking that nothing is.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The fallback CC algorithm is _always_ fixed-window, and we should only
use it when the selected CC algorithm is not supported.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now tor-circmgr no longer needs to check which Protover capabilities
are enabled, or construct a separate CircParameters for each hop.
Instead, tor-proto decides whether to use the fallback CC mode,
based on whether the target supports FLOWCTRL_CC.
Closes #1967.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We will construct this object based on the circuit parameters _and_
on the target's supported protocol versions, so we need to do so
when we have both pieces of info.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
One type will now represent _the kind of hop we are asking
tor-proto to negotiate_; the other will represent
_the state of such negotiation_.
This doesn't simplify the code much yet, but it will be helpful
as we add more and more negotiable settings.
Part of #1967
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
Remove comment saying we do not implement consensus diffs
See merge request tpo/core/arti!3039
|
| |/ / / / |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Un-pin version of typed-index-collections
Closes #1647
See merge request tpo/core/arti!3037
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Now that our MSRV has been updated to 1.83, we should be able to get
away with this.
Closes #1647. Reverts !2471.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
tor-rtmock: Use subthread_spawn for spawn_blocking.
Closes #2033
See merge request tpo/core/arti!3036
|
| | | | |
| | | |
| | | |
| | | | |
Fixes: #2033
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
proto: Let benchmarks build correctly on non-intel
Closes #2029
See merge request tpo/core/arti!3032
|
| | | | | |
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
(criterion-cycles-per-byte, though quite helpful,
doesn't work on non-intel CPUs)
Closes #2029.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ci: Unpin nightly version
Closes #2018
See merge request tpo/core/arti!3035
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 586d57267d3a4fa698911b40d8799d5d3f248872.
This is fixed in the latest rust/clippy nightly; tested with:
rustc 1.89.0-nightly (6ccd44760 2025-06-08)
```
RUSTUP_TOOLCHAIN=nightly cargo clippy --tests -p tor-basic-utils
```
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-cell: Add XON/XOFF cells
See merge request tpo/core/arti!3031
|
| | | | | |
|
| | | | | |
|
| | |/ / |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-rtcompat: Remove rustls dependency in favor of futures-rustls
See merge request tpo/core/arti!2943
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
With the removal of the hard `rustls` dependency and preferring
`futures-rustls`, then `paste` crate gets downgraded to a too-low of a version
so we should update it for our code to be able to compile correctly.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
futures-rustls provides and re-exports rustls and thus the rustls
dependency is redundant.
Additionally, this removes `aws-lc-rs` and its inherent dependencies
from `Cargo.lock` and the entire project since they've been included
because the rustls dependency did not use `default-features = false`
and rustls by default now depends on `aws-lc-rs` as its crypto engine.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
NetDir::pick_n_relays: avoid some unwarranted warnings
See merge request tpo/core/arti!3028
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously we logged a warning whenever `choose_multiple_weighted`
returns `Ok(iter)`, whenever `iter` contains fewer relays than
requested.
However, this is expected behavior of `choose_multiple_weighted` if the
filtered list of relays doesn't have the requested number of relays, in
which case it should return all of the relays in the filtered list.
In particular, this condition occurs regularly in test networks when
looking for candidate relays to add to the potential guard set while
excluding those already in the potential guard set.
We still warn if the returned list is fewer than requested, *and* fewer
than available in the filtered list.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-proto: Fixes/improvements to stream rate limiter
See merge request tpo/core/arti!3029
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously it did not behave correctly when `bucket.max()` was 0 (it
would sleep for 0 time instead of infinitely, triggering a debug
assertion).
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
The token bucket is now refilled before changing the rate.
|
| |/ / / |
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
expose socks proxy some more
See merge request tpo/core/arti!3016
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
tor-proto: Add rate-limiting to `DataWriter`
Closes #1992
See merge request tpo/core/arti!3014
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
The user now sets a constant amount of bytes to wait for.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|