summaryrefslogtreecommitdiff
path: root/crates/tor-proto/Cargo.toml
Commit message (Collapse)AuthorAgeFilesLines
* release: Bump versions.Wesley Aptekar-Cassels2025-10-021-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we've updated our MSRV, we must bump the minor version for every package. This was done as follows: cargo set-version -p arti 1.6.0 cargo set-version -p oneshot-fused-workaround 0.4.0 cargo set-version -p slotmap-careful 0.4.0 cargo set-version -p test-temp-dir 0.5.0 cargo set-version -p fslock-guard 0.4.0 cargo set-version -p hashx 0.5.0 cargo set-version -p equix 0.4.0 cargo set-version -p caret 0.7.0 cargo set-version -p fs-mistrust 0.12.0 cargo set-version -p safelog 0.6.0 cargo set-version -p retry-error 0.8.0 xargs -I P <<END cargo set-version -p P 0.35.0 tor-basic-utils tor-error tor-general-addr tor-geoip tor-rtcompat tor-rtmock tor-async-utils tor-config tor-config-path tor-rpc-connect tor-log-ratelim tor-rpcbase tor-memquota tor-units tor-llcrypto tor-bytes tor-protover tor-checkable tor-cert tor-key-forge tor-hscrypto tor-socksproto tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-persist tor-keymgr tor-chanmgr tor-ptmgr tor-dircommon tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-dirserver tor-hsclient tor-hsservice tor-hsrproxy tor-relay-crypto arti-client arti-relay arti-rpcserver arti-ureq arti-rpc-client-core END
* proto: Experimental API to install a circuit padder at a hop.Nick Mathewson2025-09-151-0/+2
| | | | | | | | | | | | For now, we're not going to implement hop negotiation: we're still waiting to find a set of padding machines that will be useful for Arti. This API will help facilitate experimentation to find such padding machines. These APIs are under a separate feature (`circ-padding-manual`) to avoid confusing them with the rest of the padding code: we only want them to be exported when the researcher wants to manually install circuit padding.
* tor-proto: simplify `StreamFlowCtrlEnum` with `enum_dispatch`Steven Engler2025-09-101-0/+1
|
* Merge branch 'msrv-1.85.1' into 'main'Nick Mathewson2025-09-091-1/+1
|\ | | | | | | | | | | | | Bump MSRV from 1.85 to 1.85.1 Closes #2107 See merge request tpo/core/arti!3240
| * Bump MSRV from 1.85 to 1.85.1Nick Mathewson2025-09-091-1/+1
| | | | | | | | Closes #2107
* | Require maybenot 2.2.1 for MSRV fix.Nick Mathewson2025-09-091-1/+1
| |
* | Require maybenot 2.2.0 for paddingNick Mathewson2025-09-081-1/+1
|/ | | | | It cleans up and changes a few things. Changelog at https://github.com/maybenot-io/maybenot/blob/main/crates/maybenot/CHANGELOG.md
* proto: Define a new composable SinkBlocker type.Nick Mathewson2025-09-041-0/+1
| | | | | | | | This type wraps a futures::Sink, and allows it to be temporarily blocked and unblocked. I'm going to use this to implement padding-based circuit blocking, according to the designs in !3225.
* Define and implement a backend padding API, based on maybenot.Nick Mathewson2025-09-021-1/+4
| | | | | | | | There are incomplete pieces, marked with "TODO circpad". There is no integration into the circuit reactor code yet. Part of #63
* Update to derive-deftly 1.3.0Ian Jackson2025-09-021-1/+1
|
* Bump the minor version of every published crate except for `arti`.Nick Mathewson2025-08-281-23/+23
| | | | | | | | Per policy, we bump the minor version of every tor-*, arti-* crate on each release. We have updated our MSRV, so we're treating this as a breaking change for our non-(arti/tor)-prefixed crates too.
* Upgrade to criterion 0.7Nick Mathewson2025-08-271-2/+2
| | | | | | Closes #2026. We can do this now that criterion-cycles-per-byte has also upgraded.
* proto: Add an experimental relay feature.Gabriela Moldovan2025-08-151-0/+2
| | | | | The relay-specific logic, including the new relay tunnel/circuit reactor, will be gated behind this feature.
* Merge branch 'enable-cgo' into 'main'Nick Mathewson2025-08-071-1/+1
|\ | | | | | | | | Enable counter-galois onion negotiation and make it work. See merge request tpo/core/arti!3133
| * proto: Make CGO feature require CCNick Mathewson2025-08-061-1/+1
| | | | | | | | (We can't negotiate the one without the other.)
* | Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-1/+1
|/ | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* Bump to hex-literal 1.0Nick Mathewson2025-08-051-1/+1
| | | | | (We were unable to do this before, since it required a rust version we didn't have.)
* Set MSRV to 1.85.Nick Mathewson2025-08-051-1/+1
|
* Bump version of tor-basic-utilsIan Jackson2025-08-051-1/+1
| | | | This was accidentally omitted from my version bump script.
* Version bumps for 1.4.6Ian Jackson2025-08-051-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made with the following shell script: export CARGO='nailing-cargo -Eu' # Non-functional changes only maint/bump_nodep hashx # Special $CARGO set-version -p arti 1.4.6 # Additional features, no breaking changes, depended on in tree $CARGO set-version -p safelog 0.4.8 # Unconditional bump to 0.33.0 xargs -I P <<END $CARGO set-version -p P 0.33.0 tor-error tor-general-addr tor-geoip tor-rtcompat tor-rtmock tor-async-utils tor-config tor-config-path tor-rpc-connect tor-log-ratelim tor-rpcbase tor-memquota tor-units tor-llcrypto tor-bytes tor-protover tor-checkable tor-cert tor-key-forge tor-hscrypto tor-socksproto tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy tor-relay-crypto arti-client arti-relay arti-rpcserver arti-ureq arti-rpc-client-core END
* Bump derive-deftly to 1.2.0Ian Jackson2025-08-041-1/+1
| | | | No upstream changes that break our code.
* tor-cell: remove `flowctl-cc` feature and make XON/XOFF cells stableSteven Engler2025-07-151-1/+1
| | | | | I don't see any further changes being needed for these types, and it simplifies a lot of future code in tor-proto that uses these types.
* Bump all the unstable tor- and arti- crates to 0.32.0.Gabriela Moldovan2025-07-071-19/+19
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.32.0 done ```
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2025-07-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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): None ``` 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): - oneshot-fused-workaround - slotmap-careful - test-temp-dir - fslock-guard - hashx - equix - caret - safelog - retry-error * crates where APIs were broken (bump minor): - fs-mistrust (the implicit once_cell feature was removed) The bumps from this commit were created using this script: ``` PATCH=" oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret safelog retry-error " for crate in $PATCH; do cargo set-version --bump patch -p $crate; done MINOR=" fs-mistrust " for crate in $MINOR; do cargo set-version --bump minor -p $crate; done ```
* Upgrade to derive-deftly 1.1.0.Gabriela Moldovan2025-07-071-1/+1
| | | | | | I had to also bump `toml` to `0.8.23`, because `toml 0.8.22` is incompatible with `serde_spanned 0.6.9` (which is automatically pulled in because of the d-d upgrade).
* tor-proto: add `Notify{Sender,Receiver}` channelSteven Engler2025-06-231-0/+1
| | | | | | An async notification channel. This uses `postage::watch::{Sender,Receiver}` internally.
* tor-proto: make `visibility` dependency always availableSteven Engler2025-06-161-3/+3
| | | | `RateLimitedWriter` will use this in a future commit.
* tor-proto: Replace LegId/LegIdKey with UniqId.Gabriela Moldovan2025-06-131-0/+1
| | | | Closes #1999
* Merge branch 'criterion-fix-aarch64' into 'main'Nick Mathewson2025-06-091-3/+6
|\ | | | | | | | | | | | | proto: Let benchmarks build correctly on non-intel Closes #2029 See merge request tpo/core/arti!3032
| * Run cargo sort on tor-protoNick Mathewson2025-06-091-7/+15
| |
| * proto: Let benchmarks build correctly on non-intelNick Mathewson2025-06-091-10/+5
| | | | | | | | | | | | | | (criterion-cycles-per-byte, though quite helpful, doesn't work on non-intel CPUs) Closes #2029.
* | tor-cell: add experimental `flowctl-cc` featureSteven Engler2025-06-091-1/+1
|/
* tor-proto: add a `RateLimitedWriter`Steven Engler2025-06-051-0/+1
|
* release: Bump all tor-/arti- crates to 0.31.0.Alexander Hansen Færøy2025-06-051-19/+19
| | | | | | | | This was done using: for crate in $(./maint/list_crates | grep -P '^tor-|^arti-'); do cargo set-version -p $crate 0.31.0 done
* Merge branch 'proto-bench-visibility' into 'main'Nick Mathewson2025-05-271-2/+1
|\ | | | | | | | | tor-proto: use the visibility crate for benchmarks See merge request tpo/core/arti!3010
| * proto: fix bench featuresLionel Goffaux2025-05-271-1/+1
| |
| * proto: remove unused cpu_time dev-dependencyLionel Goffaux2025-05-221-1/+0
| |
* | ./maint/cargo_sort: Run cargo-sort on the entire workspace.Gabriela Moldovan2025-05-271-2/+11
|/ | | | | | | | | | | | | | | | | | | The [latest version] of `cargo-sort` is more opinionated than the previous one, and is now causing the `rust-checks` job to fail on `main`. This commit applies the fixes needed to satisfy the new `cargo-sort` rules. These changes were generated by running `cargo sort --workspace` several times, until `cargo sort --check --workspace` finally succeeded (it couldn't fix all the errors in one go, for some reason). I have omitted the changes `cargo-sort` made to the top-level `Cargo.toml`, to preserve the topological ordering of the workspace members. Closes #2014 [latest version]: https://github.com/DevinR528/cargo-sort/blob/f066ae80e5e6f5c1d8f0e2b8099461dcb97d9656/changelog.md#200
* Merge branch 'proto-change-bench-neasurement' into 'main'Nick Mathewson2025-05-141-0/+1
|\ | | | | | | | | tor-proto: change bench measurement See merge request tpo/core/arti!2998
| * proto: change bench measurementLionel Goffaux2025-05-131-0/+1
| |
* | All crates: bump rust-version to 1.83.Nick Mathewson2025-05-131-1/+1
|/
* proto: extend benchmarksLionel Goffaux2025-05-081-4/+24
|
* tor-proto: Support adding and linking circuits in ConfluxSet.Gabriela Moldovan2025-05-061-0/+1
|
* tor-proto: Enable tor-cell/conflux is conflux is enabled.Gabriela Moldovan2025-05-061-1/+1
|
* release: Bump all unstable tor/arti crates to 0.30.0Wesley Aptekar-Cassels2025-05-011-19/+19
| | | | | | | | ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.30.0 done ```
* chore: Run fixup-features.Wesley Aptekar-Cassels2025-04-301-1/+1
| | | | | | | | | | | | cargo run -p fixup-features -- --exclude examples/ --exclude maint/ Cargo.toml The following features in arti-ureq were manually added to full or marked non-additive: * rustls * native-tls * tokio * async-std
* Update rand requirement to 0.9.1Nick Mathewson2025-04-291-1/+1
| | | | | (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-1/+1
| | | | | I updated everything except rand, because the new version of rand interacts with #1903, thus requiring more care.
* Rename feature cgo => counter-galois-onion.Nick Mathewson2025-04-291-2/+2
|
* proto: Implement CGO functions ET and PRFNick Mathewson2025-04-291-1/+4
| | | | | | | 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.