summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | tor-circmgr: Fix a clippy warning.Gabriela Moldovan2024-03-213-4/+4
| |
* | tor-guardmgr: Explain what neighbor_exclusion is for.Gabriela Moldovan2024-03-212-3/+25
| |
* | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵Gabriela Moldovan2024-03-211-7/+7
| | | | | | | | hop too (fmt).
* | tor-circmgr: If full vanguards are enabled, apply exclusions to the extra ↵Gabriela Moldovan2024-03-211-5/+9
| | | | | | | | hop too.
* | tor-circmgr: Rewrite RelayExclusion building using exclude_identities().Gabriela Moldovan2024-03-211-19/+7
| |
* | tor-circmgr: Add function for building a RelayExclusion from a slice of relays.Gabriela Moldovan2024-03-211-0/+14
| |
* | tor-guardmgr: Make Vanguard::select_relay take a RelayExclusion.Gabriela Moldovan2024-03-213-5/+40
| | | | | | | | | | | | | | 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 Moldovan2024-03-201-1/+1
| |
* | tor-circmgr: Move HsPathBuilder trait impl closer to struct definition.Gabriela Moldovan2024-03-201-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 Moldovan2024-03-201-0/+2
| | | | | | | | sets.
* | tor-circmgr: Move ExitPathBuilder::from_chosen_exit under the test mod.Gabriela Moldovan2024-03-201-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 Moldovan2024-03-205-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Moldovan2024-03-201-0/+2
| |
* | tor-circmgr: Cross-reference the hspath docs in the HsCircStubKind docs.Gabriela Moldovan2024-03-201-1/+3
| |
* | tor-circmgr: Move HsPathBuilder docs to the module-level.Gabriela Moldovan2024-03-201-39/+41
| |
* | tor-circmgr: Remove unnecessary Result wrapping.Gabriela Moldovan2024-03-202-10/+9
| |
* | tor-circmgr: Unconditionally define VanguardMode.Gabriela Moldovan2024-03-205-36/+43
| |
* | tor-circmgr: Apply deferred cargo fmt.Gabriela Moldovan2024-03-201-9/+2
| |
* | tor-circmgr: Rename pick_path to pick_path_with_vanguards.Gabriela Moldovan2024-03-202-5/+5
| | | | | | | | | | | | 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: Add an explanation and a couple of TODOs.Gabriela Moldovan2024-03-201-0/+8
| |
* | tor-circmgr: Clarify the TODO in launch_hs_circuits_as_needed.Gabriela Moldovan2024-03-201-2/+12
| |
* | tor-circmgr: Remove unnecessary AnonymousPathBuilder impl.Gabriela Moldovan2024-03-202-36/+30
| | | | | | | | | | | | | | | | 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: s/can_build/can_become.Gabriela Moldovan2024-03-201-2/+2
| |
* | tor-circmgr: Move match block to a separate function.Gabriela Moldovan2024-03-201-15/+20
| |
* | tor-circmgr: Remove an addressed TODO.Gabriela Moldovan2024-03-201-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 Moldovan2024-03-201-3/+23
| |
* | tor-circmgr: Implement vanguard path selection in HsPathBuilder.Gabriela Moldovan2024-03-201-8/+120
| | | | | | | | Part of #1279
* | tor-circmgr: Extract guard selection to a separate function.Gabriela Moldovan2024-03-201-43/+58
| | | | | | | | | | We're about to reuse this in the path selection with vanguards implementation.
* | tor-circmgr: Impl From<Vanguard> for MaybeOwnedRelay.Gabriela Moldovan2024-03-201-0/+10
| | | | | | | | | | We will soon need this in `HsPathBuilder` (for building `TorPath`s that consist of vanguards).
* | tor-guardmgr: Derive getters for Vanguard.Gabriela Moldovan2024-03-201-2/+1
| |
* | tor-circmgr: Remove unused lifetime.Gabriela Moldovan2024-03-201-1/+1
| |
* | tor-circmgr: Give pick_path a VanguardMgr (fmt).Gabriela Moldovan2024-03-201-4/+36
| |
* | tor-circmgr: Give pick_path a VanguardMgr.Gabriela Moldovan2024-03-203-6/+32
| |
* | tor-circmgr: Tell HsPathBuilder what kind of circuit stub is needed (fmt).Gabriela Moldovan2024-03-201-5/+2
| |
* | tor-circmgr: Tell HsPathBuilder what kind of circuit stub is needed.Gabriela Moldovan2024-03-204-7/+29
| |
* | tor-guardmgr: Add a function for getting the current VanguardMode.Gabriela Moldovan2024-03-201-0/+5
| |
* | tor-circmgr: Add more vanguards TODOs.Gabriela Moldovan2024-03-201-0/+2
| |
* | tor-circmgr: Handle the take_or_launch_stub_circuit result.Gabriela Moldovan2024-03-201-0/+13
| |
* | tor-circmgr: Make take_or_launch_stub_circuit vanguard-aware.Gabriela Moldovan2024-03-201-8/+59
| |
* | tor-circmgr: Add functions for checking if vanguards are enabled.Gabriela Moldovan2024-03-203-0/+29
| |
* | tor-circmgr: For each HS ClientCirc, note whether it's STUB or STUB+.Gabriela Moldovan2024-03-202-29/+102
|/ | | | Closes #1276
* Add and use RelayCellFormatTraitJim Newsome2024-03-205-137/+168
| | | | | | This lets us paramaterize types and functions by a particular relay cell format. We use this e.g. to statically parameterize the cell crypto functions, thereby removing some run-time branching in the hot path.
* Propagate RelayCellFormat selection up to where format decisions will be madeJim Newsome2024-03-206-32/+92
|
* Paramaterize layer crypto objects by cell formatJim Newsome2024-03-203-25/+49
|
* RelayCellBody: generalize over RelayCellFormatJim Newsome2024-03-202-13/+57
| | | | | Different formats will use different ranges for the `recognized` and `digest` fields.
* Add tor_proto::util::ct::is_zeroJim Newsome2024-03-201-0/+25
|
* RelayCellBody::is_recognized: improve doc commentNick Mathewson2024-03-201-1/+7
|
* RelayCellFormat::recognized -> is_recognizedJim Newsome2024-03-201-3/+3
|
* Merge branch 'clarify_n_hops' into 'main'Nick Mathewson2024-03-191-6/+11
|\ | | | | | | | | hsclient: Clarify "hs_hops" to avoid confusion. See merge request tpo/core/arti!2044
| * hsclient: Clarify "hs_hops" to avoid confusion.Nick Mathewson2024-03-141-6/+11
| | | | | | | | | | | | | | With the new structure here, it's less likely that somebody will think this is the length of a circuit that we are building. See #1332 for an instance of what we're trying to prevent.