summaryrefslogtreecommitdiff
path: root/crates/arti-client/src
Commit message (Collapse)AuthorAgeFilesLines
* 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()`
* Fix `crate_bootstrapped` typokpcyrd2025-02-161-1/+1
|
* rpc: Correct API documentation about optimismNick Mathewson2025-01-301-4/+0
| | | | | | | | | | | Our documentation had dated to an older version of our RPC stream code, where all streams were automatically optimistic. But as explained, our use of "optimistic"ness in RPC stream code is now purely internal, to make it possible to get an DataStreamCtrl. This isn't user-visible in our rpc_conn_open_stream code. Closes #1583
* Merge branch 'mod-module-files' into 'main'Nick Mathewson2025-01-071-0/+1
|\ | | | | | | | | clippy: deny `mod_module_files` See merge request tpo/core/arti!2689
| * clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | | | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* | fix: fix typosDimitris Apostolou2025-01-061-1/+1
|/
* Move base CfgPathResolver for arti-client back to tor-config-path.Nick Mathewson2024-12-091-118/+2
| | | | | This time, we make explicit that it is a _base_ resolver, and that it is client-only.
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* arti-client: change test to use path resolver from `TorClientConfig`Steven Engler2024-11-181-6/+12
|
* tor-config-path: remove `Option` from resolver valueSteven Engler2024-11-181-9/+10
|
* arti-client: add path resolver to `TorClient` and `TorClientConfig`Steven Engler2024-11-182-39/+68
| | | | | | Rather than using `arti_client::config::path_resolver()`, third-party code can get the path resolver using `TorClientConfig`s `AsRef<CfgPathResolver>` impl instead.
* arti-client: add a more-comprehensive cfg variable testSteven Engler2024-11-181-10/+35
|
* arti-client: moved two tests from tor-config-pathSteven Engler2024-11-181-0/+20
| | | | Also updated to use the `PATH_RESOLVER` resolver.
* update `CfgPath::path` to use a `CfgPathResolver`Steven Engler2024-11-182-16/+92
| | | | | | | | | | | | | | | | 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
|
* Merge branch 'remove-haskind' into 'main'Ian Jackson2024-11-051-1/+3
|\ | | | | | | | | | | | | tor-hscrypto: Abolish the HasKind impl of HsIdParseError. Closes #1483 See merge request tpo/core/arti!2607
| * arti-client: Clarify when BadOnionAddress is returned.Gabriela Moldovan2024-11-041-0/+2
| | | | | | | | | | We only ever return `BadOnionAddress` is we are asked to connect to a .onion address that doesn't parse.
| * tor-hscrypto: Abolish the HasKind impl of HsIdParseError.Gabriela Moldovan2024-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | Also changes the `ErrorKind` of `BadOnionAddress` to `ForbbiddenStreamTarget`. See context in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2246#note_3045683 Closes #1483
* | tor-config: removed re-export of `CfgPath`Steven Engler2024-11-041-1/+2
|/ | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* Disable a lot of dead code warningsIan Jackson2024-10-171-0/+3
| | | | | | | Now cargo check --workspace --no-default-features --all-targets cargo build -p arti --no-default-features --features=memquota,tokio,native-tls are both clean.
* Merge branch 'rpc_verb_methods' into 'main'David Goulet2024-10-161-1/+1
|\ | | | | | | | | | | | | rpc spec: Start to document method naming convention Closes #1678 See merge request tpo/core/arti!2539
| * RPC: Rename "arti:isolated_client" to "arti:new_isolated_client".Nick Mathewson2024-10-091-1/+1
| | | | | | | | Closes #1678.
* | memquota: Change ToplevelAccount to be an alias for Arc<MemoryQuotaTracker>Ian Jackson2024-10-151-2/+1
|/ | | | Fixes a TODO.
* arti-client: Fix a broken doc comment.Gabriela Moldovan2024-10-081-1/+1
| | | | | This broke because `tor_keymgr::config::arti` was moved to `tor_keymgr::config`.
* arti-client, tor-keymgr: Remove a couple of now-addressed TODOs.Gabriela Moldovan2024-10-081-1/+0
|
* arti-client: Use the configured C Tor client keystores.Gabriela Moldovan2024-10-081-1/+12
|
* arti-client: Use the configured C Tor keystores, if any.Gabriela Moldovan2024-10-081-4/+21
|
* arti-client: Refactor KeyMgr building logic.Gabriela Moldovan2024-10-081-15/+14
| | | | | | | | This deduplicates the keymgr building logic in preparation for supporting C Tor keystores (building the keymgr in a central place makes things a bit easier, because regardless of the `kind` of the primary keystore, we will need to extend the `KeyMgrBuilder` with the configured secondary `ctor` keystores, if any).
* tor-keymgr: Move config/arti.rs to config.rsGabriela Moldovan2024-10-082-2/+2
| | | | | | | | The config will soon contain secondary C Tor keystore configuration too, so the `arti` namespacing is about to stop making sense. I recommend reviewing this commit using `git diff --color-moved=zebra --ignore-space-change`
* Merge branch 'allow-onion-addrs-default-true' into 'main'gabi-2502024-10-072-3/+3
|\ | | | | | | | | | | | | Default allow_onion_addrs to true. Closes #1402 See merge request tpo/core/arti!2506
| * Default allow_onion_addrs to true.Wesley Aptekar-Cassels2024-10-072-3/+3
| | | | | | | | | | | | | | This was disabled due to lack of vanguard support. Now that we support vanguards, we should enable this by default. Fixes: #1402
* | arti-client: Fix incorrect feature gate for onion-service-client.Wesley Aptekar-Cassels2024-10-071-4/+3
|/ | | | | | | | | | Currently, arti-client doesn't compile with just the features experimental-api and onion-service-client enabled, because it incorrectly depends on tor-hsservice. This fixes that by gating the use statement behind the correct feature. Fixes: #1638
* Merge branch 'mq' into 'main'Ian Jackson2024-10-072-0/+7
|\ | | | | | | | | Implement memory quota tracking See merge request tpo/core/arti!2493
| * memquota: Add a toplevel account in tor-chanmgrIan Jackson2024-10-031-0/+2
| | | | | | | | | | | | | | | | | | Plumb through a top-level account. This doesn't have any channel-specific, circuit-specific or stream-specific accounts yet. tor-circmgr's and tor-hsclient's *tests* need fake account. In arti-relay, use a dummy account for now.
| * arti-client: Provide another variant for memquota errorsIan Jackson2024-10-031-0/+5
| | | | | | | | | | | | During startup we'll call a few not-just-at-startup memquota methods which produce tor_memquota::Error, rather than StartupError. So we need a variant for that.
* | Merge branch 'launch-with-hsid-docs' into 'main'gabi-2502024-10-031-0/+8
|\ \ | | | | | | | | | | | | | | | | | | arti-client: Clarify the launch_onion_service_with_hsid() docs. Closes #1626 See merge request tpo/core/arti!2494
| * | arti-client: Clarify the launch_onion_service_with_hsid() docs.Gabriela Moldovan2024-10-031-0/+8
| | | | | | | | | | | | | | | | | | | | | This updates the docs to mention that the specified key may get actually persisted to disk. Closes #1626
* | | Merge branch 'rename-client-auth' into 'main'Ian Jackson2024-10-031-2/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Use the new "restricted discovery" terminology throughout Closes #1476 See merge request tpo/core/arti!2495
| * | arti-client: Use the new "restricted discovery" terminology.Gabriela Moldovan2024-10-031-2/+2
| |/ | | | | | | Part of #1476
* | CircMgr: Start writing tests.Wesley Aptekar-Cassels2024-10-031-1/+1
| |
* | Revise RPC documentation to be more informative.Nick Mathewson2024-10-022-5/+28
|/ | | | | | Previous documentation was more-or-less meant for the Arti developer only. This new documentation is intended for actual users of RPC functionality. It's meant to be extracted with `maint/rpc-doc-tool`.
* Merge branch 'misc' into 'main'Ian Jackson2024-10-011-2/+2
|\ | | | | | | | | Miscellaneous cleanups, mostly in tor-memquota See merge request tpo/core/arti!2461
| * arti-client: Change the case of ErrorDetail::MemquotaSetup from MemQuotaSetupIan Jackson2024-09-261-2/+2
| | | | | | | | | | It turns out that my fingers want to treat "memquota" as a word. We have this in tor_memquota etc. too.
* | Merge branch 'upgrades-20240925' into 'main'Nick Mathewson2024-09-261-9/+8
|\ \ | |/ |/| | | | | Upgrade dependencies in preparation for next week's releases. See merge request tpo/core/arti!2450
| * Upgrade to derive_more version 1.0.0Nick Mathewson2024-09-251-9/+8
| | | | | | | | | | | | The `derive_more` crate broke backward compatibility with this version, so this change involved quite a few manual fixups. With luck, they'll keep compatibility for some while in the future.