| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | tor-guardmgr: Pass an rng to select_vanguard. | Gabriela Moldovan | 2024-04-05 | 1 | -2/+2 |
| | | | | | | This function will need to randomly select a vanguard, so it needs an `Rng`. | ||||
| * | tor-guardmgr: Give VanguardMgr a handle to the runtime. | Gabriela Moldovan | 2024-04-05 | 1 | -2/+2 |
| | | |||||
| * | exitpath: Refactor a test to use tor-relay-usage. | Nick Mathewson | 2024-03-28 | 1 | -20/+14 |
| | | |||||
| * | Remove temporary functions in CheckedRelay. | Nick Mathewson | 2024-03-28 | 2 | -4/+5 |
| | | |||||
| * | tor-circmgr: Fix a clippy warning. | Gabriela Moldovan | 2024-03-21 | 1 | -2/+2 |
| | | |||||
| * | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵ | Gabriela Moldovan | 2024-03-21 | 1 | -7/+7 |
| | | | | | hop too (fmt). | ||||
| * | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵ | Gabriela Moldovan | 2024-03-21 | 1 | -5/+9 |
| | | | | | hop too. | ||||
| * | tor-circmgr: Rewrite RelayExclusion building using exclude_identities(). | Gabriela Moldovan | 2024-03-21 | 1 | -19/+7 |
| | | |||||
| * | tor-circmgr: Add function for building a RelayExclusion from a slice of relays. | Gabriela Moldovan | 2024-03-21 | 1 | -0/+14 |
| | | |||||
| * | tor-guardmgr: Make Vanguard::select_relay take a RelayExclusion. | Gabriela Moldovan | 2024-03-21 | 1 | -3/+31 |
| | | | | | | | | This enables us to prevent the same relay from being picked in consecutive positions in a path. Part of #1340 | ||||
| * | tor-circmgr: Clarify that stub circuits are sometimes 4-hop circuits. | Gabriela Moldovan | 2024-03-20 | 1 | -1/+1 |
| | | |||||
| * | tor-circmgr: Move HsPathBuilder trait impl closer to struct definition. | Gabriela Moldovan | 2024-03-20 | 1 | -35/+35 |
| | | | | | This is just code movement to make the code a bit easier to follow. | ||||
| * | tor-circmgr: Add allow(unused) for functions only used on particular feature ↵ | Gabriela Moldovan | 2024-03-20 | 1 | -0/+2 |
| | | | | | sets. | ||||
| * | tor-circmgr: Move ExitPathBuilder::from_chosen_exit under the test mod. | Gabriela Moldovan | 2024-03-20 | 1 | -10/+13 |
| | | | | | | `ExitPathBuilder` is now `pub(crate)`, so we need to move this under the `test` module to fix the "unused" clippy warning. | ||||
| * | tor-circmgr: Make the path module crate-private. | Gabriela Moldovan | 2024-03-20 | 3 | -12/+12 |
| | | | | | | | | | | | | | | | We're not currently using any of the path builders outside of `tor-circmgr`, so let's make them crate-private for now. Care must be taken if/when we decide to make them public again. For instance, the `HsPathBuilder` exposes two path building functions, one that uses vanguards, and one that doesn't. We want to strongly encourage the use of the vanguards-aware version of the function whenever the `vanguards` feature is enabled, without breaking any of its existing non-vanguard uses. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2046#note_3010217 | ||||
| * | tor-circmgr: Reference #1339 in a TODO. | Gabriela Moldovan | 2024-03-20 | 1 | -0/+2 |
| | | |||||
| * | tor-circmgr: Move HsPathBuilder docs to the module-level. | Gabriela Moldovan | 2024-03-20 | 1 | -39/+41 |
| | | |||||
| * | tor-circmgr: Unconditionally define VanguardMode. | Gabriela Moldovan | 2024-03-20 | 1 | -1/+2 |
| | | |||||
| * | tor-circmgr: Apply deferred cargo fmt. | Gabriela Moldovan | 2024-03-20 | 1 | -9/+2 |
| | | |||||
| * | tor-circmgr: Rename pick_path to pick_path_with_vanguards. | Gabriela Moldovan | 2024-03-20 | 1 | -4/+4 |
| | | | | | | | When the `vanguards` feature is enabled, we define `pick_path_with_vanguards` instead of `pick_path`, rather than conditionally defining 2 different versions of the same function. | ||||
| * | tor-circmgr: Remove unnecessary AnonymousPathBuilder impl. | Gabriela Moldovan | 2024-03-20 | 1 | -30/+15 |
| | | | | | | | | | Instead of the `B: AnonymousPathBuilder` argument, `select_guard` now takes separate arguments for the values it previously obtained by calling the methods of `AnonymousPathBuilder`. This enables us to remove the mostly unnecessary `AnonymousPathBuilder` implementation of `VanguardHsPathBuilder`. | ||||
| * | tor-circmgr: Remove an addressed TODO. | Gabriela Moldovan | 2024-03-20 | 1 | -5/+0 |
| | | | | | | This was addressed by extracting the guard selection from `pick_path()` into `select_guard()`. | ||||
| * | tor-circmgr: Talk about vanguards path selection in HsPathBuilder docs. | Gabriela Moldovan | 2024-03-20 | 1 | -3/+23 |
| | | |||||
| * | tor-circmgr: Implement vanguard path selection in HsPathBuilder. | Gabriela Moldovan | 2024-03-20 | 1 | -8/+120 |
| | | | | | Part of #1279 | ||||
| * | tor-circmgr: Give pick_path a VanguardMgr. | Gabriela Moldovan | 2024-03-20 | 1 | -0/+4 |
| | | |||||
| * | tor-circmgr: Tell HsPathBuilder what kind of circuit stub is needed. | Gabriela Moldovan | 2024-03-20 | 1 | -3/+11 |
| | | |||||
| * | tor-circmgr: Move pick_path out of AnonymousCircuitBuilder. | Gabriela Moldovan | 2024-03-14 | 2 | -25/+57 |
| | | | | | This enables us to make `AnonymousCircuitBuilder` private. | ||||
| * | tor-circmgr: Improve the HsPathBuilder docs. | Gabriela Moldovan | 2024-03-14 | 1 | -0/+20 |
| | | |||||
| * | tor-circmgr: Remove unused require_stability. | Gabriela Moldovan | 2024-03-14 | 1 | -13/+1 |
| | | |||||
| * | tor-circmgr: Add a TODO about vanguards path selection. | Gabriela Moldovan | 2024-03-14 | 1 | -0/+24 |
| | | |||||
| * | tor-circmge: Remove AnyRelayForOnionService. | Gabriela Moldovan | 2024-03-14 | 1 | -34/+0 |
| | | |||||
| * | tor-circmgr: Add a new hspath module for building onion service circuits. | Gabriela Moldovan | 2024-03-14 | 1 | -0/+76 |
| | | |||||
| * | tor-circmgr: Implement AnonymousPathBuilder for ExitPathBuilder. | Gabriela Moldovan | 2024-03-14 | 1 | -161/+24 |
| | | |||||
| * | Run maint/add_warning. | Nick Mathewson | 2024-03-13 | 2 | -0/+2 |
| | | |||||
| * | circmgr: Rename "any exit" code to reflect its real purpose | Nick Mathewson | 2024-03-12 | 1 | -7/+10 |
| | | | | | | (These functionalities are for onion service circuits, and don't actually need to go to an exit at all.) | ||||
| * | circmgr: Begin porting path selection to tor-relay-selection | Nick Mathewson | 2024-03-12 | 2 | -189/+132 |
| | | | | | | This covers the easy cases, where we are selecting relays at random based on a selector. | ||||
| * | Mark code with "TODO #504" and "TODO #789". | Nick Mathewson | 2024-02-22 | 2 | -0/+11 |
| | | | | | | | | | 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. | ||||
| * | Add a couple of TODOs about Stable-based path selection. | Nick Mathewson | 2024-02-20 | 1 | -0/+4 |
| | | |||||
| * | When building paths, require the Stable flag as appropriate | Nick Mathewson | 2024-02-20 | 1 | -0/+21 |
| | | | | | | | | | | | | | 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. | ||||
| * | Require the Fast flag on all randomly selected relays. | Nick Mathewson | 2024-02-20 | 1 | -9/+16 |
| | | | | | | | This matches the behavior of C tor. Part of #1100. | ||||
| * | Only pick Fast-flagged relays as directory caches | Nick Mathewson | 2024-02-20 | 1 | -1/+3 |
| | | | | | | | Matches the behavior of C tor. Part of #1100. | ||||
| * | Require that guards are Fast and Stable. | Nick Mathewson | 2024-02-20 | 1 | -1/+1 |
| | | | | | | | This matches the behavior of C tor. Part of #1100. | ||||
| * | arti-client: add exit selection with GeoIP country codes | eta | 2023-09-18 | 1 | -1/+54 |
| | | | | | | | | | | | | | | | | | | | | | This threads the country codes work through the rest of the codebase: - `tor-dirmgr` will now enable GeoIP with the embedded database when the `geoip` future is enabled - This can be extended later using the `DirMgrConfig` to allow specifying a custom database; this is not done here, though - `tor-circmgr`'s `SupportedCircUsage` and `TargetCircUsage` fields gain new `country_code` members to allow filtering circuits by country - These are `()` in builds where the `geoip` feature is not enabled -- doing it this way means we don't have to copy and paste huge swathes of code, since we can't use `#[cfg]` in patterns - `ExitPathBuilder` gains (hacked-in) support for choosing a relay with the correct country code - Due to the lack of conjuction, we just copy and paste a small bit, pending further refactoring - `StreamPrefs` now lets you specify a country code, letting embedders make use of the feature | ||||
| * | Run maint/add_warning to add lint block everywhere | Ian Jackson | 2023-08-23 | 2 | -0/+2 |
| | | |||||
| * | Run maint/add_warning to actually apply new lint allows | Ian Jackson | 2023-07-10 | 2 | -0/+2 |
| | | |||||
| * | ExitPath: Add an explanation of WeightRole::Exit on non-exit circs | Nick Mathewson | 2023-04-12 | 1 | -0/+7 |
| | | | | | | | | | | In one case, we use WeightRole::Exit on circuits that can't actually be used to exit. This commit adds a comment to explain why, so that we don't wonder about it in the future, and we have some indication of whether it's still appropriate. Closes #785 | ||||
| * | circmgr: Mark a number of internal APIs as hs-only. | Nick Mathewson | 2023-04-06 | 1 | -0/+4 |
| | | | | | | | This resolves a few dead-code warnings. Closes #801. | ||||
| * | circmgr: Expand an incomplete comment in exitpath.rs | Nick Mathewson | 2023-04-06 | 1 | -2/+6 |
| | | |||||
| * | circmgr: Add a usage for building the beginning of an hs circ | Nick Mathewson | 2023-03-22 | 1 | -1/+44 |
| | | | | | | This only builds the first 3 hops. It can be extended to a fourth hop later -- or not, depending on the circuit kind. | ||||
| * | Allow clippy::unchecked_duration_subtraction in tests | Nick Mathewson | 2023-01-27 | 2 | -0/+2 |
| | | | | | | This panics on error, and we're fine with a panic on misbehavior in tests. | ||||
