Age | Commit message (Collapse) | Author |
|
- Make quickcheck dependency optional.
- Make quickcheck a dev-dependency for tests.
- Fix doctests for
- cert::ValidCert::user_attributes,
- cert::builder::CertBuilder::add_user_attribute,
- cert::revoke::UserAttributeRevocationBuilder
- cert::revoke::UserAttributeRevocationBuilder::build.
Doctests do not use cfg(test), so we cannot use quickcheck in there.
|
|
- Writers should be finalized, builders should be built.
|
|
|
|
- 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.
|
|
|
|
- Packet bodies can now be either unprocessed (e.g. compressed,
encrypted), processed (e.g. uncompressed, decrypted), or
structured (e.g. parsed into packets).
- Make the container types deref to Container, and container deref
to packet bodies.
- This cleanly avoids the confusion when serializing containers: We
can serialize compressed data packets with either body, but we can
only serialize encryption containers with unprocessed bodies.
- Fixes #187.
|
|
|
|
- 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.
|
|
- We explicitly exclude the common fields.
- See #92.
|
|
- Compute a digest over the streamed data and use it to implement
equality.
- Fixes #93.
|
|
- Embed Container in Literal and Unknown. This reuses code.
- More importantly, Literal and Unknown now correctly implement
PartialEq.
- Unknown cannot implement Ord. Remove PartialOrd as well, it seems
like an obscure use case to order packets.
- An unfortunate consequence of Unknown not implementing Eq is that
Cert cannot, because it holds unknown packets. We consider that
unacceptable.
- See #93.
|
|
- With this change, packet::Common is only used by container
packets.
|
|
- And drop Literal::set_filename_from_bytes.
|
|
|
|
- Fixes #381.
|
|
- In sq and sqv, use chrono to interface with the user.
- Fixes #341.
|
|
The `...` syntax is deprecated in favour of `..=` since 1.26 and
is an idiom lint in the 2018 edition.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
|
- 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.
|
|
- Fixes #147.
|
|
- Here, we have .serialized_len() to compute the capacity needed,
and .to_vec() is not a streaming interface.
|
|
- See #147.
|
|
- Rename functions that consume their receiver but are called
.to_...() to .into_...().
- For the packet types, simply drop the conversion function in favor
of using the From trait.
- Fixes #160.
|
|
|
|
|
|
- When setting the body of packets, treat zero-length bodies as no
bodies.
|
|
- When setting the filename of a literal data packet, treat
filenames of length zero as no filename.
|
|
- Move the modules containing the packet types to the
openpgp::packet module, aligning the layout of the files with the
exposed API.
|