summaryrefslogtreecommitdiff
path: root/crates/tor-hsclient/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* hs dirs: Initial cut at descriptor downloadingIan Jackson2023-04-111-1/+1
| | | | | | | | 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/
* tor-hsclient: Fix a doc link.Nick Mathewson2023-03-301-1/+1
|
* tor-hsconn: Rename ConnError (from HsClientConnError)Ian Jackson2023-03-301-2/+2
| | | | | The old name was unwieldy and other crates can just as well name it by the crate scope.
* tor-client: Pass a netdir for each requestIan Jackson2023-03-301-9/+6
| | | | | This will be more convenient inside tor-hsclient. In arti-client, this mirrors the way TorClient::get_or_launch_exit_circ works.
* Pass HsCircPool to hsclient connect function, not CircMgrIan Jackson2023-03-281-4/+4
| | | | | 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.
* tor-hsclient: Have the public API take StreamIsolationIan Jackson2023-03-231-2/+7
|
* tor-hsclient: Document clone-nature of HsClientConnectorIan Jackson2023-03-231-0/+3
|
* hsclient: Discuss HsClientConnector multiplicity/reuseIan Jackson2023-03-011-3/+7
| | | | And delete the associated TODO.
* hsclient: Remove TODOs about circular referencesIan Jackson2023-03-011-10/+0
| | | | | | | | 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.
* hsclient: Abolish knowledge of HS circuits in circmgrIan Jackson2023-03-011-10/+1
| | | | | | | | | | | 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.
* hsclient state: Split off MultikeyIsolatedMapIan Jackson2023-03-011-0/+1
|
* hsclient: Clarify period task handle TODOIan Jackson2023-03-011-1/+1
|
* hsclient: Document sharing rulesIan Jackson2023-03-011-0/+4
| | | | | Text largely from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1034#note_2881638
* hsclient state: Demonstrate that our future is now SendIan Jackson2023-03-011-3/+9
|
* Apply rustfmtIan Jackson2023-03-011-4/+1
|
* hsclient: Use a generic to provide a mock for connect()Ian Jackson2023-03-011-4/+9
| | | | This will allow us to test state.rs.
* hsclient: Apply standard lint blockIan Jackson2023-03-011-1/+37
|
* hsclient: Move dead code allows to specific locationsIan Jackson2023-03-011-1/+1
|
* hsclient: Add vacuous comments as demanded by clippyIan Jackson2023-03-011-0/+1
|
* hsclient: Provide a constructor for HsClientConnectorIan Jackson2023-03-011-10/+16
|
* hsclient: Implement connection attempt tracking state machineIan Jackson2023-03-011-17/+25
| | | | This compiles, but it cannot work yet. Nor can it conveniently be tested.
* hsclient API: Remove notion of ambient keys fromk this layerIan Jackson2023-03-011-5/+0
|
* HS API: Remove HS client keys from circmgr APIIan Jackson2023-03-011-2/+1
| | | | | | | | *If* we're going to retain any HS knowledge in circmgr, it definitely doesn't need to know about per-operation client secrets. (Maybe there might be ambient secrets, used for .onion diversion, but they don't need to be in this API.)
* HS planning: Discuss whether to remove all HS code from circmgrIan Jackson2023-03-011-1/+2
|
* tor-hscrypto: Rename key types to correspond to new spec names.Nick Mathewson2023-02-081-2/+2
|
* Note a needed isolation API.Nick Mathewson2023-01-241-0/+6
|
* Add a new stub hsclient module to connect to onion services.Nick Mathewson2023-01-241-0/+74