| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \
| |/
|/|
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| | |
It does not help that C tor has a set of parameters and a set of
configuration options with exactly the same names which configure
the same thing in two slightly different ways.
|
| | |
| |
| |
| | |
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).
|
| | |
| |
| |
| | |
We don't need this macro now that we adhoc-derive the implementation.
|
| | | |
|
| |/ |
|
| |\
| |
| |
| |
| | |
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
|
| | | | |
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
Provide module for handling storage of times on disk
See merge request tpo/core/arti!1723
|
| | | |
| | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2960861
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2961013
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2960877
and following some IRC discussion.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
These are the logically necessary accessors.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I found time handling in IPT persistence very confusing to think
about, so I propose to deal with all of the hard questions in a
module.
Again we have a doctest so use the technique we used for having
timeout_track not be semver-exposed.
|
| | | |
| | |
| | |
| | | |
Retain the TODO for making this properly pub somewhere.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
denotator.
Note that instead of matching each individual component of a key
denotator (e.g. using a glob pattern like `*_*_*`), we now match the
entire denotator (using the `*` pattern) and let `KeyDenotator::decode`
handle its parsing.
In the long run, this approach should reduce code duplication (as
the decoding logic for each type is centralized in its `KeyDenotator`
implementation) and the need for complex glob patterns.
Closes #1070
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Underscores are used within `ArtiPath`s as visual separators. To reduce
ambiguity, we now use a different character for separating the
key denotators (e.g. time periods) from the rest of the `ArtiPath`.
Closes #1063
|
| | | | |
|