| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
| |
This took a little refactoring, since derive_more::Foo
no longer re-exports std::ops::Foo.
|
| |
|
|
|
|
|
|
| |
Right now this will give us `${Xmeta as ... default ...}`, which may
improve things in the future.
The Cargo.toml syntax is precisely that from
https://docs.rs/derive-deftly/1.0.0/derive_deftly/doc_changelog/index.html#t:beta
|
| |
|
|
|
|
|
|
|
| |
This is released now. Prepared with:
cargo upgrade -i -p derive-deftly
There is some new duplication now I think mostly because pwd-grp uses
old derive-deftly.
|
| | |
|
| |\
| |
| |
| |
| | |
Version bumps for 1.4.0
See merge request tpo/core/arti!2773
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See Release.md.
maint/list_crates | grep -P '^tor-|^arti-' | xargs -n1 nailing-cargo -Eu set-version --bump minor -p
This completes the version bumps.
The report of changed crates, before I started the release work, is:
$ maint/changed_crates -v "arti-v$LAST_VERSION"
oneshot-fused-workaround: No change.
slotmap-careful: No change.
test-temp-dir: No change.
fslock-guard: No change.
hashx: No change.
equix: No change.
tor-basic-utils: No change.
caret: No change.
fs-mistrust
safelog: No change.
retry-error: No change.
tor-error
tor-general-addr: No change.
tor-geoip: No change.
tor-rtcompat
tor-rtmock
tor-async-utils
tor-config
tor-config-path
tor-rpc-connect
tor-log-ratelim: No change.
tor-rpcbase
tor-memquota: No change.
tor-units
tor-llcrypto: No change.
tor-protover: No change.
tor-bytes
tor-checkable: No change.
tor-cert
tor-key-forge
tor-hscrypto: No change.
tor-socksproto: No change.
tor-linkspec: No change.
tor-cell: No change.
tor-proto
tor-netdoc: No change.
tor-consdiff: No change.
tor-netdir
tor-relay-selection: No change.
tor-persist
tor-chanmgr
tor-ptmgr: No change.
tor-guardmgr: No change.
tor-circmgr
tor-dirclient: No change.
tor-dirmgr: No change.
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy: No change.
tor-relay-crypto
arti-client
arti-relay
arti-rpcserver
arti
arti-rpc-client-core
$
|
| | |
| |
| |
| | |
Manual line breaks which fixup-features doesn't know how to add.
|
| |/
|
|
|
|
|
| |
Precisely the results of maint/fixup-features.
Some crates end up with slightly odd formatting, which I will fix in a
moment.
|
| |
|
|
| |
No code changes needed.
|
| | |
|
| |
|
|
|
| |
No longer used, because we're now using `ParsedEd25519Cert` instead of
`KeyUnknownCert` to represent parsed but not yet validated certs.
|
| |
|
|
|
| |
This will enable us to retrieve it from the keystore as an `ErasedKey`
(side note, we should rename `ErasedKey` to `ErasedItem`).
|
| | |
|
| |
|
|
| |
We'll soon use this.
|
| | |
|
| |
|
|
|
|
|
| |
This will soon be used, when we modify the `ArtiNativeKeystore` cert
lookup code to actually parse certificates before returning them.
Part of #1768
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`KeyUnknownCert` will soon be used as the `ToEncodableCert::ParsedCert`
type for Tor ed25519 certs.
For example, the `ToEncodableCert` impl for `RelaySigningKeyCert` will
look like this:
```rust
pub struct RelaySigningKeyCert(EncodedEd25519Cert);
impl ToEncodableCert<RelaySigningKeypair> for RelaySigningKeyCert {
type ParsedCert = KeyUnknownCert;
type EncodableCert = EncodedEd25519Cert;
type SigningKey = RelayIdentityKeypair;
fn validate(
cert: Self::ParsedCert,
subject: &RelaySigningKeypair,
signed_with: &Self::SigningKey,
) -> Result<Self, InvalidCertError> {
// TODO: validate `KeyUnknownCert`
// and convert it to an EncodedEd25519Cert
// (we don't yet an easy way to perform this conversion)
}
fn to_encodable_cert(self) -> Self::EncodableCert {
self.0
}
}
```
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
This will soon be used.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
| |
|
|
|
|
| |
Denies 'mod.rs' files for consistency.
https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This enables us to get rid of the tor-key-forge -> tor-hscrypto
dependency, partially addressing the TODO from `tor_key_forge::traits`.
This commit is mostly code motion. Best reviewed with `--color-moved`.
See also #1778
|
| |
|
|
|
|
|
| |
We can't possibly know the `ErrorKind` of such an error, unless we know
where the unsupported key came from. Since we can't know this, we should
let a higher level crate (like `tor-keymgr`) decide the `ErrorKind`
instead.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This will enable us to store `tor_cert::EncodedEd25519Cert`s in the
keystore.
|
| | |
|
| | |
|
| |
|
|
| |
This will be used by the `Keystore` implementations.
|
| |
|
|
|
| |
This function now returns a `KeystoreItemType`, enabling us to represent
certs as `EncodableItem`s.
|
| |
|
|
|
| |
This enables us to auto-generate tests for all the supported key/cert
file extensions.
|
| |
|
|
|
| |
Items that have an unrecognized file extension now get mapped to
`KeystoreItemType::Unknown`.
|
| | |
|
| |
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
| |
The `EncodableKey` trait will soon be extended to support encoding
certificates too (in addition to keys), so we need a type to represent
an object that is either a key or a certificate (in other words, an
encodable *item*).
|
| | |
|
| | |
|
| |
|
|
|
| |
Soon the keystore will be able to store certs too, so we need something
other than `KeyType` to represent the "type" of a keystore entry.
|
| |
|
|
| |
These are new in Rust 1.83.
|
| |
|
|
|
|
|
|
| |
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
```
|