summaryrefslogtreecommitdiff
path: root/crates/tor-proto
Commit message (Collapse)AuthorAgeFilesLines
* Bump all the unstable tor- and arti- crates to 0.25.0.Gabriela Moldovan2024-12-021-18/+18
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.25.0 done ```
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. test-temp-dir: No change. caret: No change. ``` * crates that only have non-functional changes (bump the patch version): - slotmap-careful - fslock-guard - hashx - equix - fs-mistrust - safelog - retry-error * crates where APIs were broken (bump minor): None The bumps from this commit were created using this script: ``` PATCH=" slotmap-careful fslock-guard hashx equix fs-mistrust safelog retry-error " for crate in $PATCH; do cargo set-version --bump patch -p $crate; done ```
* Fix several Cargo.tomls to satisfy cargo-sort.Gabriela Moldovan2024-12-021-1/+0
|
* tor-proto: Make bench an experimental feature.Gabriela Moldovan2024-12-021-3/+2
| | | | | The `bench` feature is only needed for running the benchmarks, and so it's not covered by semver (much like the `testing` feature).
* Run fixup-features in preparation for release.Gabriela Moldovan2024-12-021-0/+2
|
* tor-proto: Specify which of the 2 senders is used for sending cells.Gabriela Moldovan2024-11-201-1/+1
|
* tor-proto: Fix typo in streammap docs.Gabriela Moldovan2024-11-191-1/+1
|
* cargo: Update `thiserror` to `2`Clara Engler2024-11-121-1/+1
|
* Merge branch 'tor-proto_benchmarks' into 'main'gabi-2502024-11-1111-0/+643
|\ | | | | | | | | tor-proto: Add benchmarks for cell encryption and decryption See merge request tpo/core/arti!2608
| * tor-proto: change the case of the macrosLionel Goffaux2024-11-082-6/+6
| |
| * tor-proto: condition benchmarks to the bench featureLionel Goffaux2024-11-061-0/+4
| |
| * tor-proto: put every bench_utils mod behind the bench featureLionel Goffaux2024-11-064-4/+4
| |
| * tor-proto: add macro for encryption/decryption bench setupLionel Goffaux2024-11-062-96/+47
| |
| * tor-proto: use as_nanos for CpuTimeLionel Goffaux2024-11-061-1/+5
| |
| * tor-proto: change the visibility of the RelayBody inner structLionel Goffaux2024-11-061-1/+1
| |
| * tor-proto: remove inlines attributesLionel Goffaux2024-11-062-4/+0
| |
| * tor-proto: add a bench featureLionel Goffaux2024-11-062-0/+2
| |
| * tor-proto: rename CPUTime to CpuTimeLionel Goffaux2024-11-065-16/+15
| |
| * tor-proto: Add benchmarks for cell encryption and decryptionLionel Goffaux2024-11-0411-0/+687
| |
* | tor-proto: Document RecvWindow::take more accurately.Gabriela Moldovan2024-11-041-2/+2
|/ | | | The docs here seem wrong, so I am updating them.
* Merge branch 'versions' into 'main'Ian Jackson2024-10-301-19/+19
|\ | | | | | | | | Version bumps for release of 1.3.0 See merge request tpo/core/arti!2599
| * Bump minor versions of crates with new APIs/implsIan Jackson2024-10-301-1/+1
| | | | | | | | | | cargo set-version --bump=patch -p slotmap-careful cargo set-version --bump=patch -p safelog
| * Bump unstable tor-* and arti-* crates to 0.24.0Ian Jackson2024-10-301-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cargo set-version -p tor-async-utils 0.24.0 cargo set-version -p tor-basic-utils 0.24.0 cargo set-version -p tor-bytes 0.24.0 cargo set-version -p tor-cell 0.24.0 cargo set-version -p tor-cert 0.24.0 cargo set-version -p tor-chanmgr 0.24.0 cargo set-version -p tor-checkable 0.24.0 cargo set-version -p tor-circmgr 0.24.0 cargo set-version -p tor-config 0.24.0 cargo set-version -p tor-config-path 0.24.0 cargo set-version -p tor-consdiff 0.24.0 cargo set-version -p tor-dirclient 0.24.0 cargo set-version -p tor-dirmgr 0.24.0 cargo set-version -p tor-error 0.24.0 cargo set-version -p tor-general-addr 0.24.0 cargo set-version -p tor-geoip 0.24.0 cargo set-version -p tor-guardmgr 0.24.0 cargo set-version -p tor-hsclient 0.24.0 cargo set-version -p tor-hscrypto 0.24.0 cargo set-version -p tor-hsrproxy 0.24.0 cargo set-version -p tor-hsservice 0.24.0 cargo set-version -p tor-key-forge 0.24.0 cargo set-version -p tor-keymgr 0.24.0 cargo set-version -p tor-linkspec 0.24.0 cargo set-version -p tor-llcrypto 0.24.0 cargo set-version -p tor-log-ratelim 0.24.0 cargo set-version -p tor-memquota 0.24.0 cargo set-version -p tor-netdir 0.24.0 cargo set-version -p tor-netdoc 0.24.0 cargo set-version -p tor-persist 0.24.0 cargo set-version -p tor-proto 0.24.0 cargo set-version -p tor-protover 0.24.0 cargo set-version -p tor-ptmgr 0.24.0 cargo set-version -p tor-relay-crypto 0.24.0 cargo set-version -p tor-relay-selection 0.24.0 cargo set-version -p tor-rpcbase 0.24.0 cargo set-version -p tor-rtcompat 0.24.0 cargo set-version -p tor-rtmock 0.24.0 cargo set-version -p tor-socksproto 0.24.0 cargo set-version -p tor-units 0.24.0 cargo set-version -p arti-client 0.24.0 cargo set-version -p arti-relay 0.24.0 cargo set-version -p arti-rpc-client-core 0.24.0 cargo set-version -p arti-rpcserver 0.24.0
* | cargo: Run fixup-features (formatting)Ian Jackson2024-10-301-1/+2
| | | | | | | | Manual fixup. I filed #1719 about the fact that I had to do this.
* | cargo: Run fixup-featuresIan Jackson2024-10-301-1/+1
|/ | | | | | | This is output from nailing-cargo -Eu run -p fixup-features Cargo.toml There are some formatting glitches which I'll fix in a moment.
* Merge branch 'mq-fix' into 'main'Ian Jackson2024-10-224-22/+64
|\ | | | | | | | | memquota: Fix account lifetime bugs, and arrange to test mq in shadow See merge request tpo/core/arti!2560
| * memquota: Use _ rather than allow(dead_code) (fmt)Ian Jackson2024-10-221-1/+4
| |
| * memquota: Use _ rather than allow(dead_code)Ian Jackson2024-10-222-12/+16
| | | | | | | | | | | | | | Promote the associated comments. As suggested here: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2560#note_3097188
| * memquota: fix data stream account lifetimeIan Jackson2024-10-211-5/+18
| | | | | | | | | | | | | | | | | | The DataStream is sometimes disassembled, eg by split. When that happens, the StreamAccount would be dropped - and that was the only strong reference. Put a StreamAccount in each of the pieces, instead of just in the combined DataStream struct.
| * memquota: Fix resolve stream account lifetimeIan Jackson2024-10-212-8/+12
| | | | | | | | | | | | | | | | | | We need the mq account for the stream not to collapse. The ResolveStream object needs to contain a strong reference to it. Have begin_stream_impl return the StreamAccount, rather than taking it as a parameter. That makes this bug a little more obvious. It also centralises the StreamAccount creation.
| * memquota: Fix circuit account lifetime (fmt)Ian Jackson2024-10-212-5/+24
| |
| * memquota: Fix circuit account lifetime (clippy churn)Ian Jackson2024-10-212-5/+5
| | | | | | | | | | | | Now that it doesn't call CircuitAccount::new() it has no error paths, and clippy demands we remove the Result, so it must once again become infallible.
| * memquota: Fix circuit account lifetimeIan Jackson2024-10-212-5/+4
| | | | | | | | | | | | | | | | We foolishly made *two* CircuitAccounts, one of which gets immediately dropped. But we need to hold onto the account somewhere, because an mq_queue doesn't keep the account alive. Otherwise everything breaks when mq tracking is enabled.
* | Merge branch 'test_create_hop_count_reinstate' into 'main'gabi-2502024-10-211-4/+1
|\ \ | |/ |/| | | | | tor-proto: Reinstate circuit hop check in test_create() See merge request tpo/core/arti!2546
| * tor-proto: Reinstate circuit hop check in test_create()Neel Chauhan2024-10-161-4/+1
| |
* | Disable a lot of dead code warnings (fmt)Ian Jackson2024-10-171-1/+4
| |
* | Disable a lot of dead code warningsIan Jackson2024-10-171-1/+1
| | | | | | | | | | | | | | Now cargo check --workspace --no-default-features --all-targets cargo build -p arti --no-default-features --features=memquota,tokio,native-tls are both clean.
* | Rename "memquota" feature to "memquota-memcost" when it's just HasMemoryCostIan Jackson2024-10-161-3/+3
| | | | | | | | It's not documented anywhere ATM. I will do that in a followup MR.
* | Apply `default-features = false` to all tor-memquota depsIan Jackson2024-10-161-1/+1
|/ | | | | | | This will allow us to make `tor-memquota/memquota` enabled by default, without forcing it to be compiled in everywhere. I don't change that in this MR, though.
* Merge branch 'test-panic' into 'main'Jim Newsome2024-10-151-14/+14
|\ | | | | | | | | Abolish `_ => panic!()` See merge request tpo/core/arti!2534
| * Replace _ => panic!() in tor-protoIan Jackson2024-10-151-14/+14
| |
* | Merge branch 'mq-toplevel' into 'main'Ian Jackson2024-10-151-14/+15
|\ \ | | | | | | | | | | | | Abolish the toplevel Account See merge request tpo/core/arti!2537
| * | memquota: Change ToplevelAccount to be an alias for Arc<MemoryQuotaTracker>Ian Jackson2024-10-151-14/+15
| |/ | | | | | | Fixes a TODO.
* / memquota: Document the actual behaviour re streams/circuitsIan Jackson2024-10-151-4/+6
|/ | | | As per decision in #1661.
* Merge branch 'mq-circ' into 'main'David Goulet2024-10-107-35/+39
|\ | | | | | | | | | | | | Use memquota queue for channel->circuit RX data Closes #1682 See merge request tpo/core/arti!2518
| * Apply deferred rustfmt churnIan Jackson2024-10-095-13/+7
| |
| * memquota: Use an mq_queue for channel->circuit RX queueIan Jackson2024-10-095-16/+18
| | | | | | | | | | | | Fixes #1682. (This involves some noise in the tests.)
| * memquota: Introduce type aliases for channel->circuit RX queueIan Jackson2024-10-094-13/+18
| | | | | | | | | | This is neater and will make changing the type (in a moment) less noisy.
| * memquota: impl HasMemoryCost for ClientCircChanMsgIan Jackson2024-10-091-1/+4
| | | | | | | | We'll need this in a moment.
* | Merge branch 'mq-doc' into 'main'Ian Jackson2024-10-092-1/+95
|\| | | | | | | | | | | | | memquota architecture documentation Closes #1660 See merge request tpo/core/arti!2509