| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |/
| |
| |
| | |
This will make them easier to adjust when we serialise differently.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-keymgr: Use the new fs-mistrust APIs
See merge request tpo/core/arti!1769
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
`ArtiNativeKeystore::list` now returns an error if the parent directory
of any of its keys doesn't pass the `CheckedDir::read_dir` validation.
Part of #1117
|
| | |/
| |
| |
| |
| |
| |
| | |
This updates `ArtiNativeKeystore` to use the new `remove_file` API from
arti!1759.
Part of #1117
|
| |\ \
| |/
|/|
| |
| | |
Upgrade several crates in preparation for this month's release.
See merge request tpo/core/arti!1763
|
| | |
| |
| |
| | |
Gabi spotted that we weren't using this.
|
| | |
| |
| |
| |
| | |
This is a breaking change, since dirclient::Error
exposes http::Error.
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
tor-keymgr: Derive Builder for KeyMgr.
Closes #1114
See merge request tpo/core/arti!1760
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Eventually these will need to be auto-generated, but that is not
possible right now.
Context: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1760#note_2969841
|
| | | |
| | |
| | |
| | | |
We don't use this now that we have a `KeyMgrBuilder`.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
`KeyMgr` is soon going to have more fields, so now is a good time to
derive `Builder` for it.
Closes #1114
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-hsservice: improve Debug and serde
See merge request tpo/core/arti!1765
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
I found myself wanting to dump the IPT manager state in debug output
and the default Rust output was far too verbose.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This avoids writing "[42,\n 43,\n ...]" into the storage json,
which is (a) wasteful (b) hard to read by hand.
|
| | | | |
| | | |
| | | |
| | | | |
This will help us construct ArtiPaths
|
| | | |/
| |/| |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
HSS IPT persistence - preparatory work
See merge request tpo/core/arti!1755
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
"tor-hsservice: Make note_publication_attempt a method on
PublishIptSet" broke several of these.
(Rebasing to insert this at the appropriate point causes conflicts, so
I'm leaving it here at the tip.)
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
We're going to need to call this on startup to reestablish existing IPTs.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We are going to want to call this during startup, when we don't have
an IptManager yet.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This will mean if we refer to it in more places, we'll still only have
one place to change it.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Let's avoid cluttering the core algorithm file with this, which is
going to expand.
|
| | | | |
| | | |
| | | |
| | | | |
We're going to use time_store, which works nicely with Instants.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
There's a keymgr in imm now, so just use that.
|
| | | | |
| | | |
| | | |
| | | | |
As per the TODO.
|
| | | | |
| | | |
| | | |
| | | | |
This is now in fact plumbed through.
|
| | | | |
| | | |
| | | |
| | | | |
Mandatory format degradation.
|
| | | | |
| | | |
| | | |
| | | | |
Prepare for persistence.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We're going to move the last_descriptor_expiry_including_slop data out
of IptSet.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We're going to add another field here. No functional change, just
much churn.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
tor-keymgr: Add a top-level Error enum
Closes #1113
See merge request tpo/core/arti!1751
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We were previously returning `internal!`, which is incorrect: this is a
type of Arti keystore corruption error, not an internal error.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`KeystoreCorruptionError` is now part of `tor_keymgr::Error` and no
longer implements `KeystoreError` (the `KeystoreError` trait is now only
for keystore-specific errors).
|
| | | | |
| | | |
| | | |
| | | | |
We don't use this anymore.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, the `tor_keymgr::Error` type was `Box<dyn KeystoreError>`.
This forced us to impl `KeystoreError` for any error returned by the
keymgr (including those that were not coming from a `Keystore` impl).
Now, `tor_keymgr::Error` is an non-exhaustive enum and the `Box<dyn
KeystoreError>` opaque error type is only returned from `Keystore` impls
The reason we're keeping the `dyn KeystoreError` error type is because
it enables `Keystore` implementors to use their own error types. Without
it, they would have to choose from our (closed) set of error variants,
which may not be suitable for their keystore. See #901.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We are about to add a top-level `tor_keymgr::Error` enum that has a
variant that contains a `KeyType`. The error enum needs to be `Clone`,
so we need `KeyType` (both the dummy version and the "real" one, because
the `err` module is not cfg'd behind the `keymgr` feature) to be
`Clone`.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
KeystoreCorruptionError is about to become a variant of the top-level
keymgr Error enum (which doesn't exist yet but will be introduced in a
future commit).
|