summaryrefslogtreecommitdiff
path: root/crates/arti-client/src/client.rs
Commit message (Collapse)AuthorAgeFilesLines
* arti-client: Stub out usage of FsStateMgr on wasm32-unknown.Nick Mathewson2026-03-251-4/+34
| | | | | | | | The replacement (TestingStateMgr) is not correct, but it will compile until we have a supported state manager. (This made cargo-sort have me move a section around. Not sure why it cares.)
* relay: Add a TLS acceptor in the ChanBuilderDavid Goulet2026-02-091-7/+10
| | | | | | | | | | | | | | | This requires the `TlsKeyAndCert` so be passed on the TLS acceptor settings. We assume that `RelayIdentities` has this information. The ChanBuilder::new() was getting a bit too convoluted and feature gated to instead we introduce new_client() and new_relay() and remove the need for `with_identities()`. Because of this, the ChanMgr::new() now returns a `Result<>`. Related to #1597 Signed-off-by: David Goulet <[email protected]>
* chanmgr: Introduce a ChanMgrConfig structDavid Goulet2026-01-131-1/+2
| | | | | | | | | | | | This struct is used to pass configuration parameters to the ChanMgr when building it. At the moment, it holds the ChannelConfig and RelayIdentities (feature gated) which will be used in subsequent commits. Note that relays do require RelayIdentities to build channels. Signed-off-by: David Goulet <[email protected]>
* chanmgr: Remove KeyMgr from constructorDavid Goulet2026-01-131-1/+0
| | | | | | | We'll rely on a RelayIdentities to pass in the right keys to the ChanMgr instead of the entire KeyMgr. Signed-off-by: David Goulet <[email protected]>
* arti,arti-relay: change info keystore path msg to debugSteven Engler2025-12-111-1/+3
|
* Remove unnecessary `doc(cfg(...))` attributesNeel Chauhan2025-12-041-17/+0
| | | | | | | | | Fixes part of #2193. (Edits from nickm: I selected the cases here that I could verify were correct from immediate context.) Edited-by: Nick Mathewson <[email protected]>
* Merge branch 'torclient-keymgr-accessor' into 'main'wesleyac2025-12-031-0/+6
|\ | | | | | | | | Add `KeyMgr` accessor to `TorClient` See merge request tpo/core/arti!3442
| * arti-client: Add `TorClient:keymgr` getter functionhjrgrn2025-11-051-0/+6
| |
* | opentelemetry: Instrument a bunch of functions.Wesley Aptekar-Cassels2025-11-241-0/+3
| | | | | | | | | | These are all aimed at figuring out in more detail what's going on in #2079 and related issues.
* | Merge branch 'disable-hidden-service' into 'main'wesleyac2025-11-121-12/+28
|\ \ | | | | | | | | | | | | | | | | | | arti/arti-client/tor-hsservice: Support disabling onion services in the config Closes #2133 See merge request tpo/core/arti!3253
| * | arti(-client)/tor-hsservice: return None for disabled servicehashcatHitman2025-10-161-12/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no longer a hard error anywhere for trying to launch a service which is disabled in the config. Instead, it always means returning `Ok(None)`. The axum and hyper examples were updated again as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * | arti(-client): graceful service disable in arti onlyhashcatHitman2025-10-161-27/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a service is disabled in the config, `arti::onion_proxy::Proxy` handles it gracefully, and `arti_client::client::TorClient::launch_onion_service_with_hsid` and `arti_client::client::TorClient::launch_onion_service` both hard error. The axum and hyper examples were updated again as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * | arti/arti-client: add graceful service disablehashcatHitman2025-10-161-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | Hidden services disabled in the config are now handled more gracefully by arti/arti-client, before the hard error occurs. The axum and hyper examples were updated as a consequence. Signed-off-by: hashcatHitman <[email protected]>
* | | Merge branch 'bug2118a' into 'main'wesleyac2025-11-101-14/+29
|\ \ \ | | | | | | | | | | | | | | | | `arti-client`: Move `create_onion_service()` to `InertTorClient` See merge request tpo/core/arti!3435
| * | | Make create_onion_service() correctionsNeel Chauhan2025-11-101-17/+2
| | | |
| * | | Mention InertTorClient in client.rsNeel Chauhan2025-11-101-1/+1
| | | |
| * | | Don't assume we have inert_client in TorClientNeel Chauhan2025-11-041-2/+2
| | | |
| * | | `arti-client`: Move `create_onion_service()` to `InertTorClient`Neel Chauhan2025-11-041-15/+45
| | |/ | |/| | | | | | | Part of #2118.
* | | arti-client: Add TODO for #2249.Wesley Aptekar-Cassels2025-11-101-0/+1
| | |
* | | Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
| | | | | | | | | | | | Run maint/add_warning
* | | all: run cargo fmtSteven Engler2025-11-041-1/+1
| | |
* | | all: replace all uses of `futures::task::SpawnExt` with `tor_rtcompat::SpawnExt`Steven Engler2025-11-041-1/+1
|/ /
* / arti-relay: copy `state_mgr.try_lock()` from arti-clientSteven Engler2025-10-211-0/+1
|/
* opentelemetry: Add some instrument macros.Wesley Aptekar-Cassels2025-09-241-1/+14
| | | | | I've added these in places that are useful for the debugging that I've been doing.
* arti-client: add doc comments to `TorClient::create_onion_service()`Steven Engler2025-09-231-0/+14
|
* fix documentation for StreamPrefs::connect_to_onion_services to match ↵Aiden McClelland2025-08-281-8/+1
| | | | | | changes in !2506 Signed-off-by: Aiden McClelland <[email protected]>
* Merge branch 'smol-add-impl-in-tor-rtcompat' into 'main'opara2025-08-211-1/+1
|\ | | | | | | | | smol: Implement smol in tor-rtcompat See merge request tpo/core/arti!2986
| * smol: Implement smol in tor-rtcompatNiel Duysters2025-08-211-1/+1
| |
* | chanmgr: Add KeyMgr to channel builderDavid Goulet2025-08-201-0/+1
| | | | | | | | | | | | | | This is so a relay can build authenticated channels. Several keys/cert are required for this that are within the key manager. Signed-off-by: David Goulet <[email protected]>
* | Add a few unit tests for create_unbootstrapped_async.Nick Mathewson2025-08-191-0/+49
| | | | | | | | | | | | Closes #2121 Co-Authored-by: thesw4rm
* | proto: Move the `stream` module under `client` (breaking).Gabriela Moldovan2025-08-181-1/+1
|/ | | | | | | | | | | | The `stream` module is client-specific, for the most part, so I am moving it under `client`. Later on, we will factor out the parts that can be shared with the relay implementation. Note: this is a breaking change as the deleted `stream` module was `pub`. We could've kept the module and reexported from it the public types from `tor_proto::client::stream`, but I think it's better to have this `client` namespacing, because it makes the separation between the client and relay parts clearer.
* Resolve a rustdoc warningNick Mathewson2025-08-071-1/+1
| | | | | `Future` is now in the prelude, so we don't have to give it an explicit path.
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-8/+8
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* Update code for Edition 2024Nick Mathewson2025-08-071-3/+5
| | | | | | | | | | | | | | | | | | 1. Run cargo fix --edition 2. Selectively revert the "if let"->"match" changes. These changes are meant to protect us from the lifetime changes for "if let" bindings in Rust 2024. But we're not actually relying on the old lifetime rules anywhere, and the match syntax here is quite ugly. 3. Automatically revert `$pat:expr_2021` to `$pat:expr`. (We don't actually want to restrict the expression syntax that our macros accept). Done with `git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'` 4. Run cargo fmt.
* arti-client: Resolve XXX to make CI run.Gabriela Moldovan2025-08-051-23/+26
|
* arti-client: Use the new Tunnel interfaceDavid Goulet2025-08-051-25/+33
| | | | Signed-off-by: David Goulet <[email protected]>
* hs: Use the new Tunnel interface for onion serviceDavid Goulet2025-08-051-1/+1
|
* Use new DisplayRedacted/DebugRedacted code for HsId.Nick Mathewson2025-07-311-5/+7
| | | | Closes #2012.
* arti: Add keys list and keys list-keystoreshjrgrn2025-06-121-0/+8
|
* arti-client: remove incorrect note about `StateDirectory` usageSteven Engler2025-04-231-1/+0
|
* arti-client: On shutdown for missing proto, print to stderrNick Mathewson2025-04-161-1/+17
| | | | Also wait a little so logs can flush.
* arti,arti-client: Add an option to override required protocolsNick Mathewson2025-04-161-1/+10
| | | | | (This isn't a boolean, because we really don't want people ignoring all possible required protocols.)
* arti-client: Keep a somewhat accurate notion of our release date.Nick Mathewson2025-04-161-3/+2
| | | | | | | | | This doesn't need to be perfect, but we need to use it to see if a consensus is new enough that we should obey its recommendations. This commit also adds a script to update or check our release date, and calls this script from our cargo-publish script.
* arti-client: Implement the basics of protocol enforcement.Nick Mathewson2025-04-161-0/+11
| | | | This is the major part of #1849.
* Merge branch 'todo-errordetail' into 'main'David Goulet2025-04-141-2/+1
|\ | | | | | | | | arti-client: Add ErrorDetail::OnionServiceSetup See merge request tpo/core/arti!2923
| * arti-client: Add ErrorDetail::OnionServiceSetuphjrgrn2025-04-141-2/+1
| |
* | arti-client: xref to fork policyIan Jackson2025-04-071-0/+12
|/
* Remove outdated TODOCocytusDEDI2025-04-031-4/+0
|
* Use CautiousRng for keys going into the KeyMgr.Nick Mathewson2025-03-241-2/+2
|
* Merge branch 'client-arti' into 'main'opara2025-03-201-16/+12
|\ | | | | | | | | replace state_dir and storage_mistrust with tor_persist::state_dir::StateDirectory See merge request tpo/core/arti!2863