| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
|
| |/ / |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This moves the window-based flow control for half-streams out of the
`HalfStream` and into the `HalfStreamWindowFlowCtrl` object.
Now that it's applied only in `HalfStreamWindowFlowCtrl` and not
generally for all half-streams, we no longer apply window-based flow
control to half-streams when they're really using xon/xoff-based flow
control.
|
| | |
| |
| |
| |
| | |
This adds the general structure, and we'll fill it in and use it in a
following commit.
|
| |/ |
|
| | |
|
| |\
| |
| |
| |
| | |
release: Version bumps
See merge request tpo/core/arti!3952
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cargo set-version -p arti-client 0.42.0
cargo set-version -p arti-config 0.42.0
cargo set-version -p arti-relay 0.42.0
cargo set-version -p arti-rpc-client-core 0.42.0
cargo set-version -p arti-rpcserver 0.42.0
cargo set-version -p arti-testing 0.42.0
cargo set-version -p arti-ureq 0.42.0
cargo set-version -p tor-async-utils 0.42.0
cargo set-version -p tor-basic-utils 0.42.0
cargo set-version -p tor-bytes 0.42.0
cargo set-version -p tor-cell 0.42.0
cargo set-version -p tor-cert 0.42.0
cargo set-version -p tor-cert-x509 0.42.0
cargo set-version -p tor-chanmgr 0.42.0
cargo set-version -p tor-checkable 0.42.0
cargo set-version -p tor-circmgr 0.42.0
cargo set-version -p tor-config 0.42.0
cargo set-version -p tor-config-path 0.42.0
cargo set-version -p tor-consdiff 0.42.0
cargo set-version -p tor-dirclient 0.42.0
cargo set-version -p tor-dircommon 0.42.0
cargo set-version -p tor-dirmgr 0.42.0
cargo set-version -p tor-dirserver 0.42.0
cargo set-version -p tor-error 0.42.0
cargo set-version -p tor-events 0.42.0
cargo set-version -p tor-general-addr 0.42.0
cargo set-version -p tor-geoip 0.42.0
cargo set-version -p tor-guardmgr 0.42.0
cargo set-version -p tor-hsclient 0.42.0
cargo set-version -p tor-hscrypto 0.42.0
cargo set-version -p tor-hsrproxy 0.42.0
cargo set-version -p tor-hsservice 0.42.0
cargo set-version -p tor-key-forge 0.42.0
cargo set-version -p tor-keymgr 0.42.0
cargo set-version -p tor-linkspec 0.42.0
cargo set-version -p tor-llcrypto 0.42.0
cargo set-version -p tor-log-ratelim 0.42.0
cargo set-version -p tor-memquota 0.42.0
cargo set-version -p tor-memquota-cost 0.42.0
cargo set-version -p tor-netdir 0.42.0
cargo set-version -p tor-netdoc 0.42.0
cargo set-version -p tor-persist 0.42.0
cargo set-version -p tor-proto 0.42.0
cargo set-version -p tor-protover 0.42.0
cargo set-version -p tor-ptmgr 0.42.0
cargo set-version -p tor-relay-crypto 0.42.0
cargo set-version -p tor-relay-selection 0.42.0
cargo set-version -p tor-rpcbase 0.42.0
cargo set-version -p tor-rpc-connect 0.42.0
cargo set-version -p tor-rtcompat 0.42.0
cargo set-version -p tor-rtmock 0.42.0
cargo set-version -p tor-socksproto 0.42.0
cargo set-version -p tor-units 0.42.0
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
This will make it possible to tell whether a path has been replaced
in the tunnel.
Since the UniqId type might change its representation in the future,
I've documented that we don't guarantee anything about the strings
used to distinguish paths.
|
| | |
|
| |
|
|
| |
Additionally, allow inspecting tunnel paths directly from streams.
|
| | |
|
| |
|
|
|
| |
stream-ctrl should have been stable a while ago, since it is a
dependency of arti/rpc, which is itself stable.
|
| |
|
|
|
|
| |
To avoid copying the same information for every circuit,
as suggested by @opara in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3399497
|
| |
|
|
|
| |
It doesn't make sense to do so, as pointed out by @opara in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3398956
|
| | |
|
| |
|
|
| |
This is used in the relay circuit reactor.
|
| |
|
|
|
| |
The new relay circuit reactor test expect the `PeerInfo` to be populated
with the identity keys of the peer, and won't work without this change.
|
| |
|
|
|
| |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3397922
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
The relay reactor will now reject any EXTEND2 that tries to extend the
circuit to a hop that shares any identities with our previous hop.
Closes #2415
|
| |
|
|
|
| |
This will soon be used for preventing the circuit from being extended to
the previous hop (#2415).
|
| | |
|
| |
|
|
|
|
|
|
|
| |
The EXTEND2 handling logic is fairly self-contained, so I'm moving it
outside of the `Forward` handler. This refactoring enables us to add
more context to the handler (i.e. the inbound channel identities needed
for #2415) without cluttering the `Forward` implementation.
I recommend reviewing this commit with `git diff --color-moved`.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Because of the sorting requirement and the fact that a `KeyMgr` can have
multiple Ntor keys, the caller now explicitly extract the two Ntor keys
it wants from the `KeyMgr` and then creates a `RelayNtorKeys` object
with them.
Future changes (#2495) will move this into a view and warn if there are
more than 2 keys.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|
| |\
| |
| |
| |
| | |
Fix new warnings from Rust 1.95
See merge request tpo/core/arti!3902
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-proto: Small comment and variable name changes
See merge request tpo/core/arti!3865
|
| | | |
| | |
| | |
| | | |
I think this makes the code a little easier to follow.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
proto: Remove dummy suffixes from variable name
See merge request tpo/core/arti!3903
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I used these `_foo` suffixes to make sense of things during development:
at the time, I had multiple "forward" and "backward" types, and I needed
to distinguish them without spending too much time thinking of a
provisory name. I meant to remove them before upstreaming my branch, but
I forgot...
|
| | |_|/
|/| |
| | |
| | |
| | | |
I'm removing this so that we don't accidentally suppress new instances
of this warning.
|
| |/ /
| |
| |
| | |
This will be needed for ntor handshakes.
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
The CreateRequestHandler was introduced prior to the relay handshake
unit tests so fix them now that we have a way to build one.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
We can't access `NetParameters` in this crate to build from consensus
default value so instead add a `defaults_for_tests()` gated function for
each parameters object which puts in the defaults from the spec.
We'll need CircNetParameters in order to build create request handler
for unit tests hence why it is in src/circuit.rs.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
From the reactor.rs to channel.rs, makes more sense and we'll need it in
the handshake tests.
No behavior change, just code movement and a function rename.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of copying the client unit tests into the channel module, just
make both current unit tests run on a client and relay handshake.
This required a bit of trickery with type HandshakeConnectFn but works
out in the end.
It also adds the RelayMsgBuf that wraps a MsgBuf in order to implement
CertifiedConn which is very relay only.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Just for mental sanity to have all const at the same place and easily
readable.
No behavior change.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
No behavior change.
Make the const cells public as they will be useful for more upcoming
unit tests especially on the relay side.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| | |
If this is zero, then it means that the consensus had bad values.
But may as well check it anyways.
|
| | | |
|