aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-client/src/config.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* arti, arti-client, tor-keymgr: Remove keystore dir configuration.Gabriela Moldovan2024-02-211-28/+0
| | | | Closes #1202
* tor-keymgr: Abolish ArtiNativeKeystoreConfig::expand_keystore_dir.Gabriela Moldovan2024-01-101-2/+2
| | | | | | This resolves a `TODO HSS` in arti-client. Part of #1187
* arti-client::config: Turn a TODO HSS into #1185.Nick Mathewson2024-01-091-1/+1
|
* Merge branch 'public-dir-mgr-config' into 'main'Ian Jackson2024-01-091-1/+1
|\ | | | | | | | | | | | | dirmgr: Make the `dir_mgr_config` method public Closes #1175 See merge request tpo/core/arti!1847
| * dirmgr: Make the `dir_mgr_config` method publicEmil Engler2024-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | This commit makes the `dir_mgr_config` method of the `TorClientConfig` struct public. It might be questionable whether we should make this function public or switch to a `TryInto` trait in general, which also seems like an even Rustier solution Rustier solution. Fixes #1175
* | Fix typosDimitris Apostolou2024-01-081-1/+1
|/
* arti-client: Add an accessor for the keystore config.Gabriela Moldovan2023-12-141-0/+5
|
* arti_config: remove experimental-api as way to enable keymgr.Nick Mathewson2023-12-131-7/+4
| | | | | keymgr is always on when it is needed, so experimental-api isn't needed here.
* arti-client: use sub_builder for ArtiNativeKeystoreConfigNick Mathewson2023-12-131-10/+3
| | | | | | | | | The sub_builder pattern changes `StorageConfigBuilder` so that instead of holding an `Option<ArtiNativeKeystoreConfig>`, it holds an `ArtiNativeKeystoreConfigBuilder`. This makes it a little more ergonomic to use from Rust, and lets us use defaults for the builder fields so that we can make them optional in our configuration.
* arti_client: enable keymgr when keymgr feature is configuredNick Mathewson2023-12-131-11/+9
| | | | | | | This change causes arti_client to have a configurable keymgr when the onion-service-service feature is present, so that you no longer need to configure "experimental" or "experimental-api" as well in order to get a working onion service.
* arti config: Declare who is supposed to add path leaf componentsIan Jackson2023-12-041-0/+10
| | | | | | Currently some components do this one way, and some the other. This is confusing. We should do it one way. This way is slightly better because it makes navigation with `grep` easier.
* tor-dirmgr: Rename DirMgrConfig.cache_path to cache_dirIan Jackson2023-12-041-1/+1
| | | | | | This variable contains precisely the value of cache_dir from arti_client::config::StorageConfig and it should therefore have the same name.
* arti config: Declare cache_dir /var/cache like natureIan Jackson2023-12-041-0/+5
|
* arti config: Declare cache_dir is not necessarily just the Tor directoryIan Jackson2023-12-041-1/+1
|
* Added macro for StorageConfig expand dirrdbo2023-11-171-13/+15
|
* arti-client: Re-export onion-service configuration types.Nick Mathewson2023-10-031-0/+6
|
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-231-0/+1
|
* Use "typos-cli" to fix a bunch of typos.Nick Mathewson2023-08-221-1/+1
|
* arti-client: fix conditional unused_import and dead_code warningsNick Mathewson2023-08-161-3/+5
|
* arti-client: Use Path::join instead of format!.Gabriela Moldovan2023-08-141-1/+1
|
* arti-client: Make from_directories() derive the keystore_dir from state_dir.Gabriela Moldovan2023-08-111-1/+39
| | | | Closes #988
* bridge config: Fix an error message slightlyIan Jackson2023-08-081-1/+1
|
* arti-client config test: partially un-degrade formattingIan Jackson2023-08-081-10/+10
|
* arti-client config test: degrade formattingIan Jackson2023-08-081-12/+18
| | | | As demanded by rustfmt
* arti-client config: Add an extra test case for bridgesIan Jackson2023-08-081-0/+45
| | | | This complements the new `check_bridge_pt` test.
* bridge config: reject bridges=true when there are no bridgesIan Jackson2023-08-081-2/+0
| | | | This is a bugfix. Perhaps it is a security fix?
* Add error if [[bridges.transports]] isn't written in config fileSaksham Mittal2023-08-011-10/+201
|
* arti-client: Use a default keystore config if `experimental-api` is disabled.Gabriela Moldovan2023-07-201-3/+3
| | | | | | | The `experimental-api` was only meant to apply to the use of the unstable `ArtiNativeKeystoreConfig` in the Arti config. `experimental-api` was _not_ supposed to be used for enabling/disabling the keystore (that's what the `enabled` flag is for).
* arti-client: Use the config struct from tor-keymgr.Gabriela Moldovan2023-07-131-85/+11
|
* Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-101-0/+1
|
* Additional documentation around bridges/PT configurationNick Mathewson2023-07-031-1/+14
| | | | | | | This tries to flesh out some of the details for users who may be new to bridges and PTs. Closes #706.
* Add a missing "experimental-api" rustdoc notationNick Mathewson2023-06-291-0/+1
|
* Merge branch 'keymgr-config' into 'main'gabi-2502023-06-291-0/+97
|\ | | | | | | | | arti-client: Add keystore_dir to StorageConfig. See merge request tpo/core/arti!1312
| * arti-client: Fix clippy lint.Gabriela Moldovan2023-06-291-0/+1
| |
| * arti-client: Make keystore_dir an experimental option.Gabriela Moldovan2023-06-291-24/+17
| |
| * arti-client: Add TODO regarding keystore_dir deserialization.Gabriela Moldovan2023-06-291-0/+3
| |
| * tor-config: Make ItemOrBool an experimental feature.Gabriela Moldovan2023-06-291-3/+22
| |
| * arti-client: Add expand_keystore_dir function.Gabriela Moldovan2023-06-291-0/+13
| | | | | | | | Part of #891
| * arti-client: Add keystore_dir to StorageConfig.Gabriela Moldovan2023-06-291-1/+69
| |
* | Turn off HS client connections by defaultIan Jackson2023-06-291-1/+1
|/ | | | As per IRC discussion, re lack of Vanguards.
* HS configuration: Plumb configuration throughIan Jackson2023-06-281-0/+2
| | | | | Invent a trait a la circmgr config for the hs client connector config. Plumb a suitable value all the way through to the code that will use it.
* HS configuration: Add and honour `allow_onion_addrs` in configurationIan Jackson2023-06-281-0/+7
| | | | | | | We put this in `[address_filter]`. The interaction with the corresponding stream preference is a bit complicated. We must turn the stream pref into a `BoolOrAuto`.
* add a few more comments on PTstrinity-1686a2023-06-091-0/+2
|
* complement general documentation on bridges and pttrinity-1686a2023-06-071-0/+2
|
* move snowflake example to dedicated file and comment it moretrinity-1686a2023-06-071-27/+5
|
* add documentation for configuring snowflake pttrinity-1686a2023-06-071-4/+27
|
* arti-client: Only run BridgesConfig doc test if pt-client feature is enabled.Gabriela Moldovan2023-05-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the tests run as part of `cargo test -p arti-client` fails because the `pt-client` feature is not enabled by default: ``` failures: ---- src/config.rs - config::BridgesConfig (line 221) stdout ---- error[E0432]: unresolved import `arti_client::config::pt` --> src/config.rs:225:26 | 7 | use arti_client::config::pt::ManagedTransportConfigBuilder; | ^^ could not find `pt` in `config` error[E0599]: no method named `bridges` found for mutable reference `&mut BridgesConfigBuilder` in the current scope --> src/config.rs:233:19 | 15 | builder.bridges().bridges().push(bridge_1); | ^^^^^^^ private field, not a method error[E0599]: no function or associated item named `default` found for struct `BridgeConfigBuilder` in the current scope --> src/config.rs:236:48 | 18 | let mut bridge2_builder = BridgeConfigBuilder::default(); | ^^^^^^^ function or associated item not found in `BridgeConfigBuilder` error[E0599]: no method named `bridges` found for mutable reference `&mut BridgesConfigBuilder` in the current scope --> src/config.rs:247:19 | 29 | builder.bridges().bridges().push(bridge2_builder); | ^^^^^^^ private field, not a method error[E0599]: no method named `transports` found for mutable reference `&mut BridgesConfigBuilder` in the current scope --> src/config.rs:255:19 | 37 | builder.bridges().transports().push(transport); | ^^^^^^^^^^ method not found in `&mut BridgesConfigBuilder` error: aborting due to 5 previous errors Some errors have detailed explanations: E0432, E0599. For more information about an error, try `rustc --explain E0432`. Couldn't compile the test. failures: src/config.rs - config::BridgesConfig (line 221) test result: FAILED. 5 passed; 1 failed; 3 ignored; 0 measured; 0 filtered out; finished in 2.10s ``` This disables the `BridgesConfig` doc test if the `pt-client` feature is not enabled. Closes #843 Signed-off-by: Gabriela Moldovan <[email protected]>
* tor_client: Add some example code for BridgeConfig.Nick Mathewson2023-03-241-0/+49
| | | | Closes #791
* arti-client: Make TransportConfigListBuilder public.Nick Mathewson2023-03-241-1/+8
| | | | | | | Without this there's no convenient way to add a transport without messing with serde/toml. Found while working on #791
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-271-0/+1
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.