summaryrefslogtreecommitdiff
path: root/crates/tor-circmgr
Commit message (Collapse)AuthorAgeFilesLines
* Patchlevel bumps for crates whose dependencies just changed.Nick Mathewson2023-03-311-2/+2
| | | | | | | | | | | | | | | | These crates had no changes until just a moment ago. But since we updated the versions on some of their dependents, they have now changed themselves. Thus they get patchlevel bumps. ``` tor-rtmock tor-protover tor-socksproto tor-consdiff tor-chanmgr tor-dirclient tor-hsservice ```
* Bump crate versions that have breaking changesNick Mathewson2023-03-311-2/+2
| | | | | | | | | | These crates have had breaking changes. They are pre-1.0, so they get a minor bump. ``` tor-basic-utils tor-config ```
* Bump patchlevel on crates with non-breaking changesNick Mathewson2023-03-311-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For these crates, the changes are nontrivial, so we _do_ bump the versions on which their dependent crates depend. Fortunately, since they are all pre-1.0, we don't need to distinguish semver-additions from other changes. (Except for arti, which _is_ post-1.0, but gets a patchlevel bump anyway.) These are unstable crates with breaking changes: ``` tor-hscrypto tor-hsclient ``` These have new or extended APIs: ``` safelog tor-bytes tor-cell tor-linkspec tor-llcrypto tor-proto tor-cert arti-client ``` These have new unstable APIs or features: ``` tor-netdoc tor-circmgr (also broke some unstable APIs) arti (is post-1.0) ``` These have bugfixes only: ``` caret tor-dirmgr ```
* tor-circmgr: Make take_or_launch_stub_circuit future SendIan Jackson2023-03-301-2/+1
| | | | | thread_rng() isn't Send. We can fix this by not holding it over an await point.
* Add some missing importsIan Jackson2023-03-282-2/+5
| | | | | | | | Now nailing-cargo +stable clippy -p tor-hsclient --all-features --all-targets actually works. squash! Add some missing imports
* hspool: simplify loop and add a maximumNick Mathewson2023-03-221-41/+39
|
* hspool: Clarify/document more TODO HS items.Nick Mathewson2023-03-221-2/+8
|
* circmgr: Make a separate SupportedCircUsage for HS stuffNick Mathewson2023-03-221-3/+6
| | | | | This uncovered a bug: NoUsage wasn't correct for Hs circuits because of its behavior with channel_usage().
* circmgr: Declare builder() unconditionally.Nick Mathewson2023-03-222-7/+18
| | | | (Still, only expose it when experimental-api is enabled.)
* hspool: Tweak comments and add more TODOs.Nick Mathewson2023-03-221-10/+33
|
* circmgr: hspool now launches circuits in the background.Nick Mathewson2023-03-221-11/+157
| | | | | | The prediction and scheduling logic here is quite primitive; we should probably refactor it considerably. This should be good enough for now, though.
* circmgr: Add an actual pool to HsCircPool.Nick Mathewson2023-03-222-6/+173
| | | | | | | | We now have support for a pool of pre-build circuits that we can use for HS-related purposes, and we take circuits from this pool as needed. Nothing populates or cleans the circuit pool yet.
* circmgr: Begin an HS circuit pool structureNick Mathewson2023-03-223-0/+162
| | | | | This is now enough to launch circuits on demand. It still needs to pre-build the first three hops, and to retry on failure.
* circmgr: Add a usage for building the beginning of an hs circNick Mathewson2023-03-223-16/+86
| | | | | This only builds the first 3 hops. It can be extended to a fourth hop later -- or not, depending on the circuit kind.
* circmgr: Functions to launch an unmanaged circuit.Nick Mathewson2023-03-222-3/+26
| | | | We'll use this to implement the circuits used by onion circuits.
* remove unused type parametertrinity-1686a2023-03-181-1/+1
|
* Fix a bunch of needless-conversion warnings.Nick Mathewson2023-03-101-1/+0
| | | | | Apparently 1.68 now warns when you call into_iter() on something that's already an iterator. Fair enough. Let's stop doing that.
* Fix an unrelated missing cfg_attr.Nick Mathewson2023-03-081-0/+1
|
* hsclient: Abolish knowledge of HS circuits in circmgrIan Jackson2023-03-012-83/+0
| | | | | | | | | | | Abolish CircMgr::get_or_launch_onion_client and everything to support it. We have decided that `.onion` diversion ccan't/shouldn't occur in tor-circmgr. Probably, it should occur much higher up - arti-client maybe - since it will sometimes need ambient authority (KS_hsc_*). Now all knowledge of HS connections is in tor-hsclient. This gets rid of a layering inversion and the trait needed for tor-circmgr to do the upcall to tor-hsclient.
* Apply rustfmtIan Jackson2023-03-011-5/+10
|
* tor-circmgr: Provide testing feature and TestConfigIan Jackson2023-03-013-0/+51
| | | | Like the similar thing in tor-guardmgr.
* HS API: Remove HS client keys from circmgr APIIan Jackson2023-03-012-2/+0
| | | | | | | | *If* we're going to retain any HS knowledge in circmgr, it definitely doesn't need to know about per-operation client secrets. (Maybe there might be ambient secrets, used for .onion diversion, but they don't need to be in this API.)
* HS planning: Discuss whether to remove all HS code from circmgrIan Jackson2023-03-012-4/+18
|
* HS planning: Intend for HS connector to do all lifecycle mgmtIan Jackson2023-03-011-6/+3
| | | | | | | | Otherwise there has to be a state entry in the circmgr *and* a state entry in the hs connector, for every HS. This division of responsibilit will be confusing. The HS code will then be more completely just a layer on top of circmgr.
* Patchlevel bumps for remaining changed crates.Nick Mathewson2023-02-281-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates have had small code changes, but no API additions: tor-config tor-socksproto tor-cert tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr arti tor-hsservice tor-congestion These crates have had API extensions: fs-mistrust tor-llcrypto tor-bytes tor-checkable tor-linkspec tor-netdoc tor-persist arti-client
* Bump patch-versions for breaking changes in tor-hs{crypto,client}Nick Mathewson2023-02-281-1/+1
| | | | | | These are API breaks, but the crates themselves are currently 100% experimental, so there's no need to bump the minor versions according to our semver rules.
* Bump minor versions for significant breaking changes.Nick Mathewson2023-02-281-3/+3
| | | | This includes tor-cell, tor-proto, and tor-netdir.
* Rename onion-* cargo features to hs-* in tor-* cratesIan Jackson2023-02-282-10/+10
| | | | Fixes #756
* tor-hscrypto: Rename key types to correspond to new spec names.Nick Mathewson2023-02-082-2/+2
|
* Merge branch 'logs' into 'main'Nick Mathewson2023-02-013-15/+23
|\ | | | | | | | | | | | | Report causes of errors Closes #680 See merge request tpo/core/arti!997
| * Use ErrorReport - run rustfmtIan Jackson2023-01-302-4/+11
| | | | | | | | Split off for ease of review and possible rebase.
| * Use ErrorReport for remaining errors in error! in tor-circmgrIan Jackson2023-01-301-4/+4
| |
| * Use ErrorReport for errors in warn! in tor-circmgrIan Jackson2023-01-303-5/+6
| |
| * Use ErrorReport for errors in info! in tor-circmgrIan Jackson2023-01-301-6/+6
| |
* | Bump the patch version of every crate that had API additionsNick Mathewson2023-02-011-6/+6
| | | | | | | | | | | | These crates had API or behavior changes that may affect downstream crates. Fortunately, they're all version 0.x, and don't need minor bumps for this.
* | Bump the patch-level version of crates with _minor_ changes.Nick Mathewson2023-02-011-10/+10
|/ | | | | | | These changes influence behavior, but not effect compatibility. (If I messed up, and any crate except for `arti` has non-breaking API changes, that's still fine, since they are all version 0.x.)
* circmgr: drop a receiver more explicitly.Nick Mathewson2023-01-271-1/+4
| | | | | | | | | Clippy now complains about `let _ = (expr_producing_a_future);`, which is probably smart, since maybe you wanted to await that future and ignore the result. So it seems that the right way to get rid of an unwanted Receiver is now to drop it explicitly. Closes #749
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-2711-0/+11
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-271-0/+1
| | | | | | | | This warning kind of snuck up on us! (See #748) For now, let's disable it. (I've cleaned it up in a couple of examples, since those are meant to be more idiomatic and user-facing.) Closes #748.
* CircMgr: Draft API to construct targeted multihop circuits.Nick Mathewson2023-01-241-1/+24
| | | | | Onion services and onion clients need these to make connections to HsDirs, Introduction points, and Rendezvous points.
* CircMgr: Draft APIs used to implement onion service clients.Nick Mathewson2023-01-243-1/+79
|
* Merge branch 'test-lints' into 'main'eta2023-01-0610-1/+81
|\ | | | | | | | | Add test lint blocks to all "mod test" See merge request tpo/core/arti!937
| * test lint blocks: Add many many automaticallyIan Jackson2022-12-1210-1/+81
| | | | | | | | | | This is precisely the result of running the rune in maint/adhoc-add-lint-blocks.
* | doc: consistent summary line for the READMEsEmil Engler2022-12-201-1/+1
| | | | | | | | | | This commit introduces a consistency to the summary line of all README.md files in each and every crate.
* | tor-circmgr: Use ErrorReport on a logged errorIan Jackson2022-12-121-1/+2
|/ | | | To demonstrate what the use looks like.
* Remove semver.md files now that 1.1.0 is released.Nick Mathewson2022-11-301-2/+0
|
* Bump the minor version of every crate.Nick Mathewson2022-11-301-20/+20
| | | | | We made this job easy this time around: by incrementing our MSRV, we have forced ourselves to do at least a minor bump everywhere.
* tor-cirmgr: Replace OwnedChanTarget with LoggedChanTarget in errorsIan Jackson2022-11-232-9/+9
| | | | | | | | | This 1. Makes the errors smaller 2. Redacts (currently, scrubs) the chantarget when safe logging is enabled The other error variants in tor-circmgr::Error don't seem to contain information that should become sensitive as part of bridge support.
* Even more comments explaining circuit cancellation.Nick Mathewson2022-11-221-3/+37
|
* Improve notes surrounding circuit cancellation.Nick Mathewson2022-11-222-6/+18
| | | | | | | It turns out that bug #656 is not a real bug, but it was easy to overlook the code that prevented it. Closes #656.