Age | Commit message (Collapse) | Author |
|
- Fixes linking tests and examples with ld --as-needed.
|
|
- Add a new Null Policy, which accepts everything.
|
|
- pgp_writer_stack_message should take a reference to the writer and
not take ownership of the writer.
- This is essential for the armor writer, which needs to be
explicitly finalized.
|
|
- Make the reference time an argument to pgp_cert_primary_user_id.
|
|
- Dropping a zeroed instant of that type is not safe as it contains
references.
|
|
- 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.
|
|
|
|
|
|
- Add two new traits: `Marshal` and `MarshalInto`.
- Implement them instead of `Serialize` and `SerializeInto`.
- Only implement `Serialize` and `SerializeInto` for data structures
that are normally exported.
- This should prevent users from accidentally serializing a bare
signature (`Signature`) when they meant to serialize a signature
packet (`Packet`), for instance.
- Fixes #368.
|
|
|
|
- Started in d183e12a3231e4c505f5f2cf48b6c1f881ad258a.
|
|
- Add `openpgp/src/cert/prelude.rs` to import most types and traits
related to certificates.
- Use it instead of using the types and traits individually.
|
|
- See #274.
|
|
- Split the ValidAmalgamation trait into two traits, Amalgamation
and ValidAmalgamation, so that the functionality made available by
the Amalgamation trait can be provided by a ComponentAmalgamation,
which doesn't have a policy.
|
|
- The Amalgamation trait only applies to ValidComponents. Rename it
accordingly.
|
|
|
|
- Split VerificationResult into Result<GoodChecksum,
VerificationError>.
- Fixes #416.
|
|
|
|
- Due to missing tracking of header files as inputs, make may miss
changes there and not rebuild an example. Always rebuilding all
examples should be quick enough, and avoids this problem.
|
|
|
|
|
|
|
|
- The certificate is a mid-level interface, and should therefore use
the more user-friendly way of specifying expiration.
- Fixes #429.
|
|
- The former is a misnomer inherited from the RFC: It is a
duration, not a point in time. 'Validity period' makes that
clear, and also emphasizes that the key or signature is valid
during that period.
- See #429.
|
|
|
|
|
|
|
|
- Move the autocrypt-related functionality to a new crate.
- Fixes #424.
|
|
- Fixes #427.
|
|
|
|
|
|
- Likewise KeyBinding, UserIDBinding, UserAttributeBinding,
UnknownBinding, etc.
- Reason: a self-signature on a component is a binding, but
revocations and TPSes are not bindings.
- Consistently call collections of components and associated
signatures bundles now. Likewise for fields, methods.
- Fixes #425.
|
|
|
|
|
|
- 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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Change KeyIter to return KeyAmalgamations instead of Keys.
- Given a `KeyAmalgamation`, it is possible to turn it into a
`ValidKeyAmalgamation`. This is not possible with a `Key`.
- With a `KeyAmalgamation`, it is still possible to query things
about the certificate.
|
|
- This signals the absence of a subpacket.
- Likewise for features(), key_server_preferences().
|
|
- ValidKeyIter enforces that KeyAmalgamations have a valid binding
signature.
- Enforce this constraint when constructing a KeyAmalgamation and
when modifying a KeyAmalgamation's policy.
|
|
- `ComponentIter::components` returns `ComponentBindings`. It is
more accurate to call it `ComponentIter::component_bindings`.
But, since it is called on a component, just use the shorter name,
`ComponentIter::bindings`.
|
|
- Fixes #414.
|
|
|
|
- This is better expressed as an error.
|
|
- 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.
|