| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
This will soon be used, when we modify the `ArtiNativeKeystore` cert
lookup code to actually parse certificates before returning them.
Part of #1768
|
| |
|
|
|
|
|
|
| |
This is necessary because `ParsedCert`s will not be `EncodableItem`s.
This is because we cannot (and don't want to) write certificates that
have not yet been validated to the keystore. They do need to be
retrievable from the keystore though, so we also change `ErasedKey`
to be `Box<dyn ItemType>` instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need two different types to represent
* certs that have been parsed, but not yet validated
(`KeyUnknownCert`)
* newly generated encodable certs (`EncodedEd25519Cert`)
Currently, we don't use `KeyUnknownCert` anywhere, and instead use
`EncodedEd25519Cert` to represent "parsed" but not-yet-validated certs.
This approach is wrong and relies on a broken (no-op)
`EncodedEd25519Cert::from_bytes` implementation. A future commit will
address this problem by replacing `EncodedEd25519Cert::from_bytes` with
`Ed25519Cert::decode` to actually parse the cert upon retrieving it from
the keystore.
|
| |
|
|
|
|
|
|
| |
In practice, we won't be able to obtain an `ToEncodableCert` type from
an `EncodableItem` cert without validating it first, so we need to
collapse `validate` into `from_encodable_cert`.
Part of #1768
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The affected crates follow our regular versioning.
They all get bumped to 0.26.0.
Done with
```
for crate in $(./maint/list_crates |grep '^arti-\|tor-' ); do
cargo set-version --bump minor -p $crate;
done
```
|
| |\
| |
| |
| |
| | |
clippy: deny `mod_module_files`
See merge request tpo/core/arti!2689
|
| | |
| |
| |
| |
| |
| | |
Denies 'mod.rs' files for consistency.
https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
|
| |/ |
|
| |\
| |
| |
| |
| | |
Simple dependency upgrades for upcoming release
See merge request tpo/core/arti!2685
|
| | | |
|
| |/ |
|
| |
|
|
|
| |
This replaces a placeholder error with a concrete
`KeystoreCorruptionError` variant.
|
| | |
|
| | |
|
| |
|
|
|
| |
This makes `ArtiNativeKeystore::get` deserialize the keystore item as a
cert, if its `KeystoreItemType` is `Cert`.
|
| |
|
|
|
| |
We'll soon use this in `ArtiNativeKeystore`'s `Keystore` implementation
for parsing certs read from disk.
|
| | |
|
| |
|
|
|
| |
We're about to reuse TestKey as our test key "certificate",
so let's preemptively rename it to something more fitting.
|
| |
|
|
| |
This is about to be used in a couple of places.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
These aren't needed anymore now that `KeySpecifierComponent` is in
scope.
|
| |
|
|
| |
This will be used for looking up certificates in the keystore.
|
| |
|
|
|
| |
We're soon going to need the "raw" version of the function (the one that
returns the key as `K::Key`).
|
| |
|
|
|
| |
These will be soon be returned by
`KeyMgr::{get_key_and_cert,get_or_generate_key_and_cert}`.
|
| |
|
|
|
| |
This will enable us to store `tor_cert::EncodedEd25519Cert`s in the
keystore.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This function now returns a `KeystoreItemType`, enabling us to represent
certs as `EncodableItem`s.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Items that have an unrecognized file extension now get mapped to
`KeystoreItemType::Unknown`.
|
| |
|
|
|
| |
This is part of the work needed to support storing certificates in the
keystore (they won't have a `KeyType`, but rather `CertType`).
|
| |
|
|
|
|
|
|
| |
This is the first step in replacing `EncodableKey` with the new
`EncodableItem` trait (see doc/dev/keymgr-certificates.md).
(this refactoring is split over multiple commits to make reviewing
easier)
|
| | |
|
| |
|
|
| |
This will be used for defining key certificate specifiers.
|
| |
|
|
|
|
|
|
| |
In 1.83, this warning triggers on many of our crates.
We're thinking of fixing them all, but for now,
we're going to disable the warning.
This is part of #1765.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.25.0
done
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The non-{arti-,tor-} crates are:
```
./maint/list_crates | rg -v '^(tor|arti)'
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
```
We split them in the following categories:
* crates with no changes (no version bumps):
```
maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-'
oneshot-fused-workaround: No change.
test-temp-dir: No change.
caret: No change.
```
* crates that only have non-functional changes (bump the patch version):
- slotmap-careful
- fslock-guard
- hashx
- equix
- fs-mistrust
- safelog
- retry-error
* crates where APIs were broken (bump minor):
None
The bumps from this commit were created using this script:
```
PATCH="
slotmap-careful
fslock-guard
hashx
equix
fs-mistrust
safelog
retry-error
"
for crate in $PATCH; do
cargo set-version --bump patch -p $crate;
done
```
|
| | |
|
| | |
|