| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
| |
We've been capitalizing the "s" in "KeyStore" inconsistently. This
`s/KeyStore/Keystore/g` across the codebase.
|
| |\
| |
| |
| |
| | |
keymgr: Validate ArtiPaths, replace HsClientSpecifier with generic ArtiPathComponent
See merge request tpo/core/arti!1262
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
`ArtiPathComponent` is a more generic version of `HsClientSpecifier`.
|
| |\ \
| | |
| | |
| | |
| | | |
arti-client: Add keystore_dir to StorageConfig.
See merge request tpo/core/arti!1312
|
| | | |
| | |
| | |
| | | |
Part of #891
|
| | | |
| | |
| | |
| | | |
Part of #891
|
| | |/ |
|
| | | |
|
| |/
|
|
| |
As per IRC discussion, re lack of Vanguards.
|
| |
|
|
| |
Apply deferred rustfmt churn.
|
| |
|
|
| |
Apply deferred clippy churn.
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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`.
|
| |
|
|
| |
Otherwise we'll fill up our RAM with junk.
|
| | |
|
| |\
| |
| |
| |
| | |
Fix a rustdoc link.
See merge request tpo/core/arti!1274
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
| |
The `keymgr` module selects one of the key manager implementations
(dummy or "real") and exposes all the APIs we need, so we can remove
all of the cfgs related to the `keymgr` feature from `client.rs`.
Part of #897
|
| |
|
|
|
|
|
|
| |
This moves the key manager API selection (dummy vs "real" impl) into the
`keymgr` module. The module exports the dummy API if the `keymgr`
feature is disabled, and the impl from `tor-keymgr` otherwise.
Part of #897
|
| | |
|
| |
|
|
|
|
|
|
|
| |
We currently initialize the `ArtiNativeKeyStore` with a dummy root dir,
so when `ArtiNativeKeyStore` starts validating directories, this code
will start to fail. Let's preemptively ignore any errors coming from
`ArtiNativeKeyStore::new`. This is temporary and will be removed when we
introduce the key store config (and a real default value for the
keystore root dir).
|
| | |
|
| |
|
|
|
| |
ErrorDetail isn't PartialEq so we can't assert_eq! it.
But the discriminants will be.
|
| | |
|
| |
|
|
| |
This disposes of the TODO as well.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
(Taken from tpo/core/arti!1113 and squashed by Ian Jackson, with
conflicting hunk in StreamPrefs struct skipped.
The setter name is wrong, the cfg feature is wrong, there are no
docs, and the TODO is still there. These will be fixed in a moment.)
|
| |
|
|
|
| |
This should be enabled by default. There's still no setter for not,
nor is it honoured - those are separate TODOs.
|
| |
|
|
| |
No functional change yet. We'll use this shortly.
|
| |
|
|
| |
Disposes of two TODOs.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
TorClient now only uses the tor_keymgr::KeyMgr implementation if the
keymgr experimental feature is enabled. If the feature is disabled, a
dummy key manager implementation is used.
The new `keymgr` feature depends on `onion-client`, because the key
manager is only used for HS client auth.
|
| | |
|
| |
|
|
|
|
|
| |
This simplifies usage quite a bit and will enable us to implement a
dummy `KeyMgr` that doesn't depend on the error types from tor-keymgr
(which will replace the "real" `KeyMgr` if the keymgr feature is
disabled).
|
| | |
|
| |
|
|
|
|
| |
The HS `HsClientSpecifier` and `HsClientSecretKeySpecifier` are moved to
`tor-hsclient`. The HS service secret key specifier stubs are moved to
`tor-hsservice`.
|
| |
|
|
|
|
|
| |
The `KeyMgr` is now initialized with an `ArtiNativeKeyStore` built from
an invalid key store root dir (this is alright for the purposes of this
proof-of-concept, since `ArtiNativeKeyStore::new` won't fail as it
doesn't currently validate the keystore root dir).
|
| |
|
|
|
|
|
| |
This means `KeyMgr` users don't need to specify the underlying key type
(e.g. `ed25519::Keypair`) when retrieving keys. Instead, they can just
specify the type required (as long as it implements `ToEncodableKey`),
e.g. `HsClientIntroAuthKeypair`.
|
| |
|
|
|
| |
`TorClient` now uses a `KeyMgr` to retrieve the `HsClientSecretKeys`
client auth keys passed to `get_or_launch_connection`.
|
| |
|
|
| |
In arti-client it's called "onion-client", not "hs-client".
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Now ClientCirc is no longer `Clone`, and the things that need it
to be `Clone` instead return and use an Arc<ClientCirc>
We're doing this so that ClientCirc can participate in the RPC
system, and so that its semantics are more obvious.
Closes #846.
Thanks to the type system, this was a much simpler refactoring than
I had feared it would be.
|
| |
|
|
|
| |
Because of #837, we won't be able to work with _every_ TorClient<R>,
so I'm only going to be using TorClient<PreferredRuntime> for now.
|
| |\
| |
| |
| |
| | |
More plumbing for hs connections
See merge request tpo/core/arti!1098
|
| | |
| |
| |
| | |
Apply this churn, which I deferred for ease of review.
|