| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because we've updated our MSRV, we must bump the minor version for every
package.
This was done as follows:
cargo set-version -p arti 1.6.0
cargo set-version -p oneshot-fused-workaround 0.4.0
cargo set-version -p slotmap-careful 0.4.0
cargo set-version -p test-temp-dir 0.5.0
cargo set-version -p fslock-guard 0.4.0
cargo set-version -p hashx 0.5.0
cargo set-version -p equix 0.4.0
cargo set-version -p caret 0.7.0
cargo set-version -p fs-mistrust 0.12.0
cargo set-version -p safelog 0.6.0
cargo set-version -p retry-error 0.8.0
xargs -I P <<END cargo set-version -p P 0.35.0
tor-basic-utils
tor-error
tor-general-addr
tor-geoip
tor-rtcompat
tor-rtmock
tor-async-utils
tor-config
tor-config-path
tor-rpc-connect
tor-log-ratelim
tor-rpcbase
tor-memquota
tor-units
tor-llcrypto
tor-bytes
tor-protover
tor-checkable
tor-cert
tor-key-forge
tor-hscrypto
tor-socksproto
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-relay-selection
tor-persist
tor-keymgr
tor-chanmgr
tor-ptmgr
tor-dircommon
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-dirserver
tor-hsclient
tor-hsservice
tor-hsrproxy
tor-relay-crypto
arti-client
arti-relay
arti-rpcserver
arti-ureq
arti-rpc-client-core
END
|
| | |
|
| |
|
|
| |
This feature has been removed from nightly, in favor of doc_cfg.
|
| |
|
|
|
| |
I've added these in places that are useful for the debugging that I've
been doing.
|
| |\
| |
| |
| |
| |
| |
| | |
proto: Remove half-streams when they expire.
Closes #264
See merge request tpo/core/arti!3267
|
| | |
| |
| |
| |
| | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3267#note_3259820
|
| | | |
|
| | |
| |
| |
| |
| | |
This enables us to read the CBT estimates from the circuit reactor (we
need these to compute the half-stream timeouts for #264).
|
| | |
| |
| |
| |
| | |
This will enable us to pass the timeout estimator to the circuit reactor
in tor-proto.
|
| | |
| |
| |
| | |
Closes #2174. See that ticket for rationale.
|
| |/ |
|
| |\
| |
| |
| |
| | |
tor-proto,tor-netdir: add flow control consensus parameters
See merge request tpo/core/arti!3249
|
| | | |
|
| |/ |
|
| |
|
|
| |
Closes #2107
|
| |\
| |
| |
| |
| | |
various crates: Updated MSRV TODOs for `once_cell` removal
See merge request tpo/core/arti!2953
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
- Shortened the TODO added in e9ef7bea96c2860fa81d03e8d8da2605d0661425 in the
style of [this maintainer request] for consistency.
[this maintainer request]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2953#note_3197719
Signed-off-by: hashcatHitman <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
various crates: Switch to "assert in const" pattern
See merge request tpo/core/arti!3217
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replaced use of [`static_assertions::const_assert`] with the newly
available "assert in const" pattern. This completely removes the
dependency on `static_assertions` for `tor-circmgr`.
Signed-off-by: hashcatHitman <[email protected]>
|
| |/ / |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Per policy, we bump the minor version of every tor-*, arti-* crate
on each release.
We have updated our MSRV, so we're treating this as a breaking
change for our non-(arti/tor)-prefixed crates too.
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| |/
|/|
| |
| | |
tor-circmgr: Add more logging about timeout estimation.
See merge request tpo/core/arti!3152
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
We're seeing the logic that resets the timeouts when 18/20 connections
fail not triggering when we're expecting it to, this logging may help
figure out what's going on there.
|
| | |
| |
| |
| |
| |
| |
| | |
This is so a relay can build authenticated channels. Several keys/cert
are required for this that are within the key manager.
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
This is important, since some circuits require us to negotiate a new
channel, and some don't: by adding this variability, we can easily
learn a timeout based on pre-existing channels to our guards, but
then later time out if it takes a while to open a TLS connection.
This is a possible solution to part of #2079, a bug where we "learn"
a circuit timeout that is too low for us to satisfy.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The two main causes of errors were:
- Since some of the lifetime rules have changed, we no longer need
to do as many "bind a variable and immediately return it"
patterns, and so clippy now warns about them.
- We needed to adjust the explicit captures (`use<...>`)
in a couple of our RPIT instances.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, run
```
git grep -l "^edition =" |
xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```
Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.
Third, run cargo fmt again.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Run cargo fix --edition
2. Selectively revert the "if let"->"match" changes.
These changes are meant to protect us from the lifetime changes
for "if let" bindings in Rust 2024.
But we're not actually relying on the old lifetime rules
anywhere, and the match syntax here is quite ugly.
3. Automatically revert `$pat:expr_2021` to `$pat:expr`.
(We don't actually want to restrict the expression syntax
that our macros accept).
Done with
`git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'`
4. Run cargo fmt.
|
| | |
|
| |\
| |
| |
| |
| | |
Use congestion control when "flowctl-cc" is enabled
See merge request tpo/core/arti!3118
|
| | | |
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| | |
This reverts commit 9dca6010d17e2a4b9deee34c9bb66e523a6ac834.
|
| | |
| |
| |
| |
| | |
We shouldn't be exposing these unless `hs-service`/`hs-client` is
enabled.
|
| | |
| |
| |
| | |
It's necessary and more verbose (and it's rather uncommon).
|
| | |
| |
| |
| |
| | |
`AbstractTunnel::extend()` was calling itself endlessly because there
was no `ClientTunnel::extend()` function to call.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Until now, we've been using `ClientCirc::path_ref()` to get the *only*
path of a circuit. Now that `ClientCirc` is a handle to a tunnel reactor
(which may or may not be multi-path), we need to decide for each call
site of `path_ref()`, if we actually want *all* paths in the tunnel, or
if we expect the tunnel to be single-path and thus want the *only* path
in the tunnel.
I've added two new APIs to address this: `all_paths()`, for getting all
the paths in the tunnel, and `single_path()` for getting the only path
in the tunnel, or an error if the tunnel is single-path.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|