aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | hsclient: Add a flag for forcing a descriptor refetchGabriela Moldovan2026-05-071-2/+4
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will soon be used to force a refetch in the case of an `INTRODUCE_NACK`. (This commit is intentionally left misindented to make reviewing a bit easier. A future commit will rustfmt the file).
* | | | | | | | | Merge branch 'fallbackdir-07-05-2026' into 'main'David Goulet2026-05-071-900/+897
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fallbackdir: Update list generated on May 07, 2026 See merge request tpo/core/arti!3964
| * | | | | | | | | fallbackdir: Update list generated on May 07, 2026Tor CI Release2026-05-071-900/+897
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Tor CI Release <[email protected]>
* | | | | | | | | Merge branch 'more_io_classification' into 'main'Ian Jackson2026-05-071-2/+4
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rpc-connect: classify newer io errorkinds. See merge request tpo/core/arti!3945
| * | | | | | | | | rpc-connect: classify newer io errorkinds.Nick Mathewson2026-05-071-2/+4
| | |_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Rust 1.83 and 1.85, io::ErrorKind added a few new variants. Here we classify them as "Decline" or "Abort" in our connection point code.
* | | | | | | | | Merge branch 'release-2.3.0-changelog-date' into 'main'Ian Jackson2026-05-071-1/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release: Fix changelog date. See merge request tpo/core/arti!3962
| * | | | | | | | | release: Fix changelog date.Wesley Aptekar-Cassels2026-05-071-1/+1
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | This slipped through the cracks when choosing to do the release today.
* | | | | | | | | Merge branch 'update' into 'main'wesleyac2026-05-072-374/+484
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Routine cargo update See merge request tpo/core/arti!3960
| * | | | | | | | | maint: Add exception to check-licenses.Wesley Aptekar-Cassels2026-05-071-0/+1
| | | | | | | | | |
| * | | | | | | | | Routine cargo updateIan Jackson2026-05-071-374/+483
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Bring in non-breaking changes to our dependencies.
* | | | | | | | | Merge branch 'cc-half-stream' into 'main'opara2026-05-076-81/+225
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Don't apply window-based flow control to CC half-streams Closes #2195 and #2505 See merge request tpo/core/arti!3941
| * | | | | | | | tor-proto: rename `*FlowCtrl::e` to `inner`Steven Engler2026-05-071-15/+15
| | | | | | | | |
| * | | | | | | | tor-proto: rename `*FlowCtrlEnum` to `*FlowCtrlInner`Steven Engler2026-05-071-14/+14
| | | | | | | | |
| * | | | | | | | tor-proto: fix flow control for half-streamsSteven Engler2026-05-075-79/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the window-based flow control for half-streams out of the `HalfStream` and into the `HalfStreamWindowFlowCtrl` object. Now that it's applied only in `HalfStreamWindowFlowCtrl` and not generally for all half-streams, we no longer apply window-based flow control to half-streams when they're really using xon/xoff-based flow control.
| * | | | | | | | tor-proto: add prototype for `HalfStreamFlowCtrl`Steven Engler2026-05-073-4/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the general structure, and we'll fill it in and use it in a following commit.
| * | | | | | | | tor-proto: comment change on `StreamFlowCtrl`Steven Engler2026-05-071-1/+6
| | |/ / / / / / | |/| | | | | |
* | | | | | | | Merge branch 'hsclient-timeout-rewrite' into 'main'Nick Mathewson2026-05-074-184/+252
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | hsclient: Fix numerous bugs in timeout estimators See merge request tpo/core/arti!3940
| * | | | | | | hsclient: Remove estimate of extra intro distance.Nick Mathewson2026-05-071-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gabi correctly points out that since the client uses guarded circuits for introduction points, whereas the service uses naive circuits, we shouldn't expect the peer's circuits to be any longer than ours.
| * | | | | | | circmgr: Document caveats about BuildCircuit estimatorNick Mathewson2026-05-071-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no reason that the next person should have to rediscover these caveats.
| * | | | | | | hsclient: Account for peer circuit retries.Nick Mathewson2026-05-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both C tor and Arti will retry building a circuit if the first attempt fails. This means that it can be worthwhile waiting longer than we might otherwise for the HS to build its rendezvous circuit. We don't need to make this change for _our_ circuits, since the CircMgr code takes care of those timeouts for us.
| * | | | | | | hsclient: Fix documentation about where timeouts are calculated.Nick Mathewson2026-05-071-8/+2
| | | | | | | |
| * | | | | | | hsclient: Simplify h_num_own_{real_}hopsNick Mathewson2026-05-071-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't actually need to use this method on any circuits that have a virtual hop, so instead of "fixing" this method to ignore virtual hops, the simpler approach is to change its name and its documented behavior, and to explain how the documented behavior is appropriate for our needs.
| * | | | | | | hsclient: remove now-needless "allow(unused)" markers.Nick Mathewson2026-05-071-3/+0
| | | | | | | |
| * | | | | | | circmgr: Modernize and correct saturating_mul_f64Nick Mathewson2026-05-071-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Duration::try_from_secs_f64 has existed since Rust 1.66, so we can use it now. It seems wrong to treat "infinity" and "negative infinity" as "one second", so make them actually saturating. Additionally, document behavior for infinity and negative infinity, and document that the NaN behavior isn't documented. (And secretly NaN behavior return a number on the same order of magnitude as the input.)
| * | | | | | | circmgr: Avoid half-steps in our timeout_scale calculationNick Mathewson2026-05-071-12/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This strategy is safe because (outside of our tests) we never look at the actual values of timeout_scale, but only at their ratios.
| * | | | | | | circmgr, hsclient: Introduce and use a OneWay timeout estimator.Nick Mathewson2026-05-072-16/+18
| | | | | | | |
| * | | | | | | hsclient: Move and correct timeouts for waiting for RENDEZVOUS2Nick Mathewson2026-05-071-66/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This time we _do_ need to use the BuildCircuit estimator, since we have to consider the peer's circuit building. The peer may be using full vanguards, so we need to use 5 as their maximum hop estimate. Additionally, their circuit may be longer than ours, so we ought to possibly wait a bit longer for them to get our INTRODUCE2. There are XXXXs here about OneWay timeout estimators, for immediate followup.
| * | | | | | | hsclient: move and correct timeouts for intro/ack.Nick Mathewson2026-05-071-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The circmgr handles timeouts on its own, so we can let it do that. Use the actual circuit length for calculating round-trip timeouts.
| * | | | | | | hsclient: Move and correct timeouts for establishing rend circuits.Nick Mathewson2026-05-072-34/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The circmgr code handles circuit timeouts, so we don't need to include that redundantly. Also, we look at the circuit to find out its number of hops, so that we estimate the timeout more accurately.
| * | | | | | | hsclient: Move and correct timeouts for hsdescriptor downloads.Nick Mathewson2026-05-072-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hspool operations already include their own timeouts, so we don't need to recalculate them. For the directory related operations, we now calculate the timeouts based on actual circuit lengths, and use those timeouts on the operations themselves.
| * | | | | | | circmgr: Add num_hops members to mock tunnel types.Nick Mathewson2026-05-071-0/+38
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | We'll use these for timeout estimations.
* | | | | | | Merge branch 'msrv-20260504' into 'main'Nick Mathewson2026-05-077-34/+12
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | Resolve various MSRV todos. See merge request tpo/core/arti!3943
| * | | | | | proto: Remove an allow for a now-pedantic warning.Nick Mathewson2026-05-071-6/+0
| | | | | | |
| * | | | | | hsservice, llcrypto, SecurityResponse: use cfg({true,false})Nick Mathewson2026-05-073-5/+5
| | | | | | |
| * | | | | | tor-config::derive: use cfg(true) and cfg(false)Nick Mathewson2026-05-071-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust 1.88 added these, so we no longer have to use `any()` for false and `all()` for true.
| * | | | | | tor-basic-utils: remove `flatten`Nick Mathewson2026-05-072-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is no longer needed since we require Rust 1.89. Nobody was using it.
| * | | | | | tor-basic-utils: Update comment about std::fmt::from_fn.Nick Mathewson2026-05-071-1/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | We now know when it was stabilized, so we can say when to use it.
* | | | | | Merge branch 'release-2.3.0-remove-semver-md' into 'main'Ian Jackson2026-05-076-83/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | release: Remove semver.md files. See merge request tpo/core/arti!3955
| * | | | | | release: Remove semver.md files.Wesley Aptekar-Cassels2026-05-066-83/+0
| | | | | | |
* | | | | | | Merge branch 'self-dependency-fix' into 'main'arti-v2.3.0Ian Jackson2026-05-071-1/+10
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | tor-rtcompat: De-version self-dev-dependency to remove it during publish See merge request tpo/core/arti!3958
| * | | | | | tor-rtcompat: De-version self-dev-dependency to remove it during publishIan Jackson2026-05-071-1/+10
|/ / / / / /
* | | | | | Merge branch 'release-2.3.0-update-release-date' into 'main'Ian Jackson2026-05-061-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | release: Bump release date for 2.3.0. See merge request tpo/core/arti!3953
| * | | | | | release: Bump release date for 2.3.0.Wesley Aptekar-Cassels2026-05-061-1/+1
| | | | | | |
* | | | | | | Merge branch 'release-2.3.0-changelog' into 'main'Ian Jackson2026-05-061-0/+276
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | release: Add 2.3.0 changelog. See merge request tpo/core/arti!3951
| * | | | | | release: Add note to changelog about upcoming TorClient API change.Wesley Aptekar-Cassels2026-05-061-0/+6
| | | | | | |
| * | | | | | release: Add 2.3.0 changelog.Wesley Aptekar-Cassels2026-05-061-0/+270
| |/ / / / /
* | | | | | Merge branch 'release-2.3.0-version-bumps' into 'main'Ian Jackson2026-05-0668-636/+636
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | release: Version bumps See merge request tpo/core/arti!3952
| * | | | | | release: Bump tor- and arti- crate versions.Wesley Aptekar-Cassels2026-05-0667-610/+610
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cargo set-version -p arti-client 0.42.0 cargo set-version -p arti-config 0.42.0 cargo set-version -p arti-relay 0.42.0 cargo set-version -p arti-rpc-client-core 0.42.0 cargo set-version -p arti-rpcserver 0.42.0 cargo set-version -p arti-testing 0.42.0 cargo set-version -p arti-ureq 0.42.0 cargo set-version -p tor-async-utils 0.42.0 cargo set-version -p tor-basic-utils 0.42.0 cargo set-version -p tor-bytes 0.42.0 cargo set-version -p tor-cell 0.42.0 cargo set-version -p tor-cert 0.42.0 cargo set-version -p tor-cert-x509 0.42.0 cargo set-version -p tor-chanmgr 0.42.0 cargo set-version -p tor-checkable 0.42.0 cargo set-version -p tor-circmgr 0.42.0 cargo set-version -p tor-config 0.42.0 cargo set-version -p tor-config-path 0.42.0 cargo set-version -p tor-consdiff 0.42.0 cargo set-version -p tor-dirclient 0.42.0 cargo set-version -p tor-dircommon 0.42.0 cargo set-version -p tor-dirmgr 0.42.0 cargo set-version -p tor-dirserver 0.42.0 cargo set-version -p tor-error 0.42.0 cargo set-version -p tor-events 0.42.0 cargo set-version -p tor-general-addr 0.42.0 cargo set-version -p tor-geoip 0.42.0 cargo set-version -p tor-guardmgr 0.42.0 cargo set-version -p tor-hsclient 0.42.0 cargo set-version -p tor-hscrypto 0.42.0 cargo set-version -p tor-hsrproxy 0.42.0 cargo set-version -p tor-hsservice 0.42.0 cargo set-version -p tor-key-forge 0.42.0 cargo set-version -p tor-keymgr 0.42.0 cargo set-version -p tor-linkspec 0.42.0 cargo set-version -p tor-llcrypto 0.42.0 cargo set-version -p tor-log-ratelim 0.42.0 cargo set-version -p tor-memquota 0.42.0 cargo set-version -p tor-memquota-cost 0.42.0 cargo set-version -p tor-netdir 0.42.0 cargo set-version -p tor-netdoc 0.42.0 cargo set-version -p tor-persist 0.42.0 cargo set-version -p tor-proto 0.42.0 cargo set-version -p tor-protover 0.42.0 cargo set-version -p tor-ptmgr 0.42.0 cargo set-version -p tor-relay-crypto 0.42.0 cargo set-version -p tor-relay-selection 0.42.0 cargo set-version -p tor-rpcbase 0.42.0 cargo set-version -p tor-rpc-connect 0.42.0 cargo set-version -p tor-rtcompat 0.42.0 cargo set-version -p tor-rtmock 0.42.0 cargo set-version -p tor-socksproto 0.42.0 cargo set-version -p tor-units 0.42.0
| * | | | | | release: Bump safelog version to 0.8.2.Wesley Aptekar-Cassels2026-05-0622-22/+22
| | | | | | |
| * | | | | | release: Bump arti version to 2.3.0.Wesley Aptekar-Cassels2026-05-064-4/+4
| |/ / / / /