| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| | |
hsservice: Log hsid whether we just generated it or not.
See merge request tpo/core/arti!1830
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
With this change you can find your hsid in your logs
(if safe logging is off) even if you forgot to notice it the first
time around.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
This will allow us to more faithfully model the actual Arti state
directory layout.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The publisher logs a nice `info!` message when it receives the shutdown
signal. The publisher can infer that the service is shutting down from
the errors received on its various receiver channels (i.e. from the
errors that suggest the sender was dropped), but listening for the
shutdown signal is nicer.
|
| |/
|
|
|
|
|
| |
This will be used by the descriptor publisher soon (we want to abolish
its `ReactorError` altogether, and to do that, we need to get rid of
`ReactorError::ShuttingDown`. `ShuttingDown::Terminate` happens to be a
suitable replacement).
|
| | |
|
| |
|
|
|
|
| |
(This doesn't yet send any status events.)
Begins work on arti#1083.
|
| | |
|
| | |
|
| |
|
|
|
| |
We will soon need another component to be able to subscribe to the
shutdown signal.
|
| |
|
|
| |
Closes #1043
|
| |
|
|
|
|
| |
We need this because the key specifier types will soon be owned types
too (they will soon grow a From<&KeyPath> impl). We _could_ make them
store `Cow`s instead, but I think that's a premature optimization.
|
| |
|
|
|
|
|
|
| |
Actually, a SleepProvider.
We will need this for timestamp conversion during loading and saving.
channel() needs it to load. note_publication_attempt needs it for
saving, as does borrow_for_update.
|
| |
|
|
| |
Whitespace changes that make the next commit less noisy.
|
| |
|
|
| |
We're going to want to reuse this.
|
| |
|
|
| |
This is going to load the state from disk.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Introduce type aliases for the Arc<dyn >. Add Send and Sync bounds.
* Pass the storage manager to ipt_mgr and the per-key handle to ipt_set.
* Store the handles in ipt_mgr::Immutable and IptPublishSet.
* Change the ipt mgr storage key to "hs_ipts_{nickname}". This avoids use
of "_" as a non-separator, and allows the possibility of other
submodules using other storage keys too - and, here, we introduce one.
* Provide a dummy struct for the IPT set state, which is needed to
define the type alias etc. We'll populate that struct later.
|
| |\
| |
| |
| |
| |
| |
| | |
Convert to the latest versions of dalek-cryptography
Closes #808
See merge request tpo/core/arti!1767
|
| | |
| |
| |
| |
| | |
With this change, we no longer expose the ExpandedSecretKey
unescorted, which makes it harder to misuse the API.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This code was needed with the old version of dalek-cryptography,
which wasn't compatible with up-to-date versions of the `rand`
crate(s). But now that we've upgraded, we can drop this.
(We could have left it around and deprecated it, but we are already
making a breaking change to tor-llcrypto by upgrading
dalek-cryptography.)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The main changes that we have to adjust for are as follows:
* In x25519-dalek:
* `StaticSecret` is now behind a feature.
* `StaticSecret::new` is deprecated in favor of
`StaticSecret::random_from_rng`.
* StaticSecret no longer does its own clamping.
* In ed25519-dalek:
* `SecretKey` has (in effect) been renamed to `SigningKey`. The name
`SecretKey` is now an alias for `[u8; 32]`.
* `SigningKey` is effectively a keypair, since it contains a
public key as well.
* `PublicKey` has been renamed to `VerifyingKey`.
* The functions to extract a signing key and verifying key have
been renamed as you might expect.
* `ExpandedSecretKey` has been moved to `hasmat` and no longer
implements `sign`.
* `ExpanededSecretKey` now has as its elements a scalar and a hash
prefix.
* Various functions that took `&[u8]` now take `&[u8; N]`.
* We no longer need a wrapper for older versions of rand.
There is a single test in tor-keymgr that does not pass. I've
marked it as ignore for now, in hopes that @gabi-250 can help me
figure it out.
This closes #808. There are several changes I want to make before
we merge, however. They are marked with TODO DALEK.
|
| | |
| |
| |
| |
| |
| | |
from obtain_in.
As per irc discussion.
|
| | |
| |
| |
| |
| |
| | |
from UsingTempDir.
As per irc discussion.
|
| | | |
|
| | |
| |
| |
| | |
We're going to want this for other tests in this crate.
|
| |/ |
|
| |\
| |
| |
| |
| |
| |
| | |
tor-keymgr: Derive Builder for KeyMgr.
Closes #1114
See merge request tpo/core/arti!1760
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
`KeyMgr` is soon going to have more fields, so now is a good time to
derive `Builder` for it.
Closes #1114
|
| | |
| |
| |
| | |
This is now in fact plumbed through.
|
| |/
|
|
|
|
|
|
| |
This struct is going to be responsible for loading and storing
some persistent state, so it makes sense for it to handle
initialisation.
This also reduces duplication.
|
| |
|
|
|
|
| |
We're going have it in an variant in FatalError.
Also make it impl HasKind and have IptError delegate to that.
|
| | |
|
| |
|
|
| |
Closes #1069
|
| |
|
|
|
|
| |
The condition for logging the "generated a new identity.." message was
wrong (`generate_with_derive()` returns `Some(())` if it generated a new
key, and `None` if the key was already present).
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
We will need the string rerpresentation (minus the TimePeriod or any
other metadata) of `HsSvcKeyRole`s for building `KeyPathPattern`s.
|
| | |
|
| |
|
|
| |
cargo fmt, precisely.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
Initial work on top-level onion service configuration
See merge request tpo/core/arti!1638
|