| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| |
| |
| | |
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
|
| |/ |
|
| | |
|
| |\
| |
| |
| |
| | |
arti_client: Cleanup around keymgr feature and config
See merge request tpo/core/arti!1832
|
| | |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is needed for the replay logs.
It's a shame that CheckedDir is (i) a bit unergonomic (ii) has an
extra bool in it, or we could pass one of those instead of these two
arguments.
Since HS's might be created after startup, TorClient must have these
fields.
|
| | | |
|
| |/
|
|
|
| |
Call expand_state_dir only once. We'll reuse this value, another
time, too.
|
| | |
|
| |
|
|
|
| |
The previous name was ambiguous, and confusable with KeyPathError
(of which it is, basically, a variant).
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
We don't use this now that we have a `KeyMgrBuilder`.
|
| |
|
|
| |
Closes #1037
|
| |\
| |
| |
| |
| | |
Added macro for StorageConfig expand dir
See merge request tpo/core/arti!1728
|
| | | |
|
| |/
|
|
| |
This clippy rule appears to be enabled by default in Rust 1.74.0
|
| |
|
|
|
|
|
|
|
| |
While looking for differences, we found that C tor always
omits the flags and the hostname from a BEGIN message sent on an
onion service circuit. In torspec!179, we specified that behavior.
This patch brings arti into conformance.
Closes #1077.
|
| |
|
|
| |
Closes #1078.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Return a stream of requests, and document what to do with them.
|
| | |
|
| | |
|
| |
|
|
|
| |
This doesn't need to be an async_trait now that `Publisher::launch` is
no longer async.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
StaticSecret.
Previously, when retrieving `KS_hsc_desc_enc` keys (or any other x25519
keys) from the keystore, the keymgr would discard the public part of the
key (SSH private keys contain the public part of the key too). Instead
of discarding the public key and returning just the `StaticSecret`, the
keymgr now returns a `StaticKeypair`. This makes the x25519
`EncodableKey`/`ToEncodableKey` implementation consistent with the
ed25519 one (which retrieves key pairs rather than "unescorted"
secrets).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This threads the country codes work through the rest of the codebase:
- `tor-dirmgr` will now enable GeoIP with the embedded database when the
`geoip` future is enabled
- This can be extended later using the `DirMgrConfig` to allow
specifying a custom database; this is not done here, though
- `tor-circmgr`'s `SupportedCircUsage` and `TargetCircUsage` fields gain
new `country_code` members to allow filtering circuits by country
- These are `()` in builds where the `geoip` feature is not enabled --
doing it this way means we don't have to copy and paste huge swathes
of code, since we can't use `#[cfg]` in patterns
- `ExitPathBuilder` gains (hacked-in) support for choosing a relay with
the correct country code
- Due to the lack of conjuction, we just copy and paste a small bit,
pending further refactoring
- `StreamPrefs` now lets you specify a country code, letting embedders
make use of the feature
|
| | |
|
| |
|
|
| |
I spotted these while I was working on something else.
|
| | |
|
| | |
|
| |
|
|
|
| |
Nightly rustdoc now warns if you have a link that isn't necessary,
and if you have a link that might refer to two different things.
|
| | |
|
| | |
|
| |
|
|
| |
Closes #988
|
| | |
|
| | |
|
| |
|
|
| |
As demanded by rustfmt
|
| |
|
|
| |
This complements the new `check_bridge_pt` test.
|
| |
|
|
| |
This is a bugfix. Perhaps it is a security fix?
|
| | |
|
| |
|
|
|
| |
Previously there was a missing "not", and it didn't say what to do
about the error.
|