| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Fixes CI warning.
|
| |
|
|
|
|
|
|
|
|
|
| |
!1121 renamed *ProtocolFailed to *ProtocolViolation.
!1118 introduced a new reference to a *ProtocolFailed
I rebased !1118 onto main and enabled automerge. That tested the tip
of !1118. I assume a similar thing happened to !1121.
The possibility of such regressions is a property of our workflow.
It's rather surprising it doesn't happen more often.
|
| |
|
|
|
|
| |
Now that we require a version of Rust that allows
`b.then_some(v)`, clippy complains about our use of
`b.then(|| v)`.
|
| | |
|
| |
|
|
|
| |
Aa per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1118#note_2894467
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This doesn't change the text of the functional code, but now the
methods are indirected via the Mock* traits.
|
| |
|
|
|
|
|
|
| |
There are many TODOs here. Some are questions; some are
straightforward and can be done in followups.
With this code, I am able to reach the eprintln! and todo! with
curl --socks5-hostname localhost:9150 https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/
|
| |
|
|
|
|
|
|
|
| |
We have a local alias of `HsDesc = String` which needs to be got rid
of.
But, right now the alternative would be to implement all the code for
signature checking and decryption of an `HsDesc`, before we can make a
test case for the downloader part.
|
| |
|
|
|
| |
This will be convenient as the common context for the descriptor
download work, and also for testing.
|
| | |
|
| |
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
This seems more consistent with the way it's done elsewhere.
|
| | |
|
| | |
|
| |
|
|
| |
And delete the associated TODO.
|
| |
|
|
|
|
|
|
| |
These Arcs are all "downward", referencing items from layers lower in
the stack. So they don't cause cycles.
There was going to be a cycle involving the `OnionConnector` upcall
trait, but we have just abolished that.
|
| |
|
|
|
|
|
|
|
|
|
| |
Abolish CircMgr::get_or_launch_onion_client and everything to support
it. We have decided that `.onion` diversion ccan't/shouldn't occur in
tor-circmgr. Probably, it should occur much higher up - arti-client
maybe - since it will sometimes need ambient authority (KS_hsc_*).
Now all knowledge of HS connections is in tor-hsclient. This
gets rid of a layering inversion and the trait needed for tor-circmgr
to do the upcall to tor-hsclient.
|
| | |
|
| |
|
|
| |
Use the occupied/vacant terminology that the slotmap docs use.
|
| |
|
|
|
| |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1034#note_2882079
|
| |
|
|
|
| |
It can contain no keys; state this more prominently, and explain what
it represents. Also fix a few typos etc.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1034#note_2881575
|
| | |
|
| |
|
|
|
| |
We're about to fix the comparison to treat all empty key sets as
equal.
|
| | |
|