summaryrefslogtreecommitdiff
path: root/crates/arti
Commit message (Collapse)AuthorAgeFilesLines
* Bump arti crate to 2.4.0Gabriela Moldovan2026-06-011-1/+1
|
* Bump all the unstable tor- and arti- crates to 0.43.0Gabriela Moldovan2026-06-011-26/+26
| | | | | | | | | | 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 ```
* Merge branch 'client_typestate' into 'main'Nick Mathewson2026-05-271-1/+1
|\ | | | | | | | | Client: Refactor most managers into a typestate, and construct it on bootstrap. See merge request tpo/core/arti!4011
| * client: Factor out the "running a client" code into an inner typestateNick Mathewson2026-05-261-1/+1
| | | | | | | | | | | | 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.
* | Give resolve_return_results options to control output_tree.Nick Mathewson2026-05-271-2/+2
|/ | | | | | | I've left the options here as booleans, but moved them into a struct. (IMO, booleans are at their riskiest when they are passed as function arguments, and much less risky when they are used as struct fields.)
* Move metrics config types to tor-config.Wesley Aptekar-Cassels2026-05-261-30/+1
| | | | | | | | | | | | | | This will allow these types to be shared by arti and arti-relay. This does change these types from being behind the experimental-api flag. I think this is okay, as tor-config is not a stable crate anyways, but it's worth keeping in mind. There is also an argument to be made for having two separate types, one in arti and one in arti-relay, as we do for LoggingConfig. I think that using a single type has benefits, and we should strive to eventually merge the LoggingConfigs, for instance, and perhaps other types, but it doesn't seem critical in either direction at the moment.
* arti: move 'flowctl-cc' from 'experimental' to 'full'Steven Engler2026-05-221-2/+2
|
* Merge branch 'no-version-override' into 'main'wesleyac2026-05-212-15/+0
|\ | | | | | | | | | | | | Remove `use_obsolete_software`. Closes #1960 See merge request tpo/core/arti!3995
| * Remove `use_obsolete_software`.Nick Mathewson2026-05-142-19/+4
| | | | | | | | | | | | | | | | 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-214-5/+59
|\ \ | | | | | | | | | | | | | | | | | | Set socket buffer sizes (`SO_SNDBUF` and `SO_RCVBUF`) for proxy sockets Closes #2500 See merge request tpo/core/arti!3957
| * | arti: add 'proxy.socket_{send,recv}_buf_size' config optionsSteven Engler2026-05-074-23/+58
| | |
| * | arti: use 128 KB socket buffers for proxy socketsSteven Engler2026-05-071-2/+18
| | |
| * | tor-rtcompat+misc: add `NetStreamProvider::ListenOptions`Steven Engler2026-05-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* | | Merge branch 'keymgr-raw-ids' into 'main'opara2026-05-191-13/+11
|\ \ \ | | | | | | | | | | | | | | | | keymgr: more docs for the `RawEntryId` APIs, and some dead code removal See merge request tpo/core/arti!3997
| * | | keymgr: Remove RawKeystoreEntryGabriela Moldovan2026-05-181-13/+11
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think this adds unnecessary indirection, and it's a bit confusing to have two separate keystore entry types (we have `KeystoreEntry` too). This type exists just to server as a wrapper over the `RawEntryId` of an unrecognized keystore entry, and the `KeystoreId` of the keystore it was found in. This commit folds `RawKeystoreEntry` into `UnrecognizedEntry`, which was previously a thin wrapper over `RawKeystoreEntry`.
* | | Merge branch 'rpc-config-preliminary' into 'main'Nick Mathewson2026-05-182-81/+87
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Hopefully non-controversial parts of RPC configuration prep work Closes #2532 See merge request tpo/core/arti!3979
| * | arti::reload_cfg: Extract common part of select_biased! blockNick Mathewson2026-05-181-15/+3
| | |
| * | arti: Reformat reload_cfg.rs and cfg.rsNick Mathewson2026-05-182-66/+84
| | | | | | | | | | | | | | | | | | | | | | | | This is _just_ the results of a rustfmt invocation on this file. Due to #2532, these modules were getting overlooked by our regular rustfmt checks. I'm planning to circle back later on and fix #2532, but for now, reformatting these files will make future edits cleaner.
* | | Merge branch 'arc_torclient' into 'main'Nick Mathewson2026-05-1311-28/+35
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make all TorClient constructors wrap the TorClient in an Arc. Closes #2469 See merge request tpo/core/arti!3990
| * | | Make TorClient no longer implement Clone.Nick Mathewson2026-05-135-18/+13
| | | |
| * | | Make all TorClient constructors wrap the TorClient in an Arc.Nick Mathewson2026-05-139-18/+30
| |/ / | | | | | | | | | | | | | | | 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.
* / / Turn an expectation into an allowIan Jackson2026-05-131-1/+1
|/ / | | | | | | Fixes `cargo clippy --locked --all-features -p arti`
* / circmgr: Add config option for the HsDir requery periodGabriela Moldovan2026-05-072-0/+5
|/
* release: Bump tor- and arti- crate versions.Wesley Aptekar-Cassels2026-05-061-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
|
* release: Bump arti version to 2.3.0.Wesley Aptekar-Cassels2026-05-061-1/+1
|
* Upgrade to hickory-proto 0.26.1Nick Mathewson2026-05-022-18/+12
| | | | | | | | | | | | | | This fixes https://rustsec.org/advisories/RUSTSEC-2026-0120.html and https://rustsec.org/advisories/RUSTSEC-2026-0119.html Neither of these is relevant for Arti, but we may as well upgrade. This change required some code changes, since the upgrade from 0.25 changed some of the old APIs. Closes #2517.
* implement syslog supportAndrew Kloet2026-04-284-4/+58
|
* Log socks isolationJim Newsome2026-04-081-0/+1
|
* Merge branch 'rustls-defaults' into 'main'Nick Mathewson2026-04-083-14/+37
|\ | | | | | | | | | | | | 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-083-14/+37
| |
* | Merge branch 'feat/protocol-warnings' into 'main'Nick Mathewson2026-04-083-0/+25
|\ \ | | | | | | | | | | | | tor-error/arti: add logging.protocol_warnings for TorProtocolViolation See merge request tpo/core/arti!3805
| * | arti: set_protocol_warning_mode to Warn or Off in setup_loggingmoumenalaoui2026-04-081-5/+6
| | |
| * | arti: add protocol_warnings config and wire setup_loggingmoumenalaoui2026-03-273-0/+24
| | |
* | | Merge branch 'fix-help-msg' into 'main'Nick Mathewson2026-04-086-4/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti: Fix arti -h Closes #2038 See merge request tpo/core/arti!3860
| * | | arti: tests: Add regression test for `arti -h`hjrgrn2026-04-085-0/+13
| | | | | | | | | | | | | | | | | | | | - Add regression test - Update README
| * | | arti: Fix help message display orderhjrgrn2026-04-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call `clap_app`'s metadata methods after `augment_subcommands`. If `about` is set before `augment_subcommands`, the subcommand enums' doc comment overrides it. Now, all metadata (e.g. about, version) is set after augmentation for consistency and correct help output.
* | | | Merge branch 'closed-stream-err' into 'main'opara2026-04-071-6/+10
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | tor-proto: Change an error from `CircuitClosed` to `NotConnected` Closes #2421 See merge request tpo/core/arti!3825
| * | | arti: fix clippy warnings in `report_proxy_error()`Steven Engler2026-03-301-3/+5
| | | |
| * | | arti: use report macros in `report_proxy_error()`Steven Engler2026-03-301-5/+6
| | | |
| * | | arti: don't warn for `NotConnected` errorsSteven Engler2026-03-301-0/+1
| |/ /
* | / 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.
* | Bump versions: set version of arti to 2.2.0Ian Jackson2026-03-301-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/issues/2436#note_3384773
* | Bump versions: tor-* and arti-* unstable cratesIan Jackson2026-03-301-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge branch 'fixup-features' into 'main'Ian Jackson2026-03-301-0/+1
|\ \ | | | | | | | | | | | | Fix up cargo features See merge request tpo/core/arti!3828
| * | Plumb web-time-compat/full dependency through everywhere.Ian Jackson2026-03-301-0/+1
| |/ | | | | | | As generated by maint/fixup-features.
* | arti: test: rename unrecognized-entry to hs_unrecognized_entry to fix the CIhjrgrn2026-03-304-3/+3
| | | | | | | | This changes save us from adding a new entry in .editorconfig