summaryrefslogtreecommitdiff
path: root/crates/arti-client
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'version-bumps'Nick Mathewson2026-06-301-33/+33
|\
| * Version bumps for 2.5.0Nick Mathewson2026-06-301-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | Closes #2617. We've lucked out this time, and it turns out that every one of our published crates gets a minor bump. So this was generated with: ``` for cr in $(./maint/list-crates); do cargo set-version -p $cr --bump minor done ```
* | Update release date for 2.5.0Nick Mathewson2026-06-301-1/+1
|/
* Merge branch 'msrv-1.91' into 'main'gabi-2502026-06-181-1/+1
|\ | | | | | | | | Bump MSRV to 1.91 See merge request tpo/core/arti!4105
| * Bump MSRV to 1.91Clara Engler2026-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit bumps the MSRV to 1.91 which was released on 2025-10-30. The Cargo.toml files were updated as follows: ```sh git ls-files | \ grep ".*Cargo\.toml$" | \ xargs sed -i '' 's/^rust-version = "1\.89"$/rust-version = "1\.91"/g' ``` The following files were updated manually: ``` modified: .gitlab-ci.yml modified: README.md modified: flake.nix modified: maint/docker-android/Dockerfile ```
* | Merge branch 'misc_string_slices_1' into 'main'Clara Engler2026-06-181-6/+5
|\ \ | | | | | | | | | | | | Fix string_slice exceptions outside of netdoc See merge request tpo/core/arti!4092
| * | arti-client: remove string slicesNick Mathewson2026-06-101-6/+5
| | |
* | | arti-client: warn if reconfig left client in inconsistent stateSteven Engler2026-06-111-15/+42
| |/ |/|
* | Merge branch 'cgo-stable' into 'main'Nick Mathewson2026-06-101-2/+2
|\ \ | | | | | | | | | | | | | | | | | | Mark "counter-galois-onion" as stable Closes #2550 See merge request tpo/core/arti!4069
| * | Mark "counter-galois-onion" as stableNick Mathewson2026-06-041-2/+2
| | |
* | | arti-client: add "dep:" prefix to "tor-rpcbase"Steven Engler2026-06-101-1/+1
| |/ |/|
* | Merge branch 'clippy-string-slice' into 'main'Nick Mathewson2026-06-1013-0/+17
|\ \ | | | | | | | | | | | | Lint for clippy::string_slice See merge request tpo/core/arti!4086
| * | everywhere: Add #[allow(clippy::string_slice)]Clara Engler2026-06-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This commit adds #[allow(clippy::string_slice)] to all functions in the code where string slices are used, alongside a TODO comment. We do this add the function header to have it consistent, as things like expression based allow's are still experimental.
| * | maint: Run maint/add_warning to deny string slicesClara Engler2026-06-0913-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* | | Merge branch 'cc-default' into 'main'Nick Mathewson2026-06-101-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Add 'flowctl-cc' to 'default' See merge request tpo/core/arti!4042
| * | | arti-client: add 'flowctl-cc' to 'default'Steven Engler2026-06-011-1/+1
| | | |
* | | | Bump derive-deftly to 1.11.3Ian Jackson2026-06-091-1/+1
| |/ / |/| | | | | | | | New beta semver policy means we should pin the patchlevel.
* | | proto: Move RateLimitedWriter to tor-async-utilsDavid Goulet2026-06-081-1/+1
| | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | | tor-rtcompat+misc: add `NetStreamProvider::ConnectOptions`Steven Engler2026-06-081-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the trait type `ConnectOptions` to `NetStreamProvider` and adds this `ConnectOptions` as an argument to `NetStreamProvider::connect()`. You probably want to look at the changes in tor-rtcompat first, then the rest of this commit is updating the various places we use `NetStreamProvider`.
* | | arti: rpc functionality to bootstrap a defer_bootstrapped client.Nick Mathewson2026-06-081-1/+1
| |/ |/|
* | Upgrade tokio to LTS 1.47.1Neel Chauhan2026-06-031-1/+1
| | | | | | | | Closes #2137.
* | client: Reflect manually disabled bootstrap in statusNick Mathewson2026-06-022-4/+101
|/ | | | | If we have made bootstrapping manual, and not launched a bootstrap, we now reflect this as the reason that bootstrapping is blocked.
* Remove semver.md files post-releaseGabriela Moldovan2026-06-011-9/+0
|
* Merge branch '2.4.0-bumps' into 'main'arti-v2.4.0gabi-2502026-06-011-31/+31
|\ | | | | | | | | Version bumps for the 2.4.0 release See merge request tpo/core/arti!4039
| * Bump all the unstable tor- and arti- crates to 0.43.0Gabriela Moldovan2026-06-011-30/+30
| | | | | | | | | | | | | | | | | | | | Done using: ``` for crate in $(./maint/list-crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.43.0 done ```
| * Bump the versions of the non-{arti-,tor-} cratesGabriela Moldovan2026-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list-crates | rg -v '^(tor|arti)' oneshot-fused-workaround web-time-compat slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error futures-copy ``` We split them in the following categories: * crates with no changes (no version bumps): ``` oneshot-fused-workaround: No change. web-time-compat: No change. slotmap-careful: No change. test-temp-dir: No change. caret: No change. safelog: No change. retry-error: No change. futures-copy: No change. ``` Obtained with: ``` maint/changed-crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-' ``` * crates that only have non-functional changes (bump the patch version, but not the dependend-on version): - equix * crates where functional changes were made, but no APIs were broken (bump patch): - fs-mistrust * crates where APIs were broken (bump minor): - hashx - fslock-guard The bumps from this commit were created using this script: ``` PATCH_NF=( equix ) PATCH=" fs-mistrust " MINOR=" hashx fslock-guard " ./maint/bump-nodep "${PATCH_NF[@]}" for crate in $PATCH; do cargo set-version --bump patch -p $crate; done for crate in $MINOR; do cargo set-version --bump minor -p $crate; done ```
* | Update release dateGabriela Moldovan2026-06-011-1/+1
|/
* Apply 2 suggestion(s) to 1 file(s)Nick Mathewson2026-05-271-2/+2
| | | Co-authored-by: gabi-250 <[email protected]>
* client: Have launch_onion_service instantiate RunningInner as needed.Nick Mathewson2026-05-261-4/+28
| | | | | | Otherwise we either lose the property that you can call launch_onion_service before bootstrapping has begun, or we have to make launch_onion_service async.
* client: RunningInner::reconfigure: refactor running → selfNick Mathewson2026-05-262-43/+81
| | | | | (This is a separate commit in order make the code movement in the previous commit clearer.)
* client: Move dirmgr_store back into ClientShared.Nick Mathewson2026-05-261-9/+10
| | | | | This will ensure that the TorClient takes its file locks immediately on construction.
* client: Fold wait_for_bootstrap{,_running} into a single method.Nick Mathewson2026-05-261-20/+14
|
* client: change remaining wait_for_bootstrap user.Nick Mathewson2026-05-261-5/+6
|
* client: Defer creation of most structures until bootstrap.Nick Mathewson2026-05-262-127/+226
| | | | | | This will let us be more confident in the inertness of a not-bootstrapping TorClient, _and_ make it easier to reconfigure things before the client is started.
* client: Rename create_inner to create_implNick Mathewson2026-05-262-2/+2
| | | | | Now that we have a type called "inner", and will soon have a function to create it, we really don't want to retain this name.
* client: move bootstrap lock to the head of bootstrap_inner.Nick Mathewson2026-05-261-5/+5
| | | | | We want this look to cover the whole function, to avoid weird duplicate behavior while creating our bridge desc manager.
* client: Factor out the "running a client" code into an inner typestateNick Mathewson2026-05-263-86/+181
| | | | | | We'll use this to distinguish "not running" from "running", in order to make it easier to be sure that non-bootstrapping clients will definitely not try to connect to the network.
* client: rename ClientInner → ClientShared.Nick Mathewson2026-05-261-5/+5
|
* Merge branch 'stabilize-flowctl-cc' into 'main'Nick Mathewson2026-05-261-2/+3
|\ | | | | | | | | | | | | Stabilize 'flowctl-cc' and add to 'full' Closes #2419 See merge request tpo/core/arti!4014
| * arti-client: move 'flowctl-cc' from 'experimental' to 'full'Steven Engler2026-05-221-2/+3
| |
* | ptmgr: Defer proxy protocol string conversionNihal2026-05-261-2/+2
| |
* | ptmgr: pass outbound_proxy to managed PT processesNihal2026-05-261-1/+6
|/ | | | | | | Previously the [channel] outbound_proxy setting was applied to Arti's own direct connections but was not forwarded to managed PT processes. https://spec.torproject.org/pt-spec/configuration-environment.html
* Merge branch 'no-version-override' into 'main'wesleyac2026-05-215-116/+11
|\ | | | | | | | | | | | | Remove `use_obsolete_software`. Closes #1960 See merge request tpo/core/arti!3995
| * Remove `use_obsolete_software`.Nick Mathewson2026-05-145-116/+11
| | | | | | | | | | | | | | | | Discussion on #1960 suggests that this option is not a good idea: it encourages developers to work around deliberate signals that the software they're shipping won't work on the network. Closes #1960.
* | Merge branch 'socket-buf-size' into 'main'opara2026-05-211-6/+9
|\ \ | |/ |/| | | | | | | | | Set socket buffer sizes (`SO_SNDBUF` and `SO_RCVBUF`) for proxy sockets Closes #2500 See merge request tpo/core/arti!3957
| * tor-rtcompat+misc: add `NetStreamProvider::ListenOptions`Steven Engler2026-05-071-6/+9
| | | | | | | | | | | | | | | | | | This adds the trait type `ListenOptions` to `NetStreamProvider` and adds this `ListenOptions` as an argument to `NetStreamProvider::listen()`. You probably want to look at the changes in tor-rtcompat first, then the rest of this commit is updating the various places we use `NetStreamProvider`.
* | Fix documentation that referred to clones of a TorClient.Nick Mathewson2026-05-131-18/+7
| |
* | client: Move the ClientInner code into one impl block.Nick Mathewson2026-05-131-171/+166
| |
* | client: Remove some inner Arcs from ClientInnerNick Mathewson2026-05-131-9/+10
| | | | | | | | These were only Arc<> so that TorClient could implement Clone.
* | client: revise StreamPrefs methodsNick Mathewson2026-05-132-14/+3
| | | | | | | | | | | | | | | | | | The `set_stream_prefs` method was the only one that took a TorClient as `&mut self`. But we only expose Arc<TorClient<R>>, that isn't a reasonable API. The `clone_with_prefs` method has been renamed, since it no longer "clones" anything meaningfully.