aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-client
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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.
* | Make TorClient no longer implement Clone.Nick Mathewson2026-05-132-46/+87
| |
* | Make all TorClient constructors wrap the TorClient in an Arc.Nick Mathewson2026-05-135-17/+21
| | | | | | | | | | | | This is part of rationalizing the structure of TorClient so we can refactor startup logic, and so that RPC code can reason about object identity. See #2469.
* | Upgrade rand crates to 0.10.Wesley Aptekar-Cassels2026-05-121-2/+2
|/ | | | | | | | | | | When the circ-padding feature is enabled, we use maybenot, which does not yet support rand 0.10. In the meantime, enabling this feature pulls in rand 0.9. This is not ideal, but should be okay as a temporary situation. This also replaces the use of ReseedingRng (which was removed in 0.10) with the reseeding_rng crate. This is somewhat less performant, but it should be okay.
* Merge branch 'release-2.3.0-update-release-date' into 'main'Ian Jackson2026-05-061-1/+1
|\ | | | | | | | | release: Bump release date for 2.3.0. See merge request tpo/core/arti!3953
| * release: Bump release date for 2.3.0.Wesley Aptekar-Cassels2026-05-061-1/+1
| |
* | release: Bump tor- and arti- crate versions.Wesley Aptekar-Cassels2026-05-061-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cargo set-version -p arti-client 0.42.0 cargo set-version -p arti-config 0.42.0 cargo set-version -p arti-relay 0.42.0 cargo set-version -p arti-rpc-client-core 0.42.0 cargo set-version -p arti-rpcserver 0.42.0 cargo set-version -p arti-testing 0.42.0 cargo set-version -p arti-ureq 0.42.0 cargo set-version -p tor-async-utils 0.42.0 cargo set-version -p tor-basic-utils 0.42.0 cargo set-version -p tor-bytes 0.42.0 cargo set-version -p tor-cell 0.42.0 cargo set-version -p tor-cert 0.42.0 cargo set-version -p tor-cert-x509 0.42.0 cargo set-version -p tor-chanmgr 0.42.0 cargo set-version -p tor-checkable 0.42.0 cargo set-version -p tor-circmgr 0.42.0 cargo set-version -p tor-config 0.42.0 cargo set-version -p tor-config-path 0.42.0 cargo set-version -p tor-consdiff 0.42.0 cargo set-version -p tor-dirclient 0.42.0 cargo set-version -p tor-dircommon 0.42.0 cargo set-version -p tor-dirmgr 0.42.0 cargo set-version -p tor-dirserver 0.42.0 cargo set-version -p tor-error 0.42.0 cargo set-version -p tor-events 0.42.0 cargo set-version -p tor-general-addr 0.42.0 cargo set-version -p tor-geoip 0.42.0 cargo set-version -p tor-guardmgr 0.42.0 cargo set-version -p tor-hsclient 0.42.0 cargo set-version -p tor-hscrypto 0.42.0 cargo set-version -p tor-hsrproxy 0.42.0 cargo set-version -p tor-hsservice 0.42.0 cargo set-version -p tor-key-forge 0.42.0 cargo set-version -p tor-keymgr 0.42.0 cargo set-version -p tor-linkspec 0.42.0 cargo set-version -p tor-llcrypto 0.42.0 cargo set-version -p tor-log-ratelim 0.42.0 cargo set-version -p tor-memquota 0.42.0 cargo set-version -p tor-memquota-cost 0.42.0 cargo set-version -p tor-netdir 0.42.0 cargo set-version -p tor-netdoc 0.42.0 cargo set-version -p tor-persist 0.42.0 cargo set-version -p tor-proto 0.42.0 cargo set-version -p tor-protover 0.42.0 cargo set-version -p tor-ptmgr 0.42.0 cargo set-version -p tor-relay-crypto 0.42.0 cargo set-version -p tor-relay-selection 0.42.0 cargo set-version -p tor-rpcbase 0.42.0 cargo set-version -p tor-rpc-connect 0.42.0 cargo set-version -p tor-rtcompat 0.42.0 cargo set-version -p tor-rtmock 0.42.0 cargo set-version -p tor-socksproto 0.42.0 cargo set-version -p tor-units 0.42.0
* | release: Bump safelog version to 0.8.2.Wesley Aptekar-Cassels2026-05-061-1/+1
|/
* Log tunnel and circuit IDsJim Newsome2026-04-081-1/+4
|
* Merge branch 'rustls-defaults' into 'main'Nick Mathewson2026-04-081-4/+4
|\ | | | | | | | | | | | | Allow compile-time selection of rustls CryptoProvider; use aws-lc-rs by default. Closes #2448 See merge request tpo/core/arti!3857
| * arti: Allow choice of CryptoProvider; use aws-lc-rs by default.Nick Mathewson2026-04-081-4/+4
| |
* | Update to derive-deftly 0.11.0 to pick up `meta_quoted rigorous`Ian Jackson2026-04-021-1/+1
|/
* Update to derive-deftly 0.10.0.Ian Jackson2026-03-311-1/+1
| | | | There are no breaking changes.
* Merge branch 'release-date' into 'main'Nick Mathewson2026-03-301-1/+1
|\ | | | | | | | | Update release date See merge request tpo/core/arti!3832
| * Update release dateIan Jackson2026-03-301-1/+1
| | | | | | | | As per the release checklist.
* | Bump versions: tor-* and arti-* unstable cratesIan Jackson2026-03-301-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/issues/2436#note_3384773 Made with nailing-cargo -Eu set-version -p arti-client 0.41.0 nailing-cargo -Eu set-version -p arti-relay 0.41.0 nailing-cargo -Eu set-version -p arti-rpcserver 0.41.0 nailing-cargo -Eu set-version -p arti-ureq 0.41.0 nailing-cargo -Eu set-version -p arti-rpc-client-core 0.41.0 nailing-cargo -Eu set-version -p tor-basic-utils 0.41.0 nailing-cargo -Eu set-version -p tor-error 0.41.0 nailing-cargo -Eu set-version -p tor-general-addr 0.41.0 nailing-cargo -Eu set-version -p tor-geoip 0.41.0 nailing-cargo -Eu set-version -p tor-memquota-cost 0.41.0 nailing-cargo -Eu set-version -p tor-llcrypto 0.41.0 nailing-cargo -Eu set-version -p tor-cert-x509 0.41.0 nailing-cargo -Eu set-version -p tor-rtcompat 0.41.0 nailing-cargo -Eu set-version -p tor-rtmock 0.41.0 nailing-cargo -Eu set-version -p tor-async-utils 0.41.0 nailing-cargo -Eu set-version -p tor-config 0.41.0 nailing-cargo -Eu set-version -p tor-config-path 0.41.0 nailing-cargo -Eu set-version -p tor-rpc-connect 0.41.0 nailing-cargo -Eu set-version -p tor-log-ratelim 0.41.0 nailing-cargo -Eu set-version -p tor-rpcbase 0.41.0 nailing-cargo -Eu set-version -p tor-memquota 0.41.0 nailing-cargo -Eu set-version -p tor-units 0.41.0 nailing-cargo -Eu set-version -p tor-bytes 0.41.0 nailing-cargo -Eu set-version -p tor-protover 0.41.0 nailing-cargo -Eu set-version -p tor-checkable 0.41.0 nailing-cargo -Eu set-version -p tor-cert 0.41.0 nailing-cargo -Eu set-version -p tor-key-forge 0.41.0 nailing-cargo -Eu set-version -p tor-hscrypto 0.41.0 nailing-cargo -Eu set-version -p tor-socksproto 0.41.0 nailing-cargo -Eu set-version -p tor-linkspec 0.41.0 nailing-cargo -Eu set-version -p tor-cell 0.41.0 nailing-cargo -Eu set-version -p tor-persist 0.41.0 nailing-cargo -Eu set-version -p tor-keymgr 0.41.0 nailing-cargo -Eu set-version -p tor-relay-crypto 0.41.0 nailing-cargo -Eu set-version -p tor-proto 0.41.0 nailing-cargo -Eu set-version -p tor-netdoc 0.41.0 nailing-cargo -Eu set-version -p tor-consdiff 0.41.0 nailing-cargo -Eu set-version -p tor-netdir 0.41.0 nailing-cargo -Eu set-version -p tor-relay-selection 0.41.0 nailing-cargo -Eu set-version -p tor-chanmgr 0.41.0 nailing-cargo -Eu set-version -p tor-ptmgr 0.41.0 nailing-cargo -Eu set-version -p tor-dircommon 0.41.0 nailing-cargo -Eu set-version -p tor-guardmgr 0.41.0 nailing-cargo -Eu set-version -p tor-circmgr 0.41.0 nailing-cargo -Eu set-version -p tor-dirclient 0.41.0 nailing-cargo -Eu set-version -p tor-dirmgr 0.41.0 nailing-cargo -Eu set-version -p tor-dirserver 0.41.0 nailing-cargo -Eu set-version -p tor-hsclient 0.41.0 nailing-cargo -Eu set-version -p tor-hsservice 0.41.0 nailing-cargo -Eu set-version -p tor-hsrproxy 0.41.0
* | Bump versions: patchlevel, with dependenciesIan Jackson2026-03-301-1/+1
|/ | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/issues/2436#note_3384773 Made with cargo set-version --offline --bump patch -p safelog
* Plumb web-time-compat/full dependency through everywhere.Ian Jackson2026-03-301-0/+1
| | | | As generated by maint/fixup-features.
* Merge branch 'webtime-v3' into 'main'Nick Mathewson2026-03-263-11/+10
|\ | | | | | | | | | | | | Port to use web-time for compatibility with wasm32 Closes #2356 See merge request tpo/core/arti!3820
| * arti-client: Port to web-time-compat.Nick Mathewson2026-03-263-11/+10
| |
* | Progress on arti-client compilation on wasm32 target.Alexander Hansen Færøy2026-03-261-1/+3
|/ | | | | | This patch makes tempfile a dev-dependency for all non-wasm targets. This makes us able to get one step further in compiling arti-client for Wasm as it get rid of a build error related to the errno crate.
* arti-client: Stub out usage of FsStateMgr on wasm32-unknown.Nick Mathewson2026-03-252-7/+41
| | | | | | | | The replacement (TestingStateMgr) is not correct, but it will compile until we have a supported state manager. (This made cargo-sort have me move a section around. Not sure why it cares.)
* Fix word duplicate typosTobias Stoeckmann2026-03-151-1/+1
|
* arti-client: Remove "not as secure as C Tor" text in the README.Nick Mathewson2026-03-041-4/+1
| | | | | I think we currently have the same security features implemented in Arti as C tor has.
* Bump strum to 0.28Gabriela Moldovan2026-03-041-1/+1
|
* Bump toml to 1.0.3Gabriela Moldovan2026-03-041-1/+1
|
* Update the release date for today's releaseGabriela Moldovan2026-03-031-1/+1
|
* Merge branch '2.1.0-bumps' into 'main'gabi-2502026-03-021-31/+31
|\ | | | | | | | | Version bumps for 2.1.0 See merge request tpo/core/arti!3733
| * Bump all the unstable tor- and arti- crates to 0.40.0.Gabriela Moldovan2026-03-021-29/+29
| | | | | | | | | | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.40.0 done
| * Bump the versions of the non-{arti-,tor-} cratesGabriela Moldovan2026-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list-crates | rg -v '^(tor|arti)' oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error futures-copy ``` Because this release bumps the MSRV, I am bumping the minor version of all of them. MINOR=" oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error futures-copy " for crate in $MINOR; do cargo set-version --bump minor -p $crate; done ```
* | Update release date in preparation for today's releaseGabriela Moldovan2026-03-021-1/+1
|/
* arti-client: Convert config to derive_deftly(TorConfig).Nick Mathewson2026-02-241-115/+94
| | | | | (There are a few places where we still do things in nonstandard places to avoid API breakage.)
* Merge branch 'ticket_2338' into 'main'Nick Mathewson2026-02-191-9/+5
|\ | | | | | | | | | | | | Use ErrorSources where appropriate to walk an error stack. Closes #2338 See merge request tpo/core/arti!3685
| * arti-client: Use ErrorSources to find best hint for an error.Nick Mathewson2026-02-161-9/+5
| | | | | | | | | | Previously, due to #2338, we would miss any error nested directly inside an io::Error.
* | arti-client: Allow collapsible_if in examplesGabriela Moldovan2026-02-161-0/+1
| |
* | Allow clippy::collapsible_if to triggerGabriela Moldovan2026-02-161-0/+1
| | | | | | | | | | | | | | | | | | `clippy::collapsible_if` started triggering after bumping the MSRV to 1.88. Since this triggers from a lot of places, and since there even are a couple of instances where we explicitly allow `clippy::collapsible_ifs`, I've opened #2342 for deciding what to do about it.
* | Bump MSRV from 1.86 to 1.89Gabriela Moldovan2026-02-161-1/+1
| | | | | | | | | | | | | | As agreed at our last team meeting. See https://gitlab.torproject.org/tpo/core/arti/#minimum-supported-rust-version
* | Bump time to 0.3.47Gabriela Moldovan2026-02-161-1/+1
|/ | | | | | This enables us to un-ignore RUSTSEC-2026-0009. See #2341 for analysis of impact.
* relay: Add a TLS acceptor in the ChanBuilderDavid Goulet2026-02-091-7/+10
| | | | | | | | | | | | | | | This requires the `TlsKeyAndCert` so be passed on the TLS acceptor settings. We assume that `RelayIdentities` has this information. The ChanBuilder::new() was getting a bit too convoluted and feature gated to instead we introduce new_client() and new_relay() and remove the need for `with_identities()`. Because of this, the ChanMgr::new() now returns a `Result<>`. Related to #1597 Signed-off-by: David Goulet <[email protected]>
* release: Update release date.Wesley Aptekar-Cassels2026-02-021-1/+1
|