| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
We don't use this now that we have a `KeyMgrBuilder`.
|
| |
|
|
| |
Closes #1037
|
| |
|
|
|
|
|
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
keys from."
This reverts commit 38a6c74c7894dc96b16c9039cacc2a4023977b05.
This also updates some tests to make them compile with the reverted
version of the code.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
enabled.
Hiding the underlying value of `enabled` enables us to give it a
different `auto` value depending on whether the `keymgr` feature is
enabled or not (it defaults to `true` if `keymgr` is enabled, and
`false` otherwise).
|
| |
|
|
|
|
|
| |
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).
|
| | |
|
| | |
|
| |
|
|
|
| |
If the Arti keystore is disabled, we have nothing to initialize the
`KeyMgr` with, so we might as well make it optional.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
These errors aren't ignored anymore.
|
| | |
|
| |
|
|
|
|
| |
Clippy nightly now detects when you're calling into_iter() and
passing the result into something that accepts an
`impl IntoIterator`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I identified the cases to replace by searching for the string
`.report()`. There are a few that I didn't change:
* A couple of cases that used anyhow::Error,
* One case that reported two Errors.
* Two cases in `tor_hsclient::err` that just did
`error!("Bug: {}")`.
I have also not audited the cases in `tor-hsclient` where we're using
`tor_error::Report` manually.
Nonetheless, closes #949.
|
| | |
|
| | |
|
| |
|
|
|
| |
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.
|