aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-ptmgr/src/config.rs
Commit message (Collapse)AuthorAgeFilesLines
* did TODO/Changed MissingFieled into MissingOneOfpryty262026-06-201-3/+3
|
* ptmgr: Migrate to derive_deftly(TorConfig)Nick Mathewson2026-02-171-12/+11
|
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-1/+1
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* tor-config: removed re-export of `CfgPath`Steven Engler2024-11-041-1/+2
| | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* ptmgr: Warn on non-local unmanaged PTsNick Mathewson2024-09-251-0/+5
|
* tor-ptmgr: added a 'managed-pts' default featureSteven Engler2024-08-211-6/+28
| | | | | This conditionally compiles most of the code related to managed transports.
* tor-ptmgr: fix warnings when 'tor-channel-factory' isn't enabledSteven Engler2024-08-201-2/+3
|
* tor-ptmgr: added the `TransportOptions` enumSteven Engler2024-08-201-18/+77
| | | | | | | | This is a little nicer and more type-safe to work with than `TransportConfig`. It would have been nice to change `TransportConfig` directly instead, but it would slightly change arti_client's public API, and would require an extra field in the `[[bridges.transports]]` toml table.
* ptmgr: Use impl_standard_builder for TransportConfigNick Mathewson2024-04-021-1/+3
| | | | (This is !Default, since there is no default TransportConfig.)
* tor-ptmgr: Comment fixesgabi-2502024-03-141-1/+1
|
* Clean up parts of the ptmgr docs that assume managed ptsNick Mathewson2024-03-141-2/+6
|
* Teach get_cmethod_for_transport to handle unmanaged transports.Nick Mathewson2024-03-141-0/+14
| | | | | | | This will suffice to bypass the reactor when we're dealing with an unmanaged pluggable transport. Closes #755.
* Adapt TransportConfig to support unmanaged transports.Nick Mathewson2024-03-141-3/+58
| | | | | | | | | | | 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-141-2/+2
| | | | We're going to start using this type for _every_ kind of transport.
* tor-guardmgr: bridges: fix typo in getter docIan Jackson2023-07-211-1/+1
|
* tor-guardmgr: bridges: getter for ManagedTransportConfigBuilder.protocolsIan Jackson2023-07-201-0/+9
| | | | | It's a bit of a wart that tor-ptmgr calls these "protocols" and tor-guardmgr calls these "transport names".
* Additional documentation around bridges/PT configurationNick Mathewson2023-07-031-2/+11
| | | | | | | This tries to flesh out some of the details for users who may be new to bridges and PTs. Closes #706.
* Draft: Pluggable transport managereta2022-11-281-37/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements `PtMgr`, a pluggable transport manager responsible for keeping track of spawned PTs and spawning them to satisfy client requests on demand. It does this in two parts: the `PtMgr` type exported to the rest of the code, and the background `PtReactor` that actually does the spawning; this design ensures that only one attempt to spawn a PT is active at a time, and will prove useful later for implementing e.g. timeouts. A few changes were necessary to the rest of the code in order to make this all work out. Namely: - `TransportRegistry`'s API didn't make any sense for two reasons: - It wasn't feasible for implementors to implement `ChannelFactory`, since that'd require constructing a `ChanBuilder` (which requires a bootstrap reporting event sender). - Treating the PT manager as a registry is over-general; it's only necessary for it to spawn pluggable transports, so saddling it with other concerns didn't make any sense. - (It's possible to get extensibility for arbitrary user customization by just letting the user swap in a new `ChannelFactory`, anyway.) - Therefore, the `PtMgr` implements the new `AbstractPtMgr` trait, which is far more narrowly focused; this only exists to solve a dependency loop, and is documented as such. - This provides a `TransportHelper` instead of a `ChannelFactory`.
* tor-ptmgr: make configuration use builders, plumb into arti-clienteta2022-11-161-8/+39
| | | | | | | This brings the draft configuration mechanisms in tor-ptmgr in line with the config in other crates, using builders. It also plumbs the config type through into the main `arti-client` config, and adds some example lines to `arti-example-config.toml`.
* Add a few comments based on review.Nick Mathewson2022-09-231-0/+3
|
* Add the skeleton of a tor-ptmgr crateNick Mathewson2022-09-231-0/+30
When complete, this crate will handle launching and using pluggable transports on demand.