summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
* release: Run `cargo update` in the root.Alexander Hansen Færøy2025-06-051-290/+331
|
* release: Bump arti to 1.4.4.Alexander Hansen Færøy2025-06-051-1/+1
| | | | | | This was done using: cargo set-version --bump patch -p arti
* release: Bump all tor-/arti- crates to 0.31.0.Alexander Hansen Færøy2025-06-051-46/+46
| | | | | | | | This was done using: for crate in $(./maint/list_crates | grep -P '^tor-|^arti-'); do cargo set-version -p $crate 0.31.0 done
* release: Bump crates non-arti/non-tor crates with functional changes.Alexander Hansen Færøy2025-06-051-10/+10
| | | | | | | | This is done using: cargo set-version --bump patch -p fs-mistrust cargo set-version --bump patch -p equix cargo set-version --bump patch -p fslock-guard
* Merge branch 'pow-manager' into 'main'wesleyac2025-05-271-0/+7
|\ | | | | | | | | Service side Proof-of-Work See merge request tpo/core/arti!2697
| * tor-hsservice: Make PowManager persist state.Wesley Aptekar-Cassels2025-05-271-0/+5
| |
| * tor-hsservice: Initial parts of PowManager.Wesley Aptekar-Cassels2025-05-271-0/+2
| | | | | | | | | | | | | | This adds PowManager, as described in doc/dev/notes/service-side-pow.md, hooks it into IptManager and Publisher, and adds code to publish and rotate seeds, and to keep a updated list of Verifier instances for currently active seeds.
* | proto: remove unused cpu_time dev-dependencyLionel Goffaux2025-05-221-12/+1
|/
* proto: change bench measurementLionel Goffaux2025-05-131-0/+11
|
* arti: test: Refactor arti integration testhjrgrn2025-05-121-0/+62
| | | | | | | * arti: test: Restructure tests directory * arti: dep: Add assert_cmd dev-dependency * arti: test: Update README * doc: Fix hsc documentation
* protover: New `NumberedSubver` to represent a subprotocol capNick Mathewson2025-05-071-0/+2
| | | | | This type differs from `NamedSubver` in that the represented subprotocol capability isn't necessarily recognized or valid.
* release: Update Cargo.lock files.Wesley Aptekar-Cassels2025-05-011-27/+27
|
* release: Bump arti to 1.4.3.Wesley Aptekar-Cassels2025-05-011-1/+1
| | | | | | ``` cargo set-version --bump patch -p arti ```
* release: Bump all unstable tor/arti crates to 0.30.0Wesley Aptekar-Cassels2025-05-011-46/+46
| | | | | | | | ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.30.0 done ```
* Update rand requirement to 0.9.1Nick Mathewson2025-04-291-31/+30
| | | | | (This is going to be a _requirement_, since rand 0.9.1 has a behavioral change from 0.9.0)
* Run cargo update.Wesley Aptekar-Cassels2025-04-291-251/+161
| | | | | I updated everything except rand, because the new version of rand interacts with #1903, thus requiring more care.
* Upgrade dependencies.Wesley Aptekar-Cassels2025-04-291-3/+3
| | | | | | | | | | | | | | | | Updates: * hashlink 0.9.1 -> 0.10.0 * Updates hashbrown * metrics-exporter-prometheus 0.16.2 -> 0.17.0 * Bumps deps * Minor API change Not updated: * rusqlite, due to MSRV incompatibility * educe (#1257) * hickroy-proto (https://github.com/hickory-dns/hickory-dns/issues/2956)
* proto: Implement CGO functions ET and PRFNick Mathewson2025-04-291-0/+31
| | | | | | | These are a tweakable block cipher, and a pseudorandom byte stream. This commit includes test vectors, which were generated from the Python reference implementation and confirmed with a less optimized Rust implementation.
* Replace signal-hook-async-std with async-signal to fix RUSTSEC-2024-0384Vijaya Bhaskar2025-04-261-180/+26
|
* tor-proto: only use congestion control if "flowctl-cc" feature is enabledSteven Engler2025-04-231-0/+1
| | | | | | | Congestion control is not completely working correctly, and is not fully implemented (XON/XOFF). This commit adds a new experimental "flowctl-cc" feature to enable the congestion control extension during the ntor-v3 handshake.
* Merge branch 'proto_enforce' into 'main'Nick Mathewson2025-04-221-0/+9
|\ | | | | | | | | | | | | Enforce recommended and required protocol versions in arti-client Closes #1849 and #1923 See merge request tpo/core/arti!2929
| * arti-client: Small test for evaluating protocol status.Nick Mathewson2025-04-161-0/+2
| |
| * arti-client: Keep a somewhat accurate notion of our release date.Nick Mathewson2025-04-161-0/+1
| | | | | | | | | | | | | | | | | | This doesn't need to be perfect, but we need to use it to see if a consensus is new enough that we should obey its recommendations. This commit also adds a script to update or check our release date, and calls this script from our cargo-publish script.
| * dirmgr: Backend support for cacheing protocol status.Nick Mathewson2025-04-161-0/+1
| | | | | | | | | | | | | | We want to store this separately from the consensus, because we want to access it very early in our load-from-cache process, without checking the consensus that contains it for timeliness.
| * protover,netdoc: Implement serde for Protocols etc.Nick Mathewson2025-04-161-0/+1
| |
| * New functions to report supported subprotocolsNick Mathewson2025-04-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #1849. Note that these functions are distributed across crates, so that if (in the future) we stop doing API breaks with every release, we will get the right outputs. Note also that these functions build the list of protocols out of specific symbolic features, rather than numbers: this makes it easier to avoid errors about "which feature was Relay=4 again", and easier to avoid accidentally referring to a protocol that doesn't exist, like "Consensus" (should be "Cons") or "HsDir" (case is wrong).
* | tor-events: Removed once_cell dependencyhashcatHitman2025-04-171-1/+0
| | | | | | | | | | - [`once_cell::sync::OnceCell`] has been replaced by [`std::sync::OnceLock`], removing the need for the once_cell dependency.
* | tor-geoip: Removed once_cell dependencyhashcatHitman2025-04-171-1/+0
|/ | | | | - [`once_cell::sync::OnceCell`] has been replaced by [`std::sync::OnceLock`], removing the need for the `once_cell` dependency.
* Remove hsc quiet and force flags in favor of batchhjrgrn2025-04-141-45/+0
|
* Merge branch '1519-integration-or-example-with-ureq' into 'main'Ian Jackson2025-04-091-2/+260
|\ | | | | | | | | arti-ureq: New library which integrates with ureq See merge request tpo/core/arti!2724
| * arti-ureq: New library which integrates with ureqnield2025-04-091-2/+260
| | | | | | | | Fixes #1519
* | Update crossbeam-channel to 0.5.15 to fix cargo auditIan Jackson2025-04-091-2/+2
|/ | | | 0.5.14 is yanked. I am trying to find out why...
* metrics: arti: Reduce features on metrics-exporter-prometheusIan Jackson2025-04-081-66/+2
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185869
* tor-hsrproxy: Export a connection count metricIan Jackson2025-04-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This proves the concept. Many more metrics will need to be added throughout the codebase. With this compiled in and enabled, I see this with curl: > ``` > # TYPE arti_hss_proxy_connections_failed_total counter > arti_hss_proxy_connections_failed_total{nickname="ztest",action="destroy_circuit"} 0 > arti_hss_proxy_connections_failed_total{nickname="ztest",action="ignore_stream"} 0 > arti_hss_proxy_connections_failed_total{nickname="ztest",action="forward"} 0 > arti_hss_proxy_connections_failed_total{nickname="ztest",action="reject_stream"} 0 > > # TYPE arti_hss_proxy_connections_total counter > arti_hss_proxy_connections_total{nickname="ztest",action="reject_stream"} 0 > arti_hss_proxy_connections_total{nickname="ztest",action="forward"} 1 > arti_hss_proxy_connections_total{nickname="ztest",action="destroy_circuit"} 0 > arti_hss_proxy_connections_total{nickname="ztest",action="ignore_stream"} 0 > > # TYPE arti_hss_proxy_connections_ok_total counter > arti_hss_proxy_connections_ok_total{nickname="ztest",action="destroy_circuit"} 0 > arti_hss_proxy_connections_ok_total{nickname="ztest",action="reject_stream"} 0 > arti_hss_proxy_connections_ok_total{nickname="ztest",action="ignore_stream"} 0 > arti_hss_proxy_connections_ok_total{nickname="ztest",action="forward"} 1 > ```
* arti: Optionally set up a Prometheus metrics exporterIan Jackson2025-04-081-2/+191
| | | | | | | | | | | | | New cargo feature `metrics`, currently experimental. New config option `metrics.prometheus.listen`. Uses standard `Listen` syntax, but not every configuration is supported due to upstream limitations. If the config option is set, use metrics-exporter-prometheus to offer an HTTP scrape endpoint. Or, if compiled out, fail. Currently there are no actual metrics exported at all.
* Run "cargo update" to fix cargo-audit issuesNick Mathewson2025-04-071-88/+80
| | | | | | | | | | | | | | | | | | The issues were in: deranged 0.4.1: - yanked - (Issue was a compatibility-break, not security: https://github.com/jhpratt/deranged/issues/21) tokio 1.44.1: - RUSTSEC-2025-0023 - (I believe we're okay, since we don't use tokio's broadcast channel) openssl 0.10.71 - RUSTSEC-2025-0022 - (We do not appear to use the affected APIs.)
* Bump arti crate to 1.4.2Gabriela Moldovan2025-03-311-1/+1
| | | | | | | | Done using: ``` cargo set-version --bump patch -p arti ```
* Bump all the unstable tor- and arti- crates to 0.29.0.Gabriela Moldovan2025-03-311-45/+45
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.29.0 done ```
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2025-03-311-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list_crates | rg -v '^(tor|arti)' oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error ``` We split them in the following categories: * crates with no changes (no version bumps): ``` maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-' oneshot-fused-workaround: No change. slotmap-careful: No change. fslock-guard: No change. caret: No change. retry-error: No change. ``` * crates that only have non-functional changes (bump the patch version): - test-temp-dir - equix - fs-mistrust - safelog * crates where APIs were broken (bump minor): - hashx (`RngCore` impl for `SipRand`) The bumps from this commit were created using this script: ``` PATCH=" test-temp-dir equix fs-mistrust safelog " for crate in $PATCH; do cargo set-version --bump patch -p $crate; done MINOR=" hashx " for crate in $MINOR; do cargo set-version --bump minor -p $crate; done ```
* Run cargo update in preparation for release.Gabriela Moldovan2025-03-271-405/+465
|
* Upgrade getrandom dependency to 0.3.2Gabriela Moldovan2025-03-271-15/+19
| | | | | | | | | The `js` feature was replaced by a configuration flag in [0.3.0], so I've checked in a `.cargo/config.toml` for `tor-llcrypto` and `tor-bytes` with `RUSTFLAGS` for selecting the `getrandom` backend to use on wasm32. [0.3.0]: https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md#030---2025-01-25
* Upgrade rustls-wekpki dependency to 0.103.1.Gabriela Moldovan2025-03-271-2/+13
| | | | | | We aren't affected by any of the breaking changes from [0.103.0]. [0.103.0]: https://github.com/rustls/webpki/releases/tag/v%2F0.103.0
* Upgrade strum dependency to 0.27.1.Gabriela Moldovan2025-03-271-36/+14
| | | | | | | | | In 0.27.0, strum's MSRV was bumped to 1.66.1, but that's okay because ours is 1.77. We aren't affected by any of its [breaking changes]. [breaking changes]: https://github.com/Peternator7/strum/blob/master/CHANGELOG.md#0270
* Use CautiousRng for keys going into the KeyMgr.Nick Mathewson2025-03-241-0/+1
|
* llcrypto: new CautiousRng for constructing long-lived keysNick Mathewson2025-03-241-0/+24
| | | | | | This Rng combines inputs from several sources, including OsRng, to minimize the likelihood of falling to a vulnerability in any particular one.
* Merge branch 'named_protovers' into 'main'David Goulet2025-03-201-0/+1
|\ | | | | | | | | | | | | protover: Add support for subprotocol version mnemonics. Closes #1891 See merge request tpo/core/arti!2854
| * protover: Add support for subprotocol version mnemonics.Nick Mathewson2025-03-121-0/+1
| | | | | | | | | | | | | | | | It's error-prone to have to remember e.g. that "Desc=5" means "family ID support", so in torspec!251 we added mnemonic names like DESC_FAMILY_IDS. Here we use those names in tor-protover.
* | llcrypto: add an rng compatibility shim for dalek-cryptoNick Mathewson2025-03-181-0/+1
| | | | | | | | | | | | | | | | | | dalek-cryptography is still on rand 0.8, so we need a compatibility shim for the Rng. Fortunately, since we merged interface-abstraction-of-the-daleks (!2868), we no longer need to propagate this compatibility layer throughout our codebase.
* | Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-58/+108
| | | | | | | | | | | | (Per discussion at #1774, we think the changes are acceptable.) This commit won't compile on its own; subsequent commits will fix it.
* | netdoc: Reject BOMs and NULs.Nick Mathewson2025-03-171-0/+1
|/ | | | | | | | | | | | Per <https://spec.torproject.org/dir-spec/netdoc.html>, our netdocs never have a BOM, and never have internal NULs. This makes Arti reject such documents. For arguments on why it's okay to increase parser strictness, see the (forthcoming) proposal 356 at torspec!342, and see older discussion at torspec#296. Closes #1739.