| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
| | | |
| | | |
| | | | |
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).
|
| | | | |
| | | |
| | | |
| | | | |
An `SshKeyError` *is* an Arti keystore error, so let's unify the two.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Only send Content-Length when needed.
See merge request tpo/core/arti!1761
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
According to RFC 9110:
A user agent SHOULD send Content-Length in a request when the
method defines a meaning for enclosed content and it is not sending
Transfer-Encoding. For example, a user agent normally sends
Content-Length in a POST request even when the value is 0
(indicating empty content). A user agent SHOULD NOT send a
Content-Length header field when the request message does not
contain content and the method semantics do not anticipate such
data.
Part of #1024
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
fs-mistrust: Add read_directory and remove_file to CheckedDir.
Closes #1117
See merge request tpo/core/arti!1759
|
| | |/ / /
| | | |
| | | |
| | | | |
Closes #1117.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
tor-proto: Add and expose ntorv3 support
See merge request tpo/core/arti!1739
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |/ / / |
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
Key handling improvements (prompted by HSS IPT persistence)
See merge request tpo/core/arti!1756
|
| | | |
| | |
| | |
| | |
| | |
| | | |
IMO it is quite undesirable to have multiple copies of "gen a secret
key and make a keypair out of it". Add a TODO HSS and and a ref to
arti#1137 which is related.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1. Move `impl From<SpecificKeypair> for curve25519::StaticKeypair`
(which was just a bespoke impl for HsClientDescEncKeypair)
into the define_pk_keypair macro, so everything has it.
Currently the only other user of the curve25519_pair feature is HsSvcNtorKey.
2. Provide the reverse conversion too.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
use ipv6 runner instead of tpa for coverage
See merge request tpo/core/arti!1754
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-persist: Make LockStatus #[must_use]
See merge request tpo/core/arti!1753
|
| | | |
| | |
| | |
| | |
| | | |
I see other problems with this API, see #1136. but we can at least
easily do this.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Deps and lockfile: Don't use tor-error and retry-error from crates.io
See merge request tpo/core/arti!1752
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
tor-log-ratelim mistakenly had a non-path dependency.
Changing this, and running `cargo fetch --offline` to update the
lockfile, causes the build to prefer in-tree for many entries in the
lockfile.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-rtmock: introduce spawn_join() for MockRuntime & MockExecutor
See merge request tpo/core/arti!1746
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|