summaryrefslogtreecommitdiff
path: root/crates/tor-circmgr
Commit message (Collapse)AuthorAgeFilesLines
* Bump the minor version, for crates with breaking changes.Gabriela Moldovan2024-03-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | APIs were broken in these pre-1.0.0 crates: ``` tor-keymgr tor-config tor-checkable tor-circmgr tor-dirmgr tor-hsclient tor-hsservice tor-hsrproxy ``` Done with: ``` cargo set-version --bump minor -p tor-keymgr cargo set-version --bump minor -p tor-config cargo set-version --bump minor -p tor-checkable cargo set-version --bump minor -p tor-circmgr cargo set-version --bump minor -p tor-dirmgr cargo set-version --bump minor -p tor-hsclient cargo set-version --bump minor -p tor-hsservice cargo set-version --bump minor -p tor-hsrproxy ```
* Bump patchlevel of pre-1.0.0 crates with new APIs.Gabriela Moldovan2024-03-041-3/+3
| | | | | | | | | | | | | | | | | | | | APIs were added: ``` tor-units tor-cell tor-proto tor-netdir arti-client ``` Done with: ``` cargo set-version --bump patch -p tor-units cargo set-version --bump patch -p tor-cell cargo set-version --bump patch -p tor-proto cargo set-version --bump patch -p tor-netdir cargo set-version --bump patch -p arti-client ```
* Bump patchlevel of crates with functional changes.Gabriela Moldovan2024-03-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | Functional changes were made, but no APIs were added or broken: ``` tor-events (async_broadcast 0.6.0 -> 0.7.0) tor-netdoc (signature 1 -> 2) tor-guardmgr arti-testing (config 0.13.4 -> 0.14.0) tor-persist (breaking changes gated behind experimental feature) fslock-guard (fix lockfile_has_path compilation on Windows) ``` Done with: ``` cargo set-version --bump patch -p tor-events cargo set-version --bump patch -p tor-netdoc cargo set-version --bump patch -p tor-guardmgr cargo set-version --bump patch -p arti-testing cargo set-version --bump patch -p tor-persist cargo set-version --bump patch -p fslock-guard ```
* tor-circmgr: Note Error breaking change in semver.md.Gabriela Moldovan2024-02-281-0/+1
|
* tor-circmgr: Include the UniqId in Protocol error string (fmt).Gabriela Moldovan2024-02-271-1/+6
|
* tor-circmgr: Include the UniqId in Protocol error string.Gabriela Moldovan2024-02-271-1/+1
| | | | Part of #1297
* tor-circmgr: Add TODO about adding context to Error::CircCanceled.Gabriela Moldovan2024-02-271-0/+5
| | | | Part of #1297
* tor-circmgr: Add UniqId to Error::Protocol.Gabriela Moldovan2024-02-273-0/+9
| | | | Part of #1297
* tor-circmgr: Add UniqId to CircTimeout.Gabriela Moldovan2024-02-274-21/+17
| | | | Part of #1297
* tor-circmgr: Fix typo in PendingFailed docs.Gabriela Moldovan2024-02-271-1/+1
|
* tor-circmgr: Add UniqId to Error::GuardNotUsable.Gabriela Moldovan2024-02-272-7/+7
| | | | Part of #1297
* tor-circmgr: Add a helper for displaying optional UniqIds.Gabriela Moldovan2024-02-271-0/+14
| | | | | | | | Some of the `tor_circmgr::Error` variants will include the `UniqId` of the corresponding circuit, so we'll need to be able to display it without the `Circ ` prefix. Part of #1297
* Mark code with "TODO #504" and "TODO #789".Nick Mathewson2024-02-224-0/+18
| | | | | | | | I've done this by looking for every non-test instance of pick_relays or pick_n_relays, and for every non-test usage of any non-ID-related method on Relay or UncheckedRelay. Part of #504.
* PathConfigBuilder: Actually provide the long_lived_ports settersIan Jackson2024-02-201-0/+6
|
* Use list_builder and sub-builder pattern for long_lived_ports.Nick Mathewson2024-02-201-6/+18
|
* Teach *CircUsage structs about stability.Nick Mathewson2024-02-205-29/+122
| | | | | | | | | | | This lets us check long_lived_ports only when we are constructing a TargetCircUsage, and lets us remember whether or not the circuit we've built is suitable for non-long-lived ports. It also lets us decide whether existing circuits are compatible with new requests. Closes #1100.
* Add a couple of TODOs about Stable-based path selection.Nick Mathewson2024-02-202-0/+6
|
* When building paths, require the Stable flag as appropriateNick Mathewson2024-02-202-2/+33
| | | | | | | | | | | | The Stable flag means that circuits build through a given relay are not likely to get closed precipitously. (Currently, the authorities guess this by looking at the relay's mean time between failures.) Generally speaking, paths must be Stable if: * They are going to get used for a rendezvous point. * They are going to get used for an introduction point. * They are going to get used for exiting to a member of long_lived_ports.
* Add a configuration option for long_lived_ports.Nick Mathewson2024-02-201-0/+13
|
* Require the Fast flag on all randomly selected relays.Nick Mathewson2024-02-201-9/+16
| | | | | | This matches the behavior of C tor. Part of #1100.
* Only pick Fast-flagged relays as directory cachesNick Mathewson2024-02-201-1/+3
| | | | | | Matches the behavior of C tor. Part of #1100.
* Require that guards are Fast and Stable.Nick Mathewson2024-02-201-1/+1
| | | | | | This matches the behavior of C tor. Part of #1100.
* Merge branch 'delete-semvers' into 'main'Ian Jackson2024-02-051-1/+0
|\ | | | | | | | | Remove all semver.md files to start a fresh release round See merge request tpo/core/arti!1957
| * Remove all semver.md files to start a fresh release roundIan Jackson2024-02-051-1/+0
| |
* | Bump minor versionsIan Jackson2024-02-051-17/+17
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump the minor version of these crates, and update the in-tree dependencies. Recently published as fresh crates, let's just assume there are breaking changes: fslock-guard test-temp-dir Breaking API change affecting many many downstream crates: tor-rtcompat Downstream crates which we're (conservatively) assuming have tor-rtcompat types in their APIs: tor-rtmock tor-log-ratelim tor-rpcbase tor-llcrypto tor-protover tor-bytes tor-hscrypto tor-hspow tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-congestion tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-config arti-hyper arti-bench arti-testing
* Merge branch 'hss_errorkinds' into 'main'Nick Mathewson2024-01-242-5/+13
|\ | | | | | | | | | | | | hsservice: Fix some errorkinds and related error handling issues. Closes #1225 See merge request tpo/core/arti!1906
| * tor-circmgr: Expose ErrorKind-combining calculation.Nick Mathewson2024-01-232-5/+13
| | | | | | | | | | We use this for a RetryError in circmgr, but we will also want it in hsservice.
* | Mark lower-level hs-service features non-experimentalNick Mathewson2024-01-231-2/+3
|/
* netdir: Explain why there is no HsRend WeightRule.Nick Mathewson2024-01-141-0/+6
|
* Followup minor version bumps.Nick Mathewson2024-01-091-1/+1
| | | | | | | | These crates had no changes previously, but they depend on crates that had breaking changes themselves. tor-linkspec tor-hspow
* Patchlevel version bumps in preparation for 1.1.12.Nick Mathewson2024-01-091-3/+3
| | | | | | | | | | | | | This crate doesn't have a meaningful public API, so it just gets a patchlevel bump: arti These crates had nonbreaking changes, and get a patchlevel bump: tor-rtcompat fs-mistrust tor-llcrypto tor-cert
* Breaking version bumps in preparation for 1.1.12.Nick Mathewson2024-01-091-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates have breaking changes on their own: tor-error tor-netdoc tor-dirmgr tor-keymgr Because of the breaking change in tor-error, and the fact that basically every crate publicly depends on tor-error (by implementing ErrorKind), we need to call this a breaking change on all of the following: tor-config tor-geoip tor-rtmock tor-log-ratelim tor-rpcbase tor-bytes tor-hscrypto tor-socksproto tor-cell tor-proto tor-netdoc tor-netdir tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-config arti-hyper arti-testing
* Run "fixup-features" in preparation for release.Nick Mathewson2024-01-081-1/+1
|
* circmgr:Resolve a warning when building without ntor-v3Nick Mathewson2023-12-131-2/+3
|
* Fix a clippy lintIan Jackson2023-12-121-1/+1
| | | | | | | | | | warning: consider adding a `;` to the last statement for consistent formatting --> crates/tor-circmgr/src/build.rs:162:13 | 162 | handshake_res = circ.create_firsthop_ntor(ct, params).await | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `handshake_res = circ.create_firsthop_ntor(ct, params).await;` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
* ClientCir: use ntor_v3 handshake when target supports itJim Newsome2023-12-072-18/+51
|
* tor-circmgr: add experimental feature "ntor_v3"Jim Newsome2023-12-071-1/+2
|
* Two more patchlevel bumpsNick Mathewson2023-12-041-1/+1
| | | | | | | | | These crates both depend on tor-error. Since tor-error got a patchlevel bump, they now depend on the new version, which means by our rules that _they_ get a patchlevel bump themselves. tor-geoip tor-rpcbase
* Bump minor versions in preparation for releaseNick Mathewson2023-12-041-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate is new, and gets a bump to 0.1.0. tor-log-ratelim This crate had a breaking change: tor-persist tor-llcrypto had a breaking change. These crates _are_ tor-llcrypto, or (transitively) depend on it. I am assuming that they all re-expose something from it in a way that matters: tor-llcrypto tor-bytes tor-hscrypto tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-hyper
* Bump patchlevel versions in preparation for releaseNick Mathewson2023-12-041-5/+5
| | | | | | | | | | | | | | | These crates had backward-compatible changes, and get a patchlevel bump only: fs-mistrust tor-error tor-config tor-rtcompat tor-rtmock This crate exposes no non-CLI APIs, and gets a patchlevel bump only: arti
* Merge branch 'msrv-bump-1.70' into 'main'Ian Jackson2023-11-301-1/+1
|\ | | | | | | | | Increase our MSRV to 1.70 See merge request tpo/core/arti!1773
| * In every crate, change rust-version to 1.70.Nick Mathewson2023-11-281-1/+1
| |
* | Downgrade some messages to traceIan Jackson2023-11-292-3/+3
|/ | | | | These messages are very verbose and I doubt anyone will want them, usually, even when debugging.
* tor-circmgr: panic instead in order to return ErrorSaksham Mittal2023-11-211-1/+1
|
* tor-circmgr: port run_builder_test() to use spawn_join()Saksham Mittal2023-11-211-10/+4
|
* Upgrade to itertools 0.12.0Nick Mathewson2023-11-151-1/+1
|
* tor-circmgr: partially port mgr tests to MockRuntimeSaksham Mittal2023-11-141-11/+11
| | | | | | MockSleepRuntime wraps a MockRuntime instead of using test_with_one_runtime!(), so the tests should be more deterministic
* tor-circmgr: partially port test_double_timeout() to MockRuntimeSaksham Mittal2023-11-141-6/+3
| | | | | | | | The tests still use MockSleepRuntime for the more complicated tests where we forcefully make one or both futures time out, but MockSleepRuntime wraps a MockRuntime instead of using test_with_all_runtimes!(), so the tests should be more deterministic
* tor-circmgr: fix build_*_timeout() for MockRuntime portSaksham Mittal2023-11-141-8/+5
| | | | | The funky thing was getting rid of the Canceled error from the channel and returning the actual error from build_owned() properly
* tor-circmgr: have FakeCirc derive DebugSaksham Mittal2023-11-111-5/+2
|