| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
rustfmt has grown opinions about how let ... else ... ought to be
formatted. They don't always agree with our previous manual
decisions.
I think our policy is to always insist on rustfmt. When that version
of rustfmt hits stable, our CI will start to fail for everyone.
(Right now this discrepancy just causes trouble for contributors who
are using nightly by default.)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I identified the cases to replace by searching for the string
`.report()`. There are a few that I didn't change:
* A couple of cases that used anyhow::Error,
* One case that reported two Errors.
* Two cases in `tor_hsclient::err` that just did
`error!("Bug: {}")`.
I have also not audited the cases in `tor-hsclient` where we're using
`tor_error::Report` manually.
Nonetheless, closes #949.
|
| |
|
|
|
|
| |
Now we can reliably wait precisely for the tasks to be all waiting.
This test case no longer involves any real executor.
|
| |
|
|
|
| |
This is less code. Also it now dumps the connect_called field which
was introduced in the meantime.
|
| |
|
|
| |
Apply deferred rustfmt churn.
|
| |
|
|
|
| |
Invent a trait a la circmgr config for the hs client connector config.
Plumb a suitable value all the way through to the code that will use it.
|
| |
|
|
|
|
|
|
|
|
|
| |
1. Fix a use of 10ms that should have been TIMEOUT_SLOP.
2. Increase BODGE_YIELD by a factor of 5.
Now this test should tolerate being hung up for 125ms. I am hoping
that this will fix the CI failure
https://gitlab.torproject.org/Diziet/arti/-/jobs/302457
which fails at the line comparing circuit1 with circuit2a.
(I can't repro that locally.)
|
| | |
|
| |
|
|
|
|
|
| |
Without this, the expiry task can end up choosing a 600s timeout
starting *after we advanced the clock*.
Fixes #923
|
| |
|
|
|
|
|
|
| |
The provided impl for Mutex is hopeless: it prints just some internal
flags and doesn't acquire the mutex for printing purposes.
At some point we might want to factor this out as a general function
on `Arc<Mutex<...>>` but not now.
|
| |\
| |
| |
| |
| | |
tor-hsclient: Expire old IPT and HS descriptor data eventually
See merge request tpo/core/arti!1290
|
| | |
| |
| |
| |
| | |
As per discussion in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1290#note_2915679
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This will allow us to track when `Data` is discarded.
|
| | |
| |
| |
| | |
Otherwise we'll fill up our RAM with junk.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
We don't now handle inability to store by panicking. Like the
previous comment says, such situations end up with Err in stored,
and that's handled by logging, below.
|
| |
|
|
| |
rustfmt *introduced* this clippy warning.
|
| | |
|
| |
|
|
|
| |
For the debug!, we can use the unredacted form. For error!, we use
Sensitive.
|
| |
|
|
|
|
| |
Fortunately, these are all in experimental code.
Closes #798
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Now ClientCirc is no longer `Clone`, and the things that need it
to be `Clone` instead return and use an Arc<ClientCirc>
We're doing this so that ClientCirc can participate in the RPC
system, and so that its semantics are more obvious.
Closes #846.
Thanks to the type system, this was a much simpler refactoring than
I had feared it would be.
|
| |
|
|
| |
Apply this churn, which I deferred for ease of review.
|
| |
|
|
|
| |
The old name was unwieldy and other crates can just as well name it by
the crate scope.
|
| |
|
|
|
| |
This will be more convenient inside tor-hsclient. In arti-client,
this mirrors the way TorClient::get_or_launch_exit_circ works.
|
| |
|
|
| |
Obviously it will need this!
|
| |
|
|
|
| |
We separated this out in the circmgr API. This is what the HS client
needs. It doesn't want to participate in the general circuit pool.
|
| | |
|
| |
|
|
|
| |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1034#note_2882079
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1034#note_2881576
This is a singificant simplification, in fact.
|
| |
|
|
|
| |
Text largely from
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1034#note_2881638
|
| |
|
|
|
|
| |
Autogenerated with rustfmt; no code changes.
This tidies up the bizarre formatting.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
This is getting rather confusing; simply reformtting it won't do, I
think. Also there would be much rightward drift.
So move the meat out into the new function.
(And introduce a convenience alias for its captures.)
Docs and reformatting will follow in a moment.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Explicit drops don't work. Instead, introduce a scope.
We need two scopes, actually: one where we do the initial table
wrangling, and one for the retries after relock.
So we must put the meat in a closure so we can reuse it.
And we must return the flow control as an enum. Bah, etc.
Avoid reformatting this for the moment. This makes the delta legible...
|
| |
|
|
|
| |
We're going to have another function which will want this.
Leave a convenience closure to capture the runtime.
|
| |
|
|
|
|
| |
This is still correct from a lock hierarchy pov. It moves the guard
relock to the end, which is going to be necessary since it is going to
have to move right outside the loop.
|