| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |/ / /
| | |
| | |
| | | |
Made with https://crates.io/crates/typos-cli
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.32.0
done
```
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The non-{arti-,tor-} crates are:
```
./maint/list_crates | rg -v '^(tor|arti)'
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
```
We split them in the following categories:
* crates with no changes (no version bumps): None
```
maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-'
```
* crates that only have non-functional changes (bump the patch version):
- oneshot-fused-workaround
- slotmap-careful
- test-temp-dir
- fslock-guard
- hashx
- equix
- caret
- safelog
- retry-error
* crates where APIs were broken (bump minor):
- fs-mistrust (the implicit once_cell feature was removed)
The bumps from this commit were created using this script:
```
PATCH="
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
safelog
retry-error
"
for crate in $PATCH; do
cargo set-version --bump patch -p $crate;
done
MINOR="
fs-mistrust
"
for crate in $MINOR; do
cargo set-version --bump minor -p $crate;
done
```
|
| | | |
|
| | |
| |
| |
| | |
See #2060.
|
| |\ \
| | |
| | |
| | |
| | | |
Run fixup-features, upgrade deps in preparation for release
See merge request tpo/core/arti!3083
|
| | | |
| | |
| | |
| | |
| | |
| | | |
I had to also bump `toml` to `0.8.23`, because `toml 0.8.22` is
incompatible with `serde_spanned 0.6.9` (which is automatically pulled
in because of the d-d upgrade).
|
| |/ /
| |
| |
| |
| | |
This appears to be a testing-only struct, so we can safely ignore
the warning.
|
| | |
| |
| |
| | |
We need to pass by value for the conflux case.
|
| | |
| |
| |
| | |
The function can return an error, but only if `conflux` is enabled.
|
| | |
| |
| |
| | |
With the latest rustc version, this now triggers a warning.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Addresses https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3077#note_3218281
|
| | |
| |
| |
| |
| |
| |
| |
| | |
For leaky pipe, we just need to ensure we don't accidentally reroute it
to the join point on the primary leg.
Partially addresses
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3077#note_3218281
|
| | | |
|
| | |
| |
| |
| | |
This causes the test client to send a two SWITCH cells.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A `None` value signals to the conflux code to know to fall back on the
initial RTT of the circuit.
Without this change, the conflux switching logic is broken as we end up
staying on the leg with the best initial RTT forever (the other leg is
never picked, because its `ewma_rtt()` is stuck on `u32::MAX`, and never
updated as we never send on it).
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
If we're already on the best leg, we don't need to switch (even if the
other leg happens to have the same "best" RTT).
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, this failed to assert that the mock relays received all the
expected SWITCH cells.
As it turns out, the assertion currently fails, because the default
value for our estimated RTTs is no longer zero (as of !3074), so we no
longer unnecessarily switch legs as much as we used to.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The conflux client now sends data to the mock exit relay over both legs
(it SWITCHes legs at some point), which causes the test to fail
(because the two legs of the mock exit write the data racily to the same
`Vec`, without attempting to put it in the right order).
To work around the lack of handling of out-of-order cells at the mock
exit, we can just sort the received data to make sure we got it all.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Previously, if the primary leg was blocked on cc, the conflux set would
continue polling the stream map non-blocked leg, and send a
`CircuitCmd::Send` instructing the reactor to send a DATA cell on the
non-blocked leg. The reactor would then (wrongly) reroute the DATA cell
to the primary leg, in violation of congestion control.
|
| | | |
|
| | |
| |
| |
| |
| | |
This will enable us to trigger conflux leg switches at various points in
the transmission.
|
| | |
| |
| |
| | |
For consistency with `chan_tx`.
|
| | | |
|
| | |
| |
| |
| |
| | |
As opposed to passing the individual parts of `TestCircuitCtx` (I find
this slightly neater).
|
| | |
| |
| |
| | |
This is a mess. A future commit will make it slightly less horrible.
|
| | |
| |
| |
| |
| |
| |
| | |
This fixes a problem which caused the test to stall waiting for a cell
(simply blocking on receiving a cell is wrong, because it's possible for
the other leg to have already completed the transfer; we need to be able
to bail upon receiving a completion notification from the other leg).
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The mutex prevents concurrent uses of
`MockRuntime::advance_until_stalled` (which are forbidden by the mock
runtime), enabling us to call this (and its functions that advance time)
more liberally in the future.
Note: the `multipath_stream` test is *still* broken, but slightly less
so. Now the only failure is "all futures blocked. waiting for the real
world? or deadlocked (waiting for each other) ?", which can be solved by
ensuring the mock exit tasks always exit: now that the mock client task
keeps the stream alive until it receives an END cell, we need to ensure
the exits tasks can complete their own, without relying on the client
to end the stream. This will be fixed in another commit.
|
| | | |
|
| | |
| |
| |
| |
| | |
This enables the new `read_until_end()` call in the mock client task to
complete (otherwise it will just hang, waiting for the stream to end).
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now send the SENDMEs as per the client's expectations, using the
right tags. This makes the test less fragile and easier to extend.
Note: the `multipath_stream` test currently fails, because
the mock exit endpoint never actually sends an END, so the stream never
gets closed:
```
all futures blocked. waiting for the real world? or deadlocked (waiting for each other) ?
```
This will be fixed in a future commit.
|
| | | |
|
| | |
| |
| |
| |
| | |
We're about to use this in a conflux test, to get the mock exit to
reliably send valid SENDMEs to the client.
|
| | |
| |
| |
| |
| |
| |
| | |
With this change, the `multipath_stream` conflux test fails, because the
mock exit endpoint never actually closes the stream.
This problem will be solved in a future commit.
|
| | |
| |
| |
| | |
I'm about to add a `recv_data` too.
|
| | | |
|
| | |
| |
| |
| |
| | |
This is currently only used for logging purposes, but we will soon need
the actual `UniqId` of the test circuit leg to query its CC state.
|
| | | |
|