aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | proto: Fix inverted cert sig and AUTHENTICATE compareDavid Goulet2026-06-022-5/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Missed at review and no unit tests at the time catched those. The next commit has a unit tests to make sure these checks are now valid. Fixes #2501 Fixes #2502 Special thanks to Moumen Alaoui for reporting this early! Signed-off-by: David Goulet <[email protected]>
* | | Merge branch 'client_bootstrap_ctd' into 'main'gabi-2502026-06-022-4/+101
|\ \ \ | | | | | | | | | | | | | | | | client: Reflect manually disabled bootstrap in status See merge request tpo/core/arti!4047
| * | | client: Reflect manually disabled bootstrap in statusNick Mathewson2026-06-022-4/+101
| |/ / | | | | | | | | | | | | If we have made bootstrapping manual, and not launched a bootstrap, we now reflect this as the reason that bootstrapping is blocked.
* | | Merge branch 'chanmgr-metrics' into 'main'wesleyac2026-06-028-10/+251
|\ \ \ | | | | | | | | | | | | | | | | tor-chanmgr: Add metrics. See merge request tpo/core/arti!4018
| * | | tor-chanmgr: Add doccomments and fix typo.Wesley Aptekar-Cassels2026-06-022-2/+4
| | | |
| * | | tor-chanmgr: Refactor metrics code slightly.Wesley Aptekar-Cassels2026-06-022-194/+161
| | | |
| * | | tor-chanmgr: Split out channels built error metrics.Wesley Aptekar-Cassels2026-06-022-7/+206
| | | |
| * | | tor-chanmgr: Separate inbound/outbound channel metrics.Wesley Aptekar-Cassels2026-06-022-8/+10
| | | |
| * | | metrics: Add descriptions and units for existing metrics.Wesley Aptekar-Cassels2026-06-021-5/+29
| | | |
| * | | Upgrade metrics to 0.24.6.Wesley Aptekar-Cassels2026-06-023-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This fixes the minimal-versions test, since the new code in chanmgr sets descriptions for the metrics, which is a feature not supported by the previous version.
| * | | tor-chanmgr: Add metrics.Wesley Aptekar-Cassels2026-06-025-3/+50
|/ / / | | | | | | | | | | | | | | | 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.
* | | Merge branch 'netdoc-docs-ordering' into 'main'Clara Engler2026-06-022-9/+8
|\ \ \ | |/ / |/| | | | | | | | tor-netdoc: Internal docs improvements See merge request tpo/core/arti!4044
| * | tor-netdoc: ns_variety_definition_macros: Use coherent orderingIan Jackson2026-06-021-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | At some earlier point in the development of this scheme, the ordering was different (as it is in poc). Update all the references in the docs, to the various varieties, so that they are always plain, md, vote, like ns_type! et al take.
| * | tor-netdoc: ns_variety_definition_macros: Minor grammar fixIan Jackson2026-06-021-1/+1
| | |
| * | tor-netdoc: Remove a TODO that we've doneIan Jackson2026-06-021-1/+0
|/ / | | | | | | We do now support encoding.
* | Merge branch 'minor-doc-fix' into 'main'gabi-2502026-06-021-1/+1
|\ \ | | | | | | | | | | | | proto: Fix typo in ResolveCmdChecker docs See merge request tpo/core/arti!4035
| * | proto: Fix typo in ResolveCmdChecker docsGabriela Moldovan2026-05-281-1/+1
| | | | | | | | | | | | This returns a boxed `ResolveCmdChecker`, not a `DataCmdChecker`.
* | | Merge branch 'relay-platform-improvements' into 'main'Clara Engler2026-06-022-24/+56
|\ \ \ | | | | | | | | | | | | | | | | Improvements for RelayPlatform See merge request tpo/core/arti!4024
| * | | tor-netdoc: Add spec link for RelayPlatformClara Engler2026-06-021-0/+3
| | | |
| * | | tor-netdoc: Round-trip test for RelayPlatform encodingClara Engler2026-06-021-0/+7
| | | |
| * | | tor-netdoc: Implement Display for RelayPlatformClara Engler2026-06-022-0/+12
| | | |
| * | | tor-netdoc: Store platform of TorVersion in Option (fmt)Clara Engler2026-06-021-1/+3
| | | | | | | | | | | | | | | | No functional change, just rustfmt.
| * | | tor-netdoc: Store platform of TorVersion in OptionClara Engler2026-06-022-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes RelayPlatform::TorVersion to store the platform to an Option<String> instead of a String because storing a missing/not present platform as the empty String feels wrong in my opinion. Besides, we will soon need to add encoding for this type, making now a good time to change it.
| * | | tor-netdoc: Refactor RelayPlatform testsClara Engler2026-06-021-21/+28
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactors the RelayPlatform test to store the test vectors in an array and iterate over it, comparing it with the expected output. This is a lot better than the current version, where there is not just a lot of copy and pasted code but also some tests that only check for an okay value. Unfortunately, there is not an easy way to review this with --color-moved or something. Personally, I would recommend to review each original test vector (i.e. a line starting with `let p =` followed by a string literal) and verify that the exact same string literal is still present within the new test vector. Afterwards, verifying the assertion logic should be easy, as it is a one-liner.
* | | Merge branch 'debug-weights' into 'main'Jim Newsome2026-06-011-9/+17
|\ \ \ | |_|/ |/| | | | | | | | NetDir::pick_relay: preemptively handle empty sequence See merge request tpo/core/arti!4034
| * | NetDir::pick_relay: preemptively handle empty sequenceJim Newsome2026-05-271-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `choose_weighted` behavior given an empty sequence isn't well documented and has changed over time. Handle it ourselves for consistency. Currently, the `choose_weighted` behavior appears to be to return WeightError::InvalidInput. This means the corresponding `is_empty` branch when handling WeightError::InsufficientNonZero was never exercised. (Though may have been with previous versions of the rand crate).
* | | Merge branch 'rm-semver' into 'main'gabi-2502026-06-019-66/+0
|\ \ \ | | | | | | | | | | | | | | | | Remove semver.md files post-release See merge request tpo/core/arti!4041
| * | | Remove semver.md files post-releaseGabriela Moldovan2026-06-019-66/+0
|/ / /
* | | Merge branch '2.4.0-bumps' into 'main'arti-v2.4.0gabi-2502026-06-0172-765/+853
|\ \ \ | | | | | | | | | | | | | | | | Version bumps for the 2.4.0 release See merge request tpo/core/arti!4039
| * | | Bump arti crate to 2.4.0Gabriela Moldovan2026-06-014-4/+4
| | | |
| * | | Bump all the unstable tor- and arti- crates to 0.43.0Gabriela Moldovan2026-06-0166-611/+611
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done using: ``` for crate in $(./maint/list-crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.43.0 done ```
| * | | Run cargo update for {hashx,equix}/benchGabriela Moldovan2026-06-012-125/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done using ``` (cd crates/hashx/bench && cargo update) (cd crates/equix/bench && cargo update) ```
| * | | Bump the versions of the non-{arti-,tor-} cratesGabriela Moldovan2026-06-0118-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'changelog-2.4.0' into 'main'gabi-2502026-06-011-0/+298
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Add changelog for 2.4.0 See merge request tpo/core/arti!4038
| * | | | CHANGELOG.md: Document more breaking changesGabriela Moldovan2026-06-011-0/+7
| | | | |
| * | | | Add changelog for 2.4.0Gabriela Moldovan2026-06-011-0/+291
| |/ / /
* | | | Merge branch 'release-date-2.4.0' into 'main'gabi-2502026-06-011-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Update release date See merge request tpo/core/arti!4040
| * | | Update release dateGabriela Moldovan2026-06-011-1/+1
|/ / /
* | | Merge branch 'rd-certs' into 'main'Clara Engler2026-06-012-18/+37
|\ \ \ | | | | | | | | | | | | | | | | Use EmbeddedCert for identity_ed25519 in RouterDesc See merge request tpo/core/arti!4003
| * | | tor-netdoc: Use spec comment for identity-ed25519Clara Engler2026-06-011-2/+1
| | | |
| * | | tor-netdoc: Small spelling fixClara Engler2026-06-011-1/+1
| | | |
| * | | tor-netdoc: Fix RouterDesc::ed_identity expect msgClara Engler2026-06-011-1/+1
| | | |
| * | | tor-netdoc: Store identity_ed25519 in EmbeddedCert logic (fmt)Clara Engler2026-06-011-1/+2
| | | | | | | | | | | | | | | | Just rustfmt.
| * | | tor-netdoc: Store identity_ed25519 in EmbeddedCert logicClara Engler2026-06-012-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the tpye of `RouterDesc::identity_ed25519` to be of EmbeddedCert. Using the inner keys as the verified values is fine because the legacy parser continues to verify the legacy cert, as it extracts its timestamp and signature to the Vec it verifies in the end.
| * | | tor-netdoc: Extract KeyUnknownCert for identity cert (fmt)Clara Engler2026-06-011-8/+6
| | | | | | | | | | | | | | | | Just rustfmt.
| * | | tor-netdoc: Extract KeyUnknownCert for identity certClara Engler2026-06-011-4/+17
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | This commit modifies the legacy parser code in an ugly way to also return a copy of the KeyUnknown certificate, which will be required for an EmbeddedCert<> construction. This is not nice but unavoidable in a setup that makes use of the self-consuming tor_cert certificate chain, like the legacy parser code.
* | | Merge branch 'rd-extract-id-key' into 'main'Clara Engler2026-06-012-2/+12
|\ \ \ | | | | | | | | | | | | | | | | tor-netdoc: Add master-key-ed25519 See merge request tpo/core/arti!4002
| * | | tor-netdoc: Add master-key-ed25519Clara Engler2026-06-012-2/+12
|/ / /
* | | Merge branch 'fixup-feats' into 'main'gabi-2502026-06-013-7/+11
|\ \ \ | | | | | | | | | | | | | | | | Run fixup-features in preparation for release See merge request tpo/core/arti!4037
| * | | arti-relay: Make the metrics feature non-experimentalGabriela Moldovan2026-06-011-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maint/fixup-features` was complaining that `metrics` was reachable from `full` and also `__is_experimental`. I'm making `metrics` a non-experimental feature, because the whole of `arti-relay` is experimental (so there is really no need mark any of its individual features as experimental right now).