Age | Commit message (Collapse) | Author |
|
|
|
- In contrast to UnsupportedCert, this variant carries all the
packets that we failed to parse into a cert. Notably, this
includes primary keys that we don't understand. Keeping the
packets with the errors allows us to at least roundtrip the
packets.
|
|
|
|
- Adapt to the new API:
- Gen is now a struct, not a Trait, and replaces StdThreadGen.
- The rand re-export has been removed. As a consequence, we need
our own function to generate an arbitrary value from a range.
|
|
- Fixes #769.
|
|
|
|
- The new 1.56.0 compiler has started issuing a new warning: "trailing
semicolon in macro used in expression position", which will be an
error in a future release.
- For more information, see https://github.com/rust-lang/rust/issues/79813
|
|
|
|
- Constants have by default a `'static` lifetime
- https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes
|
|
- https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call
|
|
- Fixes #188.
|
|
|
|
|
|
|
|
- See #627.
|
|
- Fixes #602.
|
|
- See #615.
|
|
- Fixes #563
- With an MSRV >= 1.40.0, we can use #[non_exhaustive], as mentioned
in #406.
- This is also a clippy lint:
https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive
|
|
[Seal] the `cert::Preferences` trait
so it cannot be implemented for types outside this crate.
Therefore it can be extended in a non-breaking way.
Attempts to implement the trait will not compile.
refers: #538
[seal]: https://rust-lang.github.io/api-guidelines/future-proofing.html#sealed-traits-protect-against-downstream-implementations-c-sealed
|
|
- See #480.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Avoid repeating the type name.
- Avoid self referential, trivial descriptions.
- Avoid the terms OpenPGP and Sequoia.
- Fix mistakes from the Message -> PacketPile rework.
|
|
|
|
|
|
|
|
|
|
- Implement Default for PacketPile, add internal accessor for the
top-level.
|
|
|
|
|
|
- All packets should be considered equal if the serialized OpenPGP
form is equal, modulo framing (i.e. CTB type, packet length
encoding, partial body chunking).
- In cases this may lead to surprising outcomes, discuss this in the
documentation, and provide additional equality predicates.
- Fixes #92.
|
|
- Fixes #459.
|
|
- Use the anyhow crate instead of failure to implement the dynamic
side of our error handling. anyhow::Error derefs to dyn
std::error::Error, allowing better interoperability with other
stdlib-based error handling libraries.
- Fixes #444.
|
|
|
|
|
|
- Fixes #446.
|
|
|
|
- Emit a block so that the macro can be used as expression.
|
|
|
|
|
|
- Move the autocrypt-related functionality to a new crate.
- Fixes #424.
|
|
- Change all functions that need to evaluate the validity of a
signature (either directly or indirectly to take a policy object.
- Use the policy object to allow the user to place additional
constraints on a signature's validity.
- This addresses the first half of #274 (it introduces the policy
object, but does not yet implement any policy).
|
|
- Similar to Vec<u8>::truncate(_), this operation is very slow in
debug mode due to the dropping of drained elements. Provide an
optimized version in debug mode.
|
|
- Select keys only when verifying the signatures: the relevant keys
depend on the timestamp in the signature, and different signatures
may have different time stamps.
- If the signature doens't have a Signature Creation Time stamp,
return that the signature is invalid.
|
|
- Including the reference time in the KeyAmalgamation structure
rather than having the user supply it to the individual
methods (like `KeyAmalgamation::alive`) helps ensure that the key
is used consistent. For instance, this makes it harder to
mistakenly query key's liveness at time t, but then use the
current time to determine the key's capabilities.
|
|
- See #405.
|