| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| | |
hssvc-ipt-algorithms.md: Move and fix up some text
See merge request tpo/core/arti!1777
|
| | |
| |
| |
| |
| |
| | |
This rune
RUSTDOCFLAGS="-Dwarnings --cfg docsrs" nailing-cargo +nightly doc --all-features --document-private-items --no-deps
is clean now.
|
| | |
| |
| |
| |
| | |
This is describing the detailed algorithm in
idempotently_progress_things_now. Move it there (and add an xref).
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This is describing our data structures and IPT states. But we have
this documented elsewhere, largely.
There are a few sentences here that can usefully be replaced with a
bit of extra text in the data structure docs.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| |
| |
| |
| |
| |
| | |
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
|
| |\ \
| | |
| | |
| | |
| | | |
tor-hsservice: improve Debug and serde
See merge request tpo/core/arti!1765
|
| | |/ |
|
| |\ \
| | |
| | |
| | |
| | | |
HSS IPT persistence - preparatory work
See merge request tpo/core/arti!1755
|
| | | |
| | |
| | |
| | | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
It might come back.
This introduces a new bug relating to logging, but it does abolish one
of the variants of ReactorError.
|
| | |
| |
| |
| | |
IHNI why rustfmt wants to do this *now*
|
| | |
| |
| |
| |
| |
| | |
We're going have it in an variant in FatalError.
Also make it impl HasKind and have IptError delegate to that.
|
| | |
| |
| |
| | |
And explain why this isn't just a question of merging it with FatalError.
|
| |/
|
|
| |
The call to reactor.run() in publish.rs, launch(), calls warn_report.
|
| |\
| |
| |
| |
| |
| |
| | |
HSS: Send DosParams extension to introduction points.
Closes #723
See merge request tpo/core/arti!1740
|
| | |
| |
| |
| | |
It's available when the HsIntro=5 subprotocol version is present.
|
| | |
| |
| |
| | |
Closes #723.
|
| | |
| |
| |
| |
| |
| | |
We want the configuration, at least, so that we can see our DoS
settings. I expect we'll also want the watcher so that we can
see _changes_ in the DoS settings.
|
| | | |
|
| |/
|
|
|
|
|
|
|
| |
We only return this error if the identity key is missing from the
keystore.
This change will also help us abolish the `.role()` method on
`KeySpecifier`s (it was only needed for populating the string of a
`MissingKey` error).
|
| |\
| |
| |
| |
| | |
tor-hsservice: Remove and downgrade several TODO HSS
See merge request tpo/core/arti!1742
|
| | |
| |
| |
| | |
These are definitely blockers.
|
| | |
| |
| |
| | |
I don't understand what this TODO is about, so let's remove it.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This code was identical to that from `read_blind_id_keypair`.
|
| | | |
|
| | |
| |
| |
| | |
This will soon be used in `publish/descriptor.rs` too.
|
| | |
| |
| |
| | |
generate_revision_counter.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This code is no longer needed: we're now using
`generate_revision_counter()` to generate revision counters using the
OPE scheme from appendix F.2 rend-spec-v3.
|
| | |
| |
| |
| |
| |
| |
| | |
The publisher now generates revision counters according to the "encrypted time
in period" scheme described in appendix F.2 rend-spec-v3.
Part of #1053
|
| | |
| |
| |
| | |
Part of #1053
|
| |/
|
|
| |
`period` is actually a `TimePeriodContext`, not a `TimePeriod.
|
| |\
| |
| |
| |
| |
| |
| | |
tor-keymgr: Minor doc improvements
Closes #1066
See merge request tpo/core/arti!1731
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
We don't really need it.
Closes #1066
|
| | | |
|
| |/ |
|