summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | arti: resolve a variant-size-difference warning.Nick Mathewson2025-05-152-2/+2
| | | |
| * | | rtmock: use Option::replace instead of mem::replaceNick Mathewson2025-05-151-8/+6
| | | | | | | | | | | | | | | | | | | | Option::replace has been around since 1.31, but the clippy warning is new.
| * | | proto: temporarily suppress warning; see #2003.Nick Mathewson2025-05-152-2/+3
| | | |
| * | | netdir: fix warning about an opportunity to use saturating_subNick Mathewson2025-05-151-5/+1
| | | |
| * | | guardmgr: Fix clippy warning about needlessly owned cow.Nick Mathewson2025-05-151-1/+1
|/ / /
* | | Merge branch 'conflux-mutable-state-2' into 'main'gabi-2502025-05-1513-99/+351
|\ \ \ | | | | | | | | | | | | | | | | tor-proto: Adapt MutableState to work with multipath circuits See merge request tpo/core/arti!2996
| * | | tor-proto: Future-proof some comments about path_ref() errors.Gabriela Moldovan2025-05-151-2/+2
| | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2996#note_3199590
| * | | tor-proto: Return Error::Protocol if ClientCirc accessors return an error.Gabriela Moldovan2025-05-151-32/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `ClientCirc` accessors will only return an error if the underlying circuit is closed, so it doesn't make sense to map these errors to `Bug`. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2996#note_3199072 and https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2996#note_3199073
| * | | tor-proto: Make TunnelMutableState docs link to MutableState.Gabriela Moldovan2025-05-151-11/+3
| | | | | | | | | | | | | | | | | | | | These `TunnelMutableState` impls just delegate to `MutableState`, so we might as well link to the corresponding docs.
| * | | tor-proto: Add note about raciness of last_hop_num.Gabriela Moldovan2025-05-151-0/+15
| | | |
| * | | tor-proto: Add TODO about possibly replacing LegIdKey with UniqId.Gabriela Moldovan2025-05-151-0/+3
| | | |
| * | | tor-proto: Remove the CircuitSharedState type alias.Gabriela Moldovan2025-05-151-6/+2
| | | | | | | | | | | | | | | | Hiding the underlying type makes the code less readable.
| * | | tor-proto: Clarify the MutableState::path() docs.Gabriela Moldovan2025-05-151-1/+1
| | | |
| * | | tor-proto: Update the TunnelMutableState when a circuit is removed.Gabriela Moldovan2025-05-1511-39/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is messy, because `ClientCirc::{path_ref, n_hops, ..}` become fallible (we can't unwrap the result, because when a circuit is closed, its state gets removed from the `TunnelSharedState`, but its `ClientCirc` handle continues to exist, so any attempt to retrieve the state will result in an `Err`).
| * | | tor-proto: Rework MutableState to work with multi-path circuits.Gabriela Moldovan2025-05-154-31/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now have a new `TunnelSharedState` type for storing the shared state of a tunnel. It consists of the `MutableState`s of all the circuits in the tunnel, which are shared between it and `Circuit` (the circuit subcomponent of the reactor). The `TunnelSharedState` itself is shared between `ConfluxSet` (which manages the `Circuits`), and `ClientCirc` (the reactor handle used to access information about circuits, such as their `Path`).
| * | | tor-proto: Add From<LegIdKey> impl for LegId.Gabriela Moldovan2025-05-151-0/+6
| | | | | | | | | | | | | | | | This will simplify some callsites.
| * | | tor-proto: Encapsulate MutableState operations inside impl.Gabriela Moldovan2025-05-153-42/+66
| | | | | | | | | | | | | | | | | | | | Not locking the `MutableState` mutex outside of this impl makes it easier to see it's currently impossible deadlock.
| * | | tor-proto: Rename MutableState to CircuitState.Gabriela Moldovan2025-05-153-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | This renaming is in preparation for the addition of a newtype wrapper for what used to be `Mutex<MutableState>`. That newtype wrapper will be called `MutableState`.
| * | | tor-proto: Make the MutableState internals private.Gabriela Moldovan2025-05-152-5/+18
|/ / /
* | | Merge branch 'remove-deprecated' into 'main'gabi-2502025-05-152-48/+13
|\ \ \ | | | | | | | | | | | | | | | | tor-proto: Remove deprecated ClientCirc functions. See merge request tpo/core/arti!2995
| * | | tor-proto: Remove deprecated ClientCirc functions.Gabriela Moldovan2025-05-152-48/+13
| | | | | | | | | | | | | | | | | | | | | | | | These functions have been deprecated for a while, and are now complicating the `MutableState` changes we need to do for #1840, so it seems like a good time to remove them.
* | | | Merge branch 'fix-msrv-todo' into 'main'opara2025-05-154-23/+6
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-linkspec,tor-basic-utils: Remove deprecated `empty_iterator()` method See merge request tpo/core/arti!3001
| * | | tor-basic-utils: reword `semver.md` entrySteven Engler2025-05-151-1/+4
| | | |
| * | | tor-linkspec,tor-basic-utils: remove deprecated `empty_iterator()` methodSteven Engler2025-05-144-23/+3
|/ / / | | | | | | | | | | | | | | | This method has always been deprecated, so it's not a big deal to remove. It can be replaced with the corresponding iterators's `Default` implementation.
* | | Merge branch 'proto-change-bench-neasurement' into 'main'Nick Mathewson2025-05-1415-199/+158
|\ \ \ | | | | | | | | | | | | | | | | tor-proto: change bench measurement See merge request tpo/core/arti!2998
| * | | Doc: Add documentation about how to run Criterion benchmarksLionel Goffaux2025-05-141-0/+45
| | | |
| * | | proto: use consts for bench throuputsLionel Goffaux2025-05-1410-16/+25
| | | |
| * | | proto: fix doc mismatch in benchmarksLionel Goffaux2025-05-142-2/+2
| | | |
| * | | proto: fix doc typosLionel Goffaux2025-05-149-11/+11
| | | |
| * | | proto: change bench measurementLionel Goffaux2025-05-1311-190/+95
| |/ /
* | | Merge branch 'msrv-1.83' into 'main'gabi-2502025-05-1471-80/+74
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Update MSRV to 1.83; bump gitlab-ci recent-image to 1.86. Closes #1869 See merge request tpo/core/arti!2999
| * | gitlab-ci.yml: Update "RECENT_RUST_IMAGE" to 1.86.Nick Mathewson2025-05-131-1/+1
| | |
| * | Update readme: MSRV is 1.83Nick Mathewson2025-05-131-1/+1
| | |
| * | Resolve clippy warnings from 1.83Nick Mathewson2025-05-137-15/+9
| | | | | | | | | | | | | | | Now that our MSRV is 1.83, clippy is happy to make more recommendations for us.
| * | All crates: bump rust-version to 1.83.Nick Mathewson2025-05-1362-62/+62
| | |
| * | gitlab-ci: bump minimal-versions test to 1.83.Nick Mathewson2025-05-131-1/+1
| | |
* | | Merge branch 'integration-test-refactoring' into 'main'gabi-2502025-05-127-3/+219
|\ \ \ | |/ / |/| | | | | | | | arti: test: Refactor arti integration test See merge request tpo/core/arti!2955
| * | arti: test: Refactor arti integration testhjrgrn2025-05-127-3/+219
|/ / | | | | | | | | | | | | * arti: test: Restructure tests directory * arti: dep: Add assert_cmd dev-dependency * arti: test: Update README * doc: Fix hsc documentation
* | Merge branch 'proto-extend-benchmarks' into 'main'Nick Mathewson2025-05-0916-338/+994
|\ \ | | | | | | | | | | | | tor-proto: extend benchmarks for CGO See merge request tpo/core/arti!2993
| * | proto: use of Aes{128,256}{Dec,Enc} in the benchmarksLionel Goffaux2025-05-086-24/+24
| | |
| * | proto: fix name mismatch in the bench utils docLionel Goffaux2025-05-083-10/+10
| | |
| * | proto: fix typo s(t)ateLionel Goffaux2025-05-086-15/+15
| | |
| * | proto: extend benchmarksLionel Goffaux2025-05-0816-338/+994
| | |
* | | Merge branch 'repro-build-1.86' into 'main'David Goulet2025-05-083-16/+6
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Update reproducible builds to use Rust 1.86 Closes #1335 See merge request tpo/core/arti!2992
| * | Note a lingering mystery in reproduible_buildNick Mathewson2025-05-071-0/+3
| | |
| * | Remove MSRV-1.77 workarounds in reproducible_build script.Nick Mathewson2025-05-071-13/+0
| | | | | | | | | | | | | | | Since it's using 1.86 now, there's no reason to downgrade these packages.
| * | reproducible_build: use osxcross darwin linker with stdc++Nick Mathewson2025-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After upgrading to rust:1.86.0-alpine3.21, we got a new error: ``` osxcross: error: cannot find libc++ headers ``` To fix this, we change the linker to `x86_64-apple-darwin16-clang++-stdc++`. This invokes some osxcross magic that tells it to find the C++ headers in the stdc++ location... and possibly more.
| * | Use rust:1.86-alpine-3.21 for reproducible builds.Nick Mathewson2025-05-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is sufficient to stop the osxcross errors ``` error: no member named 'lseek64' in the global namespace ``` that we encountered on our earlier attempt to increase our MSRV. Closes #1335.
* | | Merge branch 'cgo_counter_0xC0' into 'main'Nick Mathewson2025-05-075-152/+150
|\ \ \ | |/ / |/| | | | | | | | proto: Clear low 6 bits of counter in CGO PRF. See merge request tpo/core/arti!2988
| * | Use simpler way to refer to last byte of tag.Nick Mathewson2025-05-071-1/+1
| | |