Age | Commit message (Collapse) | Author |
|
- This came up as the new leak tests use our hex parsing functions
to parse /proc/self/maps and apparently Linux will drop leading
zeros from addresses.
- Fix this by allowing these functions to operate on an odd number
of nibbles. I see no reason no reason not to do that, except for
the fact that we don't want to establish that it is okay to drop
leading zeros from key IDs and fingerprints, hence I preserved the
behavior of parsing key IDs and fingerprints.
|
|
|
|
- Supporting v5 fingerprints is important so that we can process
signature subpackets containing them, even if we don't yet support
any v5 formats. Consider being part of a group of recipients
where one of the recipients has a v5 key: then, the intended
recipient fingerprint subpacket contains a v5 fingerprint for that
v5 recipient. See also #820.
|
|
- 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.
|
|
The extra & in a pattern (match arm or if let) is unnecessary and only
makes the code harder to read. In most places it's enough to just
remove the & from the pattern, but in a few places a dereference (*)
needs to be added where the value captured in the pattern is used, as
removing the & changes the type of the captured value to be a
reference.
Overall, the changes are almost mechanical. Although the diff is huge,
it should be easy to read.
The clippy lint match_ref_pats warns about this. See:
https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats
|
|
- openpgp: Make broken relative links absolute:
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+packet),\1crate::packet,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+cert),\1crate::cert,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+parse),\1crate::parse,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+policy),\1crate::policy,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+serialize),\1crate::serialize,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+armor),\1crate::armor,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+types),\1crate::types,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!] *(\[`PacketPile`\]):).*$,\1 crate::PacketPile,' {} +
- openpgp: Link to PacketParser and Policy structs, not the modules.
- ffi: Make links to sequoia_openpgp and sequoia_net absolute
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+sequoia_openpgp),\1sequoia_openpgp,' {} +
- find -name "*.rs" -exec sed -i -E 's,^( *//[/!](.*): )((super::)+sequoia_net),\1sequoia_net,' {} +
|
|
- Apply cargo intraconv.
|
|
- https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8
|
|
|
|
- Spaces in key ids and fingerprints make them awkward to copy and
pass as command line arguments. Change the default representation.
For the rare occasions that we expect users to manually verify
fingerprints, the previously introduced *::to_hex_pretty functions
can be used.
- Fixes #422.
|
|
- These are explicitly intended for manual comparison of key ids and
fingerprints.
- See #422.
|
|
|
|
|
|
- See #627.
|
|
- Fixes #465.
|
|
- 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
|
|
- See #480.
|
|
- Adjust code to test for `cfg(test)` only,
- Remove `quickcheck` and `rand` from dependencies so that they stay
only in dev-dependencies,
- Remove mention of `x-quickcheck` feature from the documentation,
- Fixes #545.
|
|
|
|
|
|
- Issuer fingerprint and intended recipient subpackets do contain a
version number.
- Typo.
|
|
- 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.
|
|
- Replace bitshifts with the conversion functions from the standard
library.
|
|
- Add KeyID::to_hex.
- Add KeyID::from_hex.
- Add Fingerprint::to_hex.
- Add Fingerprint::from_hex.
- Fixes #456.
|
|
- KeyID::as_slice and KeyID::from_bytes mirror each other. This
should be reflected in the functions' names. Also, as_bytes is
more descriptive.
- Same for Fingerprint::as_slice and Fingerprint::as_bytes.
- KeyHandle::as_slice renamed for consistency.
|
|
|
|
- See #462.
|
|
- See #462.
|
|
- Avoid repeating the type name.
- Avoid self referential, trivial descriptions.
- Avoid the terms OpenPGP and Sequoia.
- Fix mistakes from the Message -> PacketPile rework.
|
|
|
|
- Replace all usages of `to_hex` with formatting string with :X
specifier.
- Fixes #456.
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
- Remove Fingerprint::to_keyid, use From instead.
|
|
- Add compile-time assertions that public types like Packet, TPK,
Message... can be send across thread boundaries, and can be
safely accessed from multiple threads.
- Fixes #334.
|
|
- This implements std::str::FromStr for types that have
string-representations and are reasonably likely to be encountered
by downstream users, e.g. fingerprints or messages. This allows
us to do `"xxx".parse()?`.
- Fixes #320.
|
|
- 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.
|
|
|
|
|
|
|
|
- Although the PacketParser doesn't support old-style
signatures (see issue #128), the Verifier should not choke on
them.
- This change prevents the Verifier from choking by processing all
old-style signatures in the usual manner. However, because the
old-style signatures will have a computed hash of 000..., they
will appear to be bad.
|
|
|
|
|
|
- Fixes #13.
|
|
|
|
- A fingerprint contains more information than a keyid, I see no
reason not to parsing it to a keyid, other than to annoy any
users.
|
|
- Move the KeyID and Fingerprint implementation details to their own
modules.
|