Age | Commit message (Collapse) | Author |
|
- See #480.
|
|
|
|
- Mark `aead_algo` as available only during tests,
- Remove support for AEAD from `sop`,
- Mark `aead` parameter in FFI as unused,
- openpgp-ffi: Drop `aead_algo` argument from `pgp_encryptor_new`,
- Fixes #550.
|
|
|
|
- Previously, Message was polymorphic over the cookie. However, the
writer stack framework only has one user, and it likely ever will,
so I don't really see the point in complicating our interface.
|
|
- This aligns it with AED::symmetric_algo and SKESK::symmetric_algo.
|
|
|
|
- Previously, Message::new returned a writer::Stack, and Message was
just an empty struct. Unify the types. This makes sense, because
if you have a message, and encrypt it, you get a message.
- Make the writer module private. This is an implementation detail.
|
|
- Rename `KeyIter` to `KeyAmalgamationIter`, `ValidKeyIter` to
`ValidKeyAmalgamationIter`.
- Rename `cert/keyiter.rs` to `cert/amalgamation/iter.rs`.
|
|
|
|
- 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.
|
|
- 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.
|
|
|
|
- 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.
|
|
|
|
- KeyIter::revoked and KeyIter::key_flags (and its variants) didn't
take a time stamp so they could only be used for filtering keys
based on their current state, not their state at some time in the
past. Adding a time stamp to each of the filters would have fixed
the problem, but it would have made the interface ugly: callers
always want the same time stamp for all filters.
- Split KeyIter into two structures: a KeyIter and a ValidKeyIter.
- Add KeyIter::policy. It takes a time stamp, which is then used
for filters like `alive` and `revoked`, and it returns a
ValidKeyIter, which exposes filters that require a time stamp.
|
|
- A tuple is just an unnamed, inflexible struct. Use a struct
instead.
- Fixes #400.
|
|
- These are low-level cryptographic traits that are not concerned
with the role of a key.
- Fixes #382.
|
|
- Fixes #387.
|
|
- Fixes #381.
|
|
- In sq and sqv, use chrono to interface with the user.
- Fixes #341.
|
|
- Fixes #375.
|
|
- See #375.
|
|
- See #375.
|
|
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
|
|
Newer Rust compilers requre `dyn` marking trait objects.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
|
|
|
|
|
- Instead of giving a set of TPKs to the encryptor, hand in a set of
recipients, which are (keyid, key)-tuples, conveniently created
from key queries over TPKs. This simplifies the encryptor, and
makes the key selection explicit.
- Drop the EncryptionMode type.
- As a nice side effect, we can now generate encrypted messages with
wildcard recipient addresses.
|
|
- In addition to providing some added protection, this allows us to
implement 'From<Key<_, _>> for Packet'.
|
|
- Automatically using AEAD if all recipients claim support is a
policy decision, which we'd rather avoid in the openpgp crate.
- Fixes #293.
|
|
- This is the result of running `cargo fix --edition`, with some
manual adjustments.
- The vast majority of changes merely qualify module paths with
'crate::'.
- Two instances of adding an anonymous pattern to a trait's
function.
- `async` is a keyword in Rust 2018, and hence it needs to be
escaped (e.g. in the case of the net::r#async module).
- The manual adjustments were needed due to various shortcomings of
the analysis employed by `cargo fix`, e.g. unexpanded macros,
procedural macros, lalrpop grammars.
|
|
|
|
- Use `extern "C"` instead of `extern "system"`. The latter selects
stdcall, which is only appropriate for talking to the Windows API.
|
|
- 01db33b and 97cdc30 changed the Encryption::new and Signer::new
APIs to optionally provide the algorithm to use for encryption and
hashing. Also make it optional in the C API by recognizing 0 as
meaning the default algorithm.
|
|
- Fixes #208.
|
|
- See #208.
|
|
|
|
|
|
- This way we can easily introduce new transformations.
|
|
|
|
|
|
- Fixes 9d6e628d6a183b483bdf115993d0a5a377c3d823.
|
|
|