| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | | |
This is going to contain body information, and the hashes, too.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This is going to be its own trait and it is usually best if macros are
named after traits, rather than having the macro derive a different
trait depending on meta attributes.
|
| | | |
| | |
| | |
| | |
| | | |
We're going to want this for cases where the hash computation
machinery didn't DTRT.
|
| | | |
| | |
| | |
| | | |
We're going to want this for sets of netdoc signature hashes.
|
| | | |
| | |
| | |
| | | |
For reuse when we split up the NetdocParseable derive.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
But, all signatures in the current protocol are irregular :-/.
|
| |/ / |
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| | |
Put channel without relay identities in the unauth_channels list.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Needed to handle client/bridge -> relay channels which are not
authenticated meaning they don't have a RelayIds so they can't be put in
the ListByRelayIds<>.
Feature gate it to "relay" as a client will never have those kind of
channels.
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
Http connect outbound rebased
See merge request tpo/core/arti!3789
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-dirclient: Support for extra-info requests
See merge request tpo/core/arti!3764
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Accidentally left out in the previous commit.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit implements support for extra-info requests in tor-dirclient.
It is gated behind the already existing `routerdesc` feature flag,
because entities building upon router descriptors most likely also need
extra-info, namely directory mirrors and directory authorities.
The implementation is largely based upon the existing one for router
descriptors, as they are of a very similar request format, most likely
due to simply being closely related anyways.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This way we get the whole task job to be aligned on one single now value
to avoid potential inconsistencies between expiry and key generation.
Fixes #2404
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Tests the key rotation code.
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This way we can unit tests properly.
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is almost a full rewrite of the crypto task which was needed in
order to support our relay signing certificate to be put in the keystore
which will be needed for the offline key feature.
Instead of having rotate_key() do all the things, we now instead do two
pass:
1. Remove all expired keys and certs.
2. Generate any missing keys.
This still results in using the minimum valid_until of all our keys for
the task sleep time.
We can know cleanup the local trait used for this gymnastic and trade it
for some more KeyMgr gymnastic.
Fixes #2404
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We documented our SystemTime-to-expiry conversion as always rounding
_up_, but we did not account for fractional seconds when doing so.
Therefore, if the requested expiration was set partway through the
first second of an hour, the conversion would round down.
This patch fixes that, and adds a regression test. I've confirmed
that the test fails without this patch.
Closes #2407
|
| | |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
These certificates use a weird expiration format: counting hours
since the unix epoch. Previously we had it implemented in two
different places. This patch centralizes it, since we are about to
become slightly more complicated.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This moves the logic for retrieving a public key from its corresponding
keypair into `get_from_store()`.
Fixes a bug which made it impossible to retrieve a public key using the
key specifier of its keypair type with any function other than
`KeyMgr::get()`.
|
| | | |
| | |
| | |
| | | |
This will be fixed in the next commit.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
I am about to repurpose this test helper for other item types too.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This will enable us to test the provenance of public keys.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is needed now that `get_or_generate_key_and_cert()`
uses the keypair specifier when generating the subject key.
Without this the cert retrieval tests fail because
`get_or_generate_key_and_cert()` now requires the subject key specifier
to have an associated keypair specifier ("KeyCertificateSpecifier has no
keypair specifier for the subject key?").
Note that even with this patch, the `get_cert_entry()` test still fails
because of a bug in the `get_*()` family of functions. This will be
fixed in a future commit.
|
| | |/
|/|
| |
| |
| |
| |
| | |
When generating a new keypair, we want to use the keypair specifier of
the subject key. Fixes a bug where this code was incorrectly generating
a keypair using the specifier of the public key type (the resulting
generated key had a `kp_` prefix instead of `ks_`).
|