summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| |
* | Add unknown-lints exception to examplesNick Mathewson2024-03-137-1/+7
| | | | | | | | | | We need this to avoid warnings when runnning non-nightly clippy on these examples.
* | Run maint/add_warning.Nick Mathewson2024-03-13235-0/+235
|/
* Merge branch 'prop340-decoding-api' into 'main'Nick Mathewson2024-03-1314-94/+364
|\ | | | | | | | | relay_cell: Update decoding API to support prop340 format See merge request tpo/core/arti!2034
| * Remove RelayMsgOuter::decode_from_readerJim Newsome2024-03-121-11/+3
| | | | | | | | | | | | The semantics of such a function that supports both the legacy V0 format and the V1 packing and fragmentation format are a bit tricky. Since it's not used outside of its module, we can simply remove it.
| * relay-cell: Update relay cell decoding API for prop340Jim Newsome2024-03-128-56/+337
| | | | | | | | | | | | | | | | | | | | | | Prop 340: https://spec.torproject.org/proposals/340-packed-and-fragmented.html This updates the decoding API to support multiple versions of the relay cell encoding, including the new encoding proposed in prop340 that supports relay message packing and fragmentation. This commit doesn't actually add support for that new encoding yet.
| * Rename UnparsedRelayCell -> UnparsedRelayMsgJim Newsome2024-03-1212-48/+45
| | | | | | | | | | For consistency with the terminology proposed in https://gitlab.torproject.org/tpo/core/torspec/-/issues/253
* | Fix some rustdoc warnings.Nick Mathewson2024-03-127-13/+14
|/ | | | | These are mostly about explicitly linking to things that were already in scope.
* tor-relay-selection: Use partition() in testing code.Nick Mathewson2024-03-121-9/+3
|
* Rename and clarify result_is_relaxed.Nick Mathewson2024-03-121-5/+5
|
* Refactor RelaySelector to make its invariants less subtle.Nick Mathewson2024-03-121-48/+61
|
* Add a comment about future extensions to RestrictionInner.Nick Mathewson2024-03-121-0/+6
|
* tor-relay-selector: Clarify "flexible" vs "relaxed" a little.Nick Mathewson2024-03-122-3/+4
|
* Annotate usage of low_level_predicate_permits_relayNick Mathewson2024-03-122-1/+15
|
* relay-selection: Remove the extension traits for Relay and NetDirNick Mathewson2024-03-122-64/+0
| | | | | | I thought we would need these, but after the latest refactoring they turned out not to have any users, and one of them had only deprecated methods. Best just to drop them.
* Rename the RelayPredicate trait to discourage its being used directly.Nick Mathewson2024-03-127-30/+48
| | | | Everybody who can, should instead use a RelaySelector.