summaryrefslogtreecommitdiff
path: root/Cargo.lock
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-51/+51
| | | | | | | | | | 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-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* fslock-guard: Provide specialized android impls.Nick Mathewson2026-05-281-0/+1
| | | | | | | | | | | | | We need these because `File::lock()` and `File::try_lock()` claim not to work on Android, and have to be emulated with flock. For more information, see <https://github.com/rust-lang/rust/issues/148325>. Closes #2544. Based on code by @syphyr. Co-Authored-By: syphyr <[email protected]>
* Merge branch 'windows-fileid-check' into 'main'Nick Mathewson2026-05-281-1/+1
|\ | | | | | | | | fslock-guard: Use windows-sys and GetFileInformationByHandleEx. See merge request tpo/core/arti!3974
| * fslock-guard: Use windows-sys and GetFileInformationByHandleEx.Nick Mathewson2026-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Unlike winapi, windows-sys is maintained (by microsoft), and supports more APIs. We use it elsewhere in our tree, but this was our largest usae of winapi. The GetFileInformationByHandleEx variant includes an explicit buffer size to make errors harder, and enables us to get a 128-bit file identifier, which is (supposedly) even more unique than the 64-bit identifiers we were looking at before.
* | config: Add a method to fill in a builder with unset defaultsNick Mathewson2026-05-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new method modifies a builder by replacing any unset values that have a default with that default. We're using this method so that we can re-serialize a builder into a `ConfigurationTree` with all of its default values included. In all cases, `b.apply_defaults()?; b.build()` should produce the same output as `b.build()`. The interesting parts of this commit are in tor_config::load and tor_config::derive. The rest of this commit just adds `apply_defaults` to other builders that _aren't_ made with `derive_deftly(TorConfig)`.
* | arti-relay: Add metrics exporter.Wesley Aptekar-Cassels2026-05-261-0/+2
| | | | | | | | | | | | | | | | | | This currently does not actually export any metrics, but puts the infrastructure in place to do so. This adds the `experimental`, `__is_experimental`, etc features to arti-relay. I presume we want to do that in the long term, but I'm not 100% sure on that.
* | Merge branch 'socket-buf-size' into 'main'opara2026-05-211-0/+2
|\ \ | | | | | | | | | | | | | | | | | | Set socket buffer sizes (`SO_SNDBUF` and `SO_RCVBUF`) for proxy sockets Closes #2500 See merge request tpo/core/arti!3957
| * | tor-rtcompat: add structs to hold listen() optionsSteven Engler2026-05-071-0/+2
| | | | | | | | | | | | | | | For now this just sets up the structure. We'll add options for TCP later.
* | | Update to enumset 1.1.13Nick Mathewson2026-05-191-2/+2
| | | | | | | | | | | | | | | 1.1.11 and 1.1.12 were yanked, apparently for accidental semver breaks.
* | | Merge branch 'rpc-config-preliminary' into 'main'Nick Mathewson2026-05-181-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Hopefully non-controversial parts of RPC configuration prep work Closes #2532 See merge request tpo/core/arti!3979
| * | | config-path: Convert tests to use dd(TorConfig).Nick Mathewson2026-05-181-1/+1
| | |/ | |/|
* | | Update to metrics 0.24.6Nick Mathewson2026-05-131-2/+2
| | | | | | | | | | | | The previous version (0.24.5) has been yanked.
* | | Upgrade rand crates to 0.10.Wesley Aptekar-Cassels2026-05-121-42/+62
|/ / | | | | | | | | | | | | | | | | | | | | 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.
* | New `tor-dirpublish` crate to handle uploading documents.Nick Mathewson2026-05-121-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate is a generalization of the logic for uploading we currently have in tor-hsservice to handle uploading a (possibly changing) document to a (possibly changing) list of targets. It supports different kinds of documents, different kinds of document targets, and different ways to upload. Currently only direct HTTP uploads are supported; we can add others in the future (and we'll have to, for bridges and onion services.) Closes #2499.
* | Merge branch 'fslock-redux' into 'main'Nick Mathewson2026-05-111-23/+1
|\ \ | | | | | | | | | | | | Update code to actually eliminate fslock *and* the LockFile type. See merge request tpo/core/arti!3954
| * | fslock-guard: Remove fslock dependency.Nick Mathewson2026-05-061-11/+0
| | | | | | | | | | | | | | | We can do this since our msrv is now 1.89.0, where File::lock is supported.
| * | Remove users of fslock other than fslock-guard.Nick Mathewson2026-05-061-12/+1
| |/ | | | | | | | | | | There were two that relied on the the ability to have a lock in an unlocked state. Instead, we replace those with Option<LockFileGuard> or its equivalent.
* / Routine cargo updateIan Jackson2026-05-071-374/+483
|/ | | | Bring in non-breaking changes to our dependencies.
* release: Bump tor- and arti- crate versions.Wesley Aptekar-Cassels2026-05-061-53/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-021-61/+89
| | | | | | | | | | | | | | 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.
* Merge branch 'testdata2-dirserver-prep' into 'main'Ian Jackson2026-04-291-0/+1
|\ | | | | | | | | Preperation work for upcoming tor-dirserver test refactoring See merge request tpo/core/arti!3931
| * tor-dirserver: Add tor-checkable as dev-dependencyClara Engler2026-04-281-0/+1
| | | | | | | | | | This is required to do some signature validation on legacy types in an upcoming commit.
* | proto: add an "rpc" feature, and mark "stream-ctrl" stable.Nick Mathewson2026-04-281-0/+2
| | | | | | | | | | stream-ctrl should have been stable a while ago, since it is a dependency of arti/rpc, which is itself stable.
* | Merge branch 'update-security-framework' into 'main'gabi-2502026-04-281-5/+2
|\ \ | | | | | | | | | | | | | | | | | | Remove bodge for security-framework, and update it. Closes #2387 See merge request tpo/core/arti!3928
| * | Update to security-framework 3.7.0Nick Mathewson2026-04-281-2/+2
| | |
| * | dependencies-bodge: remove bodge for security-frameworkNick Mathewson2026-04-281-3/+0
| |/ | | | | | | | | | | | | Now that we've updated to MACOS_DEPLOYMENT_TARGET 10.15 (see !3920) we can use more recent versions of the security-framework crate. Closes #2387.
* / implement syslog supportAndrew Kloet2026-04-281-0/+12
|/
* Update rustls-webpki to fix RUSTSEC-2026-0104Ian Jackson2026-04-221-2/+2
| | | | | | | | | | As I wrote in !3893, > I don't think we rely on webpki in Tor. Our example code for eg > `arti-ureq` would be affected, but of couse anyone using that would have > their own binary crate with their own lockfile. Therefore this is not a vulnerability of any kind in Arti.
* Merge branch 'geoip-datasegment' into 'main'Nick Mathewson2026-04-211-1/+46
|\ | | | | | | | | Geoip: Move the data into the .data segment completely, and into an out-of-tree crate. See merge request tpo/core/arti!3900
| * geoip: Use tor-geoip-db as source of data.Nick Mathewson2026-04-161-1/+8
| |
| * geoip: Add new internal DenseRangeMap typeNick Mathewson2026-04-151-0/+38
| | | | | | | | | | This type is more space-efficient than RangeInclusiveMap in the case where most ranges do not have gaps between them.
* | tor-netdoc: Introduce Hostname newtypeIan Jackson2026-04-201-0/+1
|/ | | | Tests will come in a moment.
* Update rustls-webpki to 0.103.11 for RUSTSEC-2026-0098Ian Jackson2026-04-151-2/+2
| | | | | | | | | | | Fixes: Crate: rustls-webpki Version: 0.103.11 Title: Name constraints for URI names were incorrectly accepted Date: 2026-04-14 ID: RUSTSEC-2026-0098 URL: https://rustsec.org/advisories/RUSTSEC-2026-0098
* Merge branch 'chan-unit-tests' into 'main'David Goulet2026-04-141-0/+1
|\ | | | | | | | | proto: Add relay channel handshake unit tests See merge request tpo/core/arti!3853
| * proto: Add channel relay handshake unit testsDavid Goulet2026-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of copying the client unit tests into the channel module, just make both current unit tests run on a client and relay handshake. This required a bit of trickery with type HandshakeConnectFn but works out in the end. It also adds the RelayMsgBuf that wraps a MsgBuf in order to implement CertifiedConn which is very relay only. Signed-off-by: David Goulet <[email protected]>
* | arti-relay: log the public ntor keySteven Engler2026-04-141-0/+1
|/ | | | This is useful for testing.
* Update to rand 0.90.3 and 0.10.1Ian Jackson2026-04-131-42/+42
| | | | | | | | | | | | | Fixes RUSTSEC-2026-0097. This is an unsoundness bug resulting from unexpected reentranccy if the whole program contains both of the following 1. rand with the log feature enabled 2. logging hook that calls rand Both of these are a priori quite unlikely. I checked with "cargo tree" that our uses of rand do not end up depending on log, so I think nothing in our tree enables the rand log feature.
* arti-relay: Use a SmallVec for the ntor keysGabriela Moldovan2026-04-091-0/+1
| | | | Usually, there will only be two of these.
* Merge branch 'rustls-defaults' into 'main'Nick Mathewson2026-04-081-0/+40
|\ | | | | | | | | | | | | Allow compile-time selection of rustls CryptoProvider; use aws-lc-rs by default. Closes #2448 See merge request tpo/core/arti!3857
| * rtcompat: Stop installing backup CryptoProvider.Nick Mathewson2026-04-021-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | When using rustls, previously we'd check to see whether the application had installed a CryptoProvider (as it is required to do). If not, we'd log a warning and install a Ring provider. But now, we want to enable other kinds of providers, so this behavior isn't practical any more. (See #2448 for discussion.) Closes #2448.
* | Merge branch 'create-fast' into 'main'opara2026-04-081-0/+2
|\ \ | | | | | | | | | | | | Add support for handling CREATE_FAST cells and launching a circuit reactor See merge request tpo/core/arti!3846
| * | arti-relay: add support for a `CreateRequestHandler`Steven Engler2026-04-081-0/+1
| | |
| * | tor-proto: derive `strum::EnumDiscriminants` for `Algorithm`Steven Engler2026-04-081-0/+1
| | |
* | | tor-netdoc: Use proper PEM parser for testvecsClara Engler2026-04-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit uses a proper PEM parser as a dev-dependency to tor-netdoc for parsing PEM entries, instead of hard-coding long DER byte strings. It is better to use an external crate for this here, rather than the existing somewhat accessible (only through traits) implementation of parse2, because it feels wrong testing parse2 with parse2.
* | | Update to derive-deftly 0.11.0 to pick up `meta_quoted rigorous`Ian Jackson2026-04-021-4/+4
| |/ |/|
* | arti-relay: Move all key specifiers to a new keys moduleGabriela Moldovan2026-04-011-0/+1
|/ | | | | | | | | | | This extracts the key specifier types out of `tor-relay-crypto`, which * makes the code layout consistent with the hidden service crates (the key specifiers are defined in a `keys` module in `tor-hsservice`, while the key wrapper types live in `tor-hscrypto::pk`) * helps reduce the API surface: the key specifiers are only used in `arti-relay`, so we can move them there and make them `pub(crate)` instead of `pub`