summaryrefslogtreecommitdiff
path: root/crates/arti-client/src/client.rs
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * replace state_dir and storage_mistrust with ↵abdul28012025-03-201-16/+12
| | | | | | | | tor_persist::state_dir::StateDirectory
* | squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-2/+2
|/ | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
* arti-client: add path resolver to `TorClient` and `TorClientConfig`Steven Engler2024-11-181-3/+18
| | | | | | Rather than using `arti_client::config::path_resolver()`, third-party code can get the path resolver using `TorClientConfig`s `AsRef<CfgPathResolver>` impl instead.
* update `CfgPath::path` to use a `CfgPathResolver`Steven Engler2024-11-181-5/+6
| | | | | | | | | | | | | | | | This is a big change across multiple crates since there isn't a good way to break it up. This changes the signature of `CfgPath::path` to: ``` pub fn path(&self, path_resolver: &CfgPathResolver) -> Result<PathBuf, CfgPathError> { ``` Making this change means that our global `CfgPathResolver` needs to be stored in the 'arti-client' library instead of `tor-config-path`, and must be passed through to anything that calls `path` to expand the variables.
* tor-ptmgr: pass through the `CfgPathResolver`Steven Engler2024-11-181-0/+2
|
* tor-hsservice: pass through the `CfgPathResolver`Steven Engler2024-11-181-0/+2
|
* arti-client: add doc comment to `TorClient::reconfigure`Steven Engler2024-11-051-0/+4
|
* memquota: Change ToplevelAccount to be an alias for Arc<MemoryQuotaTracker>Ian Jackson2024-10-151-2/+1
| | | | Fixes a TODO.