aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-circmgr/src
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-circmgr: Add AnonymousPathBuilder trait.Gabriela Moldovan2024-03-141-4/+177
| | | | | | | | | | The `pick_path()` default implementation is an almost verbatim copy of `ExitPathBuilder::pick_path()`. The only difference is that instead of using values from `self`, the `AnonymousPathBuilder::pick_path()` uses the values returned by the different `AnonymousPathBuilder` functions (i.e., `AnonymousPathBuilder::pick_exit()` instead of `self.pick_exit()`, `AnonymousPathBuilder::compatible_with()` instead of `self.compatible_with`, etc.).
* Run maint/add_warning.Nick Mathewson2024-03-1312-0/+12
|
* Annotate usage of low_level_predicate_permits_relayNick Mathewson2024-03-121-0/+8
|
* Rename the RelayPredicate trait to discourage its being used directly.Nick Mathewson2024-03-121-2/+4
| | | | Everybody who can, should instead use a RelaySelector.
* Add comments about "unaccompanied" use of Relay{Usage,Exclusion}Nick Mathewson2024-03-121-0/+2
| | | | | | When used outside of RelaySelector, these two types don't enforce one another's presence, and as such have a bit more risk of negligent use.
* Annotate remaining "TODO #504" comments explaining why they are there.Nick Mathewson2024-03-121-4/+14
|
* hspool: Replace TargetInfo with a RelayExclusion.Nick Mathewson2024-03-121-53/+17
|
* circmgr: Rename "any exit" code to reflect its real purposeNick Mathewson2024-03-122-8/+11
| | | | | (These functionalities are for onion service circuits, and don't actually need to go to an exit at all.)
* circmgr: Remove now-obsolete error variants.Nick Mathewson2024-03-122-48/+5
|
* circmgr: Begin porting path selection to tor-relay-selectionNick Mathewson2024-03-124-190/+159
| | | | | This covers the easy cases, where we are selecting relays at random based on a selector.
* New crate to define a high-level API for relay selectionNick Mathewson2024-03-121-45/+2
|
* tor-circmgr: Fix clippy warning.Gabriela Moldovan2024-03-111-1/+1
|
* tor-circmgr: Add HsCircPoolConfig, make HsCircPool::reconfigure general-purpose.Gabriela Moldovan2024-03-112-7/+39
|
* tor-circmgr: Rename Pool::reconfigure to Pool::reconfigure_vanguards.Gabriela Moldovan2024-03-112-2/+2
|
* tor-circmgr: Explain why vanguards_config is defined as an "other" accessor.Gabriela Moldovan2024-03-111-0/+5
|
* tor-hsclient: Do not enable vanguards feature in dev-dependency.Gabriela Moldovan2024-03-111-0/+2
|
* tor-circmgr: Create the VanguardMgr in CircMgr::new.Gabriela Moldovan2024-03-112-3/+18
|
* tor-circmgr: Discard all circuits if VanguardMgr says so.Gabriela Moldovan2024-03-111-0/+11
|
* arti-client: Add vanguard_config() to CircMgrConfig.Gabriela Moldovan2024-03-111-0/+11
|
* tor-circmgr: Add functions for reconfiguring the HS circuit pool.Gabriela Moldovan2024-03-112-1/+40
| | | | | If the vanguard "mode" (full/lite/disabled) changes, we purge all the circuits from the HS circuit pool because they are no longer suitable.
* tor-circmgr: Store the VanguardMode in HsCircPool.Gabriela Moldovan2024-03-111-0/+11
|
* tor-circmgr: Give CircMgr a VanguardMgr.Gabriela Moldovan2024-03-112-0/+23
| | | | Closes #1277
* Fix typos in doc commentsTobias Stoeckmann2024-03-062-2/+2
|
* deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-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.
* tor-circmgr: Expose ErrorKind-combining calculation.Nick Mathewson2024-01-231-5/+12
| | | | | We use this for a RetryError in circmgr, but we will also want it in hsservice.
* netdir: Explain why there is no HsRend WeightRule.Nick Mathewson2024-01-141-0/+6
|
* 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-071-18/+50
|
* 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
|