summaryrefslogtreecommitdiff
path: root/crates/arti-client/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch 'clean-implement-haskind-for-toraddrerror' into 'main'David Goulet2025-05-052-3/+28
|\ | | | | | | | | TODO: Implement HasKind trait for TorAddrError See merge request tpo/core/arti!2965
| * Fix formatting in test_error_kind functionVijaya Bhaskar2025-04-271-1/+4
| |
| * Implement HasKind trait for TorAddrErrorVijaya Bhaskar2025-04-272-3/+25
| | | | | | | | | | | | | | | | | | This commit implements the HasKind trait for TorAddrError in address.rs, mapping all variants to the InvalidStreamTarget error kind. It also updates the ErrorDetail implementation in err.rs to delegate to TorAddrError's HasKind implementation instead of hardcoding the error kind. Resolves TODOs in address.rs and err.rs.
* | release: Update release date.Wesley Aptekar-Cassels2025-05-011-1/+1
|/ | | | Done via `./maint/update-release-date`.
* arti-client: remove incorrect note about `StateDirectory` usageSteven Engler2025-04-231-1/+0
|
* Rename recommended_protocols to protocol_statuses.Nick Mathewson2025-04-161-3/+3
| | | | | This name reflects its purpose better than the original one, since it includes required protocols as well as recommended ones.
* arti-client: Document spec of checking date on cached protosNick Mathewson2025-04-161-3/+6
| | | | | Also move the comment outside the block it documents, to prevent a too-long line.
* arti-client: On shutdown for missing proto, print to stderrNick Mathewson2025-04-161-1/+17
| | | | Also wait a little so logs can flush.
* protover, *: Add documentation about what "supported" means.Nick Mathewson2025-04-161-1/+1
|
* arti-client: Small test for evaluating protocol status.Nick Mathewson2025-04-161-0/+69
|
* arti,arti-client: Add an option to override required protocolsNick Mathewson2025-04-164-6/+77
| | | | | (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-163-3/+39
| | | | | | | | | 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.
* Add warnings about removing supported protocols.Nick Mathewson2025-04-161-0/+3
|
* arti-client: Implement the basics of protocol enforcement.Nick Mathewson2025-04-165-2/+266
| | | | This is the major part of #1849.
* New functions to report supported subprotocolsNick Mathewson2025-04-161-0/+98
| | | | | | | | | | | | | | | Part of #1849. Note that these functions are distributed across crates, so that if (in the future) we stop doing API breaks with every release, we will get the right outputs. Note also that these functions build the list of protocols out of specific symbolic features, rather than numbers: this makes it easier to avoid errors about "which feature was Relay=4 again", and easier to avoid accidentally referring to a protocol that doesn't exist, like "Consensus" (should be "Cons") or "HsDir" (case is wrong).
* Merge branch 'todo-errordetail' into 'main'David Goulet2025-04-142-2/+8
|\ | | | | | | | | arti-client: Add ErrorDetail::OnionServiceSetup See merge request tpo/core/arti!2923
| * arti-client: Add ErrorDetail::OnionServiceSetuphjrgrn2025-04-142-2/+8
| |
* | 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()`
* 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
|