summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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-204-0/+30
| |
| * tor-circmgr: For each HS ClientCirc, note whether it's STUB or STUB+.Gabriela Moldovan2024-03-202-29/+102
|/ | | | Closes #1276
* Merge branch 'prop340-decrypt-v2' into 'main'Nick Mathewson2024-03-208-68/+258
|\ | | | | | | | | RelayCellBody: support other RelayCellFormats See merge request tpo/core/arti!2045
| * 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.
* | Merge branch 'unmanaged_pt_v2' into 'main'Nick Mathewson2024-03-147-131/+293
|\ \ | |/ |/| | | | | | | | | Implement unmanaged pluggable transports Closes #755 See merge request tpo/core/arti!2043
| * tor-ptmgr: Comment fixesgabi-2502024-03-142-2/+2
| |
| * Add tests for configuring unmanaged transportsNick Mathewson2024-03-141-11/+49
| | | | | | | | | | Also, adapt the pt configuration tests to check for whether the error messages are as expected.
| * Add example unmanaged pluggable transport to config.Nick Mathewson2024-03-141-0/+10
| |
| * Move comment from factory_for_transport.Nick Mathewson2024-03-141-21/+21
| |
| * Clean up parts of the ptmgr docs that assume managed ptsNick Mathewson2024-03-142-4/+8
| |
| * Teach get_cmethod_for_transport to handle unmanaged transports.Nick Mathewson2024-03-142-3/+23
| | | | | | | | | | | | | | This will suffice to bypass the reactor when we're dealing with an unmanaged pluggable transport. Closes #755.
| * Lightly refactor get_cmethod_for_transportNick Mathewson2024-03-141-40/+41
| | | | | | | | Now that it's extracted, we can remove a mut and some nesting.
| * Rename cmethods => managed_cmethodsNick Mathewson2024-03-141-7/+11
| |
| * Extract cmethod lookup from factory_for_transport.Nick Mathewson2024-03-141-59/+77
| |
| * Adapt TransportConfig to support unmanaged transports.Nick Mathewson2024-03-142-8/+75
| | | | | | | | | | | | | | | | | | | | | | This is based on an original branch by Trinity. Instead of its original approach, which used an enum in the configuration to distinguish managed from unmanaged transports, this branch uses builder validation function to ensure that incompatible options aren't used together. Doing the lets us generate better error messages. Thanks: trinity-1686a <[email protected]>
| * Rename ManagedTransportConfig to TransportConfig.Nick Mathewson2024-03-146-23/+23
|/ | | | We're going to start using this type for _every_ kind of transport.
* Merge branch 'exitpath-onion-svc' into 'main'gabi-2502024-03-146-208/+349
|\ | | | | | | | | tor-circmgr: Add HsPathBuilder for building onion service paths See merge request tpo/core/arti!2038
| * tor-circmgr: Move pick_path out of AnonymousCircuitBuilder.Gabriela Moldovan2024-03-144-165/+193
| | | | | | | | This enables us to make `AnonymousCircuitBuilder` private.
| * tor-circmgr: Improve the HsPathBuilder docs.Gabriela Moldovan2024-03-141-0/+20
| |
| * tor-circmgr: Remove unused require_stability.Gabriela Moldovan2024-03-142-16/+1
| |
| * CI: Don't build arti with experimental features in rust-latest.Gabriela Moldovan2024-03-142-2/+3
| | | | | | | | | | | | | | | | Some experimental features (i.e. `vanguards`) break the shadow integration tests. Since the examples enable `experimental`, we need `rust-latest` to build arti using `-p arti`, rather than from the workspace level (because cargo does feature unification when building the packages as a workspace).
| * tor-circmgr: Add a TODO about vanguards path selection.Gabriela Moldovan2024-03-141-0/+24
| |
| * tor-circmge: Remove AnyRelayForOnionService.Gabriela Moldovan2024-03-141-34/+0
| |
| * tor-circmgr: Use HsPathBuilder instead of ExitPathBuilder.Gabriela Moldovan2024-03-141-6/+7
| |