summaryrefslogtreecommitdiff
path: root/crates/arti-client
Commit message (Collapse)AuthorAgeFilesLines
* Bump all the unstable tor- and arti- crates to 0.19.Gabriela Moldovan2024-06-051-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unstable crates are: - tor-error - tor-config - tor-units - tor-geoip - tor-rtcompat - tor-rtmock - tor-log-ratelim - tor-rpcbase - tor-memquota - tor-llcrypto - tor-protover - tor-bytes - tor-hscrypto - tor-socksproto - tor-checkable - tor-cert - tor-linkspec - tor-cell - tor-proto - tor-netdoc - tor-consdiff - tor-netdir - tor-relay-selection - tor-persist - tor-chanmgr - tor-ptmgr - tor-guardmgr - tor-circmgr - tor-dirclient - tor-dirmgr - tor-keymgr - tor-hsclient - tor-hsservice - tor-hsrproxy - arti-client - arti-rpcserver - arti-hyper - tor-basic-utils - tor-async-utils Done using ``` for p in "${unstable[@]}"; do cargo set-version -p $p 0.19; done ``` where `unstable` contains the list above
* arti-client: Unconditionally retire all HS circuits if circmgr says so.Gabi Moldovan2024-06-031-12/+1
| | | | | | | If the circmgr retires all of its circuits, so should the HS circ pool. The circuits can be retired for various reasons (for example, if the configured vanguard mode changes).
* arti-client: Add TODO about always clearing the HS circ pool.Gabriela Moldovan2024-06-031-0/+8
|
* tor-circmgr: Remove VanguardMode from Pool (fmt).Gabriela Moldovan2024-06-031-4/+3
|
* tor-circmgr: Remove VanguardMode from Pool.Gabriela Moldovan2024-06-031-5/+7
| | | | | | | | | Storing the VanguardMode in multiple places (in the VanguardMgr *and* the HS circ Pool) is dangerous and can lead to split brain situations where different parts of the code think they are running in different VanguardModes. See #1424
* tor-guardmgr: Unconditionally define VanguardConfig.Gabriela Moldovan2024-06-031-11/+3
| | | | | | | | | We want to export the `VanguardConfig` even if the `vanguards` feature is disabled (we will need to unconditionally include it in the arti config). Note that if `vanguards` are disabled, the `VanguardMode` from the `VanguardConfig` can only be `Dsiabled`.
* arti-client: Remove unnecessary VanguardConfig pub use.Gabriela Moldovan2024-06-031-6/+0
| | | | | | | This is already exported via the `pub mod vanguards` module, so there is no need to export it from the top-level too. This *is* a breaking change, but the downstream fix is trivial (and the type should never have been exported directly from `arti_client::config` in the first place).
* RPC: Require an Error type in methods.Nick Mathewson2024-05-161-0/+3
| | | | | | | | This is needed so that we can cast special methods' return types properly. I wish I could make this optional, but Rust doesn't allow defaulting an associated type.
* Merge branch 'enforce_method_names' into 'main'Nick Mathewson2024-05-161-3/+3
|\ | | | | | | | | | | | | RPC: Enforce method name format. Closes #823 See merge request tpo/core/arti!2149
| * RPC: Use RPC method names in a consistent format.Nick Mathewson2024-05-141-3/+3
| | | | | | | | | | Specifically, we want a single colon, and we want our method names to be in snake_case.
* | arti-client: Add one-hop circuit examplejuga2024-05-152-0/+67
|/ | | | Co-authored-by: gabi-250 <[email protected]>
* RPC: Add notes about ClientConnectionTargetNick Mathewson2024-05-141-0/+7
| | | | | Document its relation to the method system, and possible future evolution.
* RPC: Require DynClone for ClientConnectionError.Nick Mathewson2024-05-142-4/+7
|
* RPC: Seal ClientConnectionError.Nick Mathewson2024-05-141-2/+19
|
* RPC: RpcDataStream type to act as a "stream-shaped hole"Nick Mathewson2024-05-142-0/+12
| | | | | | | | | The application creates these, using a new-stream-handle RPC command, on an object that can actually create streams. Then later, the application provides the (global) identity of one of these objects when it's making a SOCKS connection. This causes the object to take hold of a `DataStreamCtrl`.
* RPC: Add a trait that can be the target of SOCKS requestsNick Mathewson2024-05-123-4/+84
| | | | | | | | | | | | (These will later become objects that can receive any application request, once we have HTTP connect.) For now, Session and TorClient implement this trait; but soon there will be a new type to hold on to the created DataStreamCtrl. There are some XXXXs here, marking code that is too ugly to live. I should fix it before I merge this branch.
* rpc: Mark TorClient as exposed outside of sessionNick Mathewson2024-05-091-1/+6
|
* rpc: Add an isolated-client method on TorClient.Nick Mathewson2024-05-092-3/+27
|
* Adjust examples lints using add_warningNick Mathewson2024-05-076-18/+18
|
* Merge branch 'new_ci_cfg_strategy' into 'main'Nick Mathewson2024-05-071-2/+2
|\ | | | | | | | | | | | | add_warning/CI: New strategy to avoid "unexpected-cfgs" warning Closes #1395 See merge request tpo/core/arti!2129
| * Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | | | | | This commit is automatically generated.
* | Add requisite RPC method name prefixesNick Mathewson2024-05-061-2/+2
| |
* | TorClient: Slightly cleaner (?) interface for registering RPC methods.Nick Mathewson2024-05-061-4/+4
| |
* | Add a note about declaring get and watch functions.Nick Mathewson2024-05-061-0/+6
| |
* | Add a note about why the RPC functions aren't declared as methods.Nick Mathewson2024-05-061-0/+5
| |
* | RPC: Send "null" for blockage rather than omitting it.Nick Mathewson2024-05-061-2/+1
| |
* | Lightly simplify the syntax for installing multiple InvokerEntsNick Mathewson2024-05-061-2/+4
| |
* | RPC: Implement methods to get and watch client bootstrap status.Nick Mathewson2024-05-062-0/+105
|/
* Bump versions of 0.x tor-* and arti-* cratesIan Jackson2024-04-301-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for p in `cat ../u`; do cargo set-version --locked --offline -p $p; done where u contains tor-basic-utils tor-async-utils tor-error tor-config tor-units tor-geoip tor-rtcompat tor-rtmock tor-log-ratelim tor-rpcbase tor-memquota tor-llcrypto tor-protover tor-bytes tor-hscrypto tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-hyper
* arti-client: vanguards cargo feature: remove from experimentalIan Jackson2024-04-301-1/+0
| | | | Followup to !2109.
* arti-client: Make vanguards non-experimental.Gabriela Moldovan2024-04-291-1/+2
| | | | This makes the vanguards feature non-experimental.
* Fix recursive impl for arti_client::Error.Nick Mathewson2024-04-221-1/+1
| | | | This is an actual bug. Closes #1379.
* arti-client: add hs_circ_pool() method on TorClientRichard Pospesel2024-04-151-0/+14
|
* Upgrade derive-deftly requirement to 0.10.3Nick Mathewson2024-04-111-1/+1
| | | | We're taking this for the fix to derive-deftly#52.
* Port many of the macros in tor-rpcbase to use derive-deftly.Nick Mathewson2024-04-043-18/+3
| | | | | | This simplifies our implementation logic in a few places, and simplifies our invocation syntax greatly. There are a few infelicities, noted in `TODO RPC` comments.
* Merge branch 'unmanaged-proxy-config-test' into 'main'Nick Mathewson2024-04-021-0/+5
|\ | | | | | | | | | | | | Test (and small cleanups) for Transport configuration Closes #1333 See merge request tpo/core/arti!2056
| * Make TorClientConfig implement AsRef<BridgesConfig>Nick Mathewson2024-04-021-0/+5
| | | | | | | | I believe this is how we expose the parts of TorClientConfig?
* | remove unused dependenciestrinity-1686a2024-04-021-10/+0
|/ | | | Edited-by: Nick Mathewson <[email protected]>
* Remove semver.md files from arti-1.2.1 releaseNick Mathewson2024-04-021-4/+0
|
* Update unstable `tor/arti-*` crates to 0.17.0.Nick Mathewson2024-04-021-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done with: ``` CRATES=" tor-basic-utils tor-async-utils tor-error tor-config tor-events tor-units tor-geoip tor-rtcompat tor-rtmock tor-log-ratelim tor-rpcbase tor-llcrypto tor-protover tor-bytes tor-hscrypto tor-hspow tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-congestion tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-config arti-hyper arti-bench arti-testing " for crate in $CRATES; do cargo set-version -p "$crate" 0.17.0 done ```
* Bump patchlevel versions on non-{tor/arti} crates.Nick Mathewson2024-04-021-2/+2
| | | | | | | | | | | | | | | | These have all had backward-compatible changes. Generated with: ``` cargo set-version --bump patch -p fs-mistrust cargo set-version --bump patch -p test-temp-dir cargo set-version --bump patch -p fslock-guard cargo set-version --bump patch -p hashx cargo set-version --bump patch -p equix cargo set-version --bump patch -p caret cargo set-version --bump patch -p safelog cargo set-version --bump patch -p retry-error ```
* tor-rtcompat: CompoundRuntime: Add a CoarseTimeProvider, and implIan Jackson2024-03-251-1/+1
| | | | | | In all the uses in-crate, this is just a RealCoarseTimeProvider. Now all the compound runtimes impl CoarseTimeProvider.
* Add tests for configuring unmanaged transportsNick Mathewson2024-03-141-11/+49
| | | | | Also, adapt the pt configuration tests to check for whether the error messages are as expected.
* Rename ManagedTransportConfig to TransportConfig.Nick Mathewson2024-03-142-9/+9
| | | | We're going to start using this type for _every_ kind of transport.
* Merge branch 'encapsulate_config_rs' into 'main'Nick Mathewson2024-03-131-2/+2
|\ | | | | | | | | Encapsulate usage of config-rs inside tor-config. See merge request tpo/core/arti!2040
| * tor-config: Allow ConfigurationSource to be verbatim text.Nick Mathewson2024-03-131-2/+2
| | | | | | | | | | This will let us test our configuration logic without having to use the `config` crate directly.
* | Add unknown-lints exception to examplesNick Mathewson2024-03-136-1/+6
| | | | | | | | | | We need this to avoid warnings when runnning non-nightly clippy on these examples.
* | Run maint/add_warning.Nick Mathewson2024-03-1311-0/+11
|/
* Merge branch 'arti_client_test' into 'main'gabi-2502024-03-111-1/+12
|\ | | | | | | | | arti-client: increase coverage in src/address.rs See merge request tpo/core/arti!2029
| * arti-client: increase coverage in src/address.rsBrady Fomegne2024-03-051-1/+12
| | | | | | | | | | | | - added test for TorAddr::enforce_config with invalid/onion hostname - added test for display Host::Onion - added test for any type &T who implement IntoTorAddr trait