| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This commit re-exports `ConfigurationSources` in `arti_client::config`.
The similar `ConfigurationSource` is already publicly exported, but it
unfortunately it is pretty useless without a `ConfigurationSources` to
which it belongs.
|
| |
|
|
|
| |
(This isn't a boolean, because we really don't want people ignoring
all possible required protocols.)
|
| |
|
|
|
| |
This time, we make explicit that it is a _base_ resolver,
and that it is client-only.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Rather than using `arti_client::config::path_resolver()`, third-party
code can get the path resolver using `TorClientConfig`s
`AsRef<CfgPathResolver>` impl instead.
|
| | |
|
| |
|
|
| |
Also updated to use the `PATH_RESOLVER` resolver.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a big change across multiple crates since there isn't a good way
to break it up.
This changes the signature of `CfgPath::path` to:
```
pub fn path(&self, path_resolver: &CfgPathResolver) -> Result<PathBuf, CfgPathError> {
```
Making this change means that our global `CfgPathResolver` needs to be
stored in the 'arti-client' library instead of `tor-config-path`, and
must be passed through to anything that calls `path` to expand the
variables.
|
| |
|
|
|
| |
Also updated other packages to get `CfgPath` directly from
`tor-config-path' instead of 'tor-config'.
|
| |
|
|
|
|
|
|
| |
The config will soon contain secondary C Tor keystore configuration too,
so the `arti` namespacing is about to stop making sense.
I recommend reviewing this commit using
`git diff --color-moved=zebra --ignore-space-change`
|
| |
|
|
|
|
|
| |
This was disabled due to lack of vanguard support. Now that we support
vanguards, we should enable this by default.
Fixes: #1402
|
| | |
|
| |
|
|
| |
Nothing uses this yet.
|
| | |
|
| |
|
|
| |
Tests are not entirely trivial and will come in a moment.
|
| | |
|
| | |
|
| |
|
|
|
| |
I am about to use `state_dir()` outside of `TorClient`, so I am
preemptively moving it to `TorClientConfig`.
|
| |
|
|
|
| |
`BuilderExt` will soon be used in tor-hsservice too (for configuring the
mistrust settings of the client "restricted mode" authorization keys).
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
We want to export the `VanguardConfig` even if the `vanguards` feature
is disabled (we will need to unconditionally include it in the arti
config).
Note that if `vanguards` are disabled, the `VanguardMode` from the
`VanguardConfig` can only be `Dsiabled`.
|
| |
|
|
|
|
|
| |
This is already exported via the `pub mod vanguards` module, so there is
no need to export it from the top-level too. This *is* a breaking change,
but the downstream fix is trivial (and the type should never have been
exported directly from `arti_client::config` in the first place).
|
| |
|
|
| |
I believe this is how we expose the parts of TorClientConfig?
|
| |
|
|
|
| |
Also, adapt the pt configuration tests to check for whether the
error messages are as expected.
|
| |
|
|
| |
We're going to start using this type for _every_ kind of transport.
|
| |\
| |
| |
| |
| | |
Encapsulate usage of config-rs inside tor-config.
See merge request tpo/core/arti!2040
|
| | |
| |
| |
| |
| | |
This will let us test our configuration logic without having
to use the `config` crate directly.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Closes #1202
|
| |
|
|
|
|
| |
This resolves a `TODO HSS` in arti-client.
Part of #1187
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
dirmgr: Make the `dir_mgr_config` method public
Closes #1175
See merge request tpo/core/arti!1847
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |/ |
|
| | |
|
| |
|
|
|
| |
keymgr is always on when it is needed, so experimental-api isn't
needed here.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This variable contains precisely the value of cache_dir from
arti_client::config::StorageConfig and it should therefore have the
same name.
|
| | |
|
| | |
|
| | |
|
| | |
|