summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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.
* | 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-144-19/+19
|/ | | | We're going to start using this type for _every_ kind of transport.
* 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
|
* 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
|
* tor-circmgr: Add a new hspath module for building onion service circuits.Gabriela Moldovan2024-03-142-0/+78
|
* tor-circmgr: Implement AnonymousPathBuilder for ExitPathBuilder.Gabriela Moldovan2024-03-142-162/+27
|
* 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.).
* Merge branch 'encapsulate_config_rs' into 'main'Nick Mathewson2024-03-1316-104/+158
|\ | | | | | | | | Encapsulate usage of config-rs inside tor-config. See merge request tpo/core/arti!2040
| * Grammar fix.gabi-2502024-03-131-1/+1
| |
| * Remove now-needless dependencies on the "config" crateNick Mathewson2024-03-133-4/+2
| | | | | | | | | | arti and arti-testing no longer need it; tor-config no longer needs it in dev-dependencies.
| * tor-config: Update documentation to not refer to config crate.Nick Mathewson2024-03-134-11/+12
| |
| * config: Remove From impls from config::ConfigErrorNick Mathewson2024-03-134-18/+18
| | | | | | | | These are another case of exposing the config crate.
| * tor-config: Put config::Config inside a wrapper type.Nick Mathewson2024-03-137-24/+35
| | | | | | | | This will let us replace Config with something better.
| * Use ConfigurationSource::Verbatim in our tests.Nick Mathewson2024-03-133-23/+41
| |
| * tor-config: Allow ConfigurationSource to be verbatim text.Nick Mathewson2024-03-134-14/+32
| | | | | | | | | | This will let us test our configuration logic without having to use the `config` crate directly.
| * tor_config: Hide macro-only re-exports.Nick Mathewson2024-03-133-12/+18
| | | | | | | | | | Our macros use these exports, but we don't need everybody else to be able to see them.
| * ptmgr: Use Itertools directly.Nick Mathewson2024-03-132-1/+2
| | | | | | | | Previously it used tor_config::Itertools, which is silly.
| * ptmgr: reformat Cargo.tomlNick Mathewson2024-03-131-1/+2
| |