aboutsummaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-dirauth: Introduce SupportedConsensusMethod newtypeIan Jackson2026-07-151-0/+2
|
* tor-netdoc: Implement precise port summariesIan Jackson2026-07-151-0/+10
| | | | | | | | For calculating `ipv6-policy` in routerdescs. Also implement for v4 for the benefit of future tests of approximate port policy summaries, for possible future protocol change, and for completeness.
* Update spin to 0.9.8Ian Jackson2026-07-151-2/+2
| | | | | | | | | | | | | | | Fixes cargo-audit failure, due to spin 0.9.8 being yanked: The changelog entry for 0.9.9 says: > ### Fixed > > - Unsoundness in `Once::force_into_inner`, `Once::try_into_inner`, and > `Once::into_inner_unchecked`. \[...] In our stack, spin <- lazy_static 1.5.0 (only). lazy_static 1.5.0 (git tag) has no hits for `into_inner`. So I think we don't have any calls to the previously-unsound methods.
* maint/cargo-audit: Bump crossbeam-epoch to address RUSTSEC-2026-0204Gabriela Moldovan2026-07-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RUSTSEC-2026-0204 doesn't affect Arti, so this won't need a TROVE. I checked using the procedure documented under "Checking whether we are affected by a RUSTSEC" in `doc/dev/SecurityResponse.md`. I applied the following patch to my local `crossbeam-epoch` to remove the affected impls, and confirmed that Arti still builds successfully with it: ```diff diff --git a/crossbeam-epoch/src/atomic.rs b/crossbeam-epoch/src/atomic.rs index 41b4cd91..8b9b3a01 100644 --- a/crossbeam-epoch/src/atomic.rs +++ b/crossbeam-epoch/src/atomic.rs @@ -939,14 +939,6 @@ impl<T: ?Sized + Pointable> fmt::Debug for Atomic<T> { } } -impl<T: ?Sized + Pointable> fmt::Pointer for Atomic<T> { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let data = self.data.load(Ordering::SeqCst); - let (raw, _) = decompose_tag::<T>(data); - fmt::Pointer::fmt(&(unsafe { T::deref(raw) as *const _ }), f) - } -} - impl<T: ?Sized + Pointable> Clone for Atomic<T> { /// Returns a copy of the atomic value. /// @@ -1660,12 +1652,6 @@ impl<T: ?Sized + Pointable> fmt::Debug for Shared<'_, T> { } } -impl<T: ?Sized + Pointable> fmt::Pointer for Shared<'_, T> { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - fmt::Pointer::fmt(&(unsafe { self.deref() as *const _ }), f) - } -} - impl<T: ?Sized + Pointable> Default for Shared<'_, T> { fn default() -> Self { Shared::null() ``` Note: the reason the `fmt::Pointer` impls I removed above look slightly different from the ones in the [crossbeam-rs MR] from the RUSTSEC page is because my patched `crossbeam-epoch` is based on the `crossbeam-epoch-0.9.18` tag rather than `main`. [crossbeam-rs MR]: https://github.com/crossbeam-rs/crossbeam/pull/1273/files
* Merge branch 'upgrade-cipher' into 'main'gabi-2502026-07-131-15/+46
|\ | | | | | | | | Upgrade cipher, aes, and ctr. See merge request tpo/core/arti!4195
| * Upgrade cipher, aes, and ctr.Nick Mathewson2026-07-131-15/+46
| |
* | Merge branch 'onion-svc-negotiate-v2' into 'main'Nick Mathewson2026-07-021-0/+1
|\ \ | | | | | | | | | | | | | | | | | | Negotiate flowcontrol-cc and CGO on onion services Closes #2473 and #1948 See merge request tpo/core/arti!4135
| * | hsclient: Support protocol negotiation for CGO and flowctrl-ccNick Mathewson2026-07-021-0/+1
| | |
* | | tor-netdoc: rangemap_mutate_range: New functionIan Jackson2026-07-021-0/+1
|/ / | | | | | | This will be used for exit port summary calculations.
* | Merge branch 'upgrade-itertools' into 'main'Nick Mathewson2026-07-011-24/+24
|\ \ | |/ |/| | | | | Upgrade itertools to 0.15.0 See merge request tpo/core/arti!4192
| * Upgrade to itertools 0.15.0Nick Mathewson2026-07-011-24/+24
| | | | | | | | | | | | Additionally, fix itertools usage in maybenot_padding.rs The definition of `Position` changed in 0.15.0.
* | Merge branch 'upgrade-rdrand-0.9' into 'main'Ian Jackson2026-07-011-3/+4
|\ \ | |/ |/| | | | | Upgrade rdrand dependency to 0.9 See merge request tpo/core/arti!4194
| * Upgrade rdrand dependency to 0.9Nick Mathewson2026-07-011-3/+4
| |
* | Upgrade to phf 0.14.0.Nick Mathewson2026-07-011-8/+8
|/
* Merge branch 'cargo-update-250' into 'main'Nick Mathewson2026-06-301-339/+190
|\ | | | | | | | | Run cargo-update and fix deprecation warnings See merge request tpo/core/arti!4187
| * Run cargo update.Nick Mathewson2026-06-301-339/+190
| |
* | proto: Pass the allowed incoming commands to CreateRequestHandlerGabriela Moldovan2026-06-301-0/+1
|/ | | | | | | | | | | This enables us to make these configurable: any relays that are not configured to be an exit will exclude BEGIN and RESOLVE from their list of allowed commands, causing exit and DNS streams to be rejected as soon as the BEGIN/RESOLVE cell is received in the circuit reactor. Context: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4145#note_3430345 Part of #2606
* Version bumps for 2.5.0Nick Mathewson2026-06-301-66/+66
| | | | | | | | | | | | | 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 ```
* deps: upgrade anyhow in 'Cargo.lock'Steven Engler2026-06-291-2/+2
| | | | | | | | | | | | | | | This resolves unsoundness in anyhow (RUSTSEC-2026-0190). https://rustsec.org/advisories/RUSTSEC-2026-0190.html > Affected versions of this crate violate borrow rules, resulting in > undefined behavior, when the user adds context to an error via > `Error::context` and then later calls `Error::downcast_mut` on the > returned `Error`. I don't see us calling `downcast_mut()` on any errors. It's possible something outside of the arti code base is calling it, but I think it's unlikely.
* Add derive-deftly to tor-basic-utilsClara Engler2026-06-241-0/+1
| | | | We will make use of it in the next commit.
* Merge branch 'addr-policy-fix' into 'main'Ian Jackson2026-06-231-0/+1
|\ | | | | | | | | | | | | tor-netdoc: addr policy: Overhaul and fix /0 bug Closes #2589 See merge request tpo/core/arti!4128
| * tor-netdoc: addr policy: Use ipnet instead of open-coding it allIan Jackson2026-06-181-0/+1
| | | | | | | | | | ipnet is a very widely used crate which is already in our dependency stack.
* | Fix RUSTSEC-2026-0186Clara Engler2026-06-231-2/+2
| | | | | | | | | | | | | | | | | | This commit upgrades memmap2 to 0.9.11 in order to fix an unchecked pointer offset in the memmap2 crate. We are not directly affected by this, as `tor-dirmgr`, the only crate making use of this dependency, does not call the affected functions listed on rustsec.org.
* | Merge branch 'tor-dirauth' into 'main'Ian Jackson2026-06-221-0/+15
|\ \ | | | | | | | | | | | | Create dirauth crates (empty) See merge request tpo/core/arti!4122
| * | arti-dirauth: New crate, emptyIan Jackson2026-06-221-0/+8
| | | | | | | | | | | | Let's start this now.
| * | tor-dirauth: New crate, emptyIan Jackson2026-06-221-0/+7
| |/
* / tor-netdoc tests: Test verification of votes, error casesIan Jackson2026-06-221-0/+1
|/
* tor-netdoc: tests: Add regsub utility functionIan Jackson2026-06-171-0/+1
| | | | | We're going to need this for fudges in round trip tests of consensuses etc.
* tor-netdoc: Replace ad-hoc pseudo-diff with unidiff from imraIan Jackson2026-06-111-0/+1
| | | | | | And wrap it up nicely in an assert_eq_or_diff macro. I've tested the output by sabotaging one of the test2 tests.
* tor-cert: Replace duration_since with saturationClara Engler2026-06-111-0/+1
| | | | | | This commit replaces a call to .duration_since(...).expect() with .saturating_duration_since() for defensive programming. We will change code related to it in the next commit.
* Bump derive-deftly to 1.11.3Ian Jackson2026-06-091-4/+4
| | | | New beta semver policy means we should pin the patchlevel.
* proto: Move RateLimitedWriter to tor-async-utilsDavid Goulet2026-06-081-1/+7
| | | | Signed-off-by: David Goulet <[email protected]>
* proto: Move TokenBucket to tor-basic-utilsDavid Goulet2026-06-081-0/+1
| | | | Signed-off-by: David Goulet <[email protected]>
* Bump filetime to 0.2.29Gabriela Moldovan2026-06-031-22/+3
| | | | Closes #2562
* dirserver,netdoc: Upgrade to the latest saturating-timeGabriela Moldovan2026-06-031-2/+2
|
* arti: Bump the versions of our opentelemetry depsGabriela Moldovan2026-06-031-21/+17
| | | | Part of #2559
* Merge branch 'cargo-update' into 'main'Alexander Hansen Færøy2026-06-021-182/+182
|\ | | | | | | | | Run routine cargo update See merge request tpo/core/arti!4045
| * Downgrade filetime to 0.2.27Gabriela Moldovan2026-06-021-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, the shadow integration tests fail because `touch_instance_dir()` isn't able to set the mtime on the state dir: ``` Err(Error { source: IoError(Os { code: 14, kind: Uncategorized, message: "Bad address" }), action: Initializing, resource: Directory { dir: "./hss/tgen_hs" } }) ``` I suspect switching to the stblib implementation of these functions in https://github.com/alexcrichton/filetime/pull/121 is what broke things for us. The new implementation calls into rust's `set_times()` impl, which calls the `utimensat64` libc function under the hood. I suspect the underlying syscall used by this function is not supported by shadow.
| * Run routine cargo updateGabriela Moldovan2026-06-021-201/+182
| | | | | | | | Part of #2599
* | tor-chanmgr: Add metrics.Wesley Aptekar-Cassels2026-06-021-0/+1
|/ | | | | | This adds a structure to initialize metrics when the `ChanMgr` is created, and adds a counter for the total number of channels built, broken down by success and failure.
* 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.