Age | Commit message (Collapse) | Author |
|
|
|
- Provide a function to return a normalized email address, which is
appropriate when comparing email addresses for equality.
|
|
- Don't decode base64 data that definitely can't possibly contain a
valid OpenPGP message.
|
|
- Also bump rfc2822 to 0.6.0. After all, we create tags for the
versions.
|
|
- Provide an interface to query the name, comment and email address
of RFC 2822 name-addr and addr-spec encoded User IDs.
|
|
|
|
- Fixes #24.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Using `crypto::Signer`s has several benefits. First, it shifts
the decision which key to use to the caller, moving policy out of
the caller. Second, it forces the caller to deal with encrypted
keys. Finally, it allows us to use remote keys like smart cards
in the future.
- Fixes #142.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Also, avoid deprecated method in sq.
|
|
- Instead of using an ad-hoc parser for recognizing OpenPGP
messages, use lalrpop, an lr(1) parser generator, for recognizing
OpenPGP messages.
|
|
- This helps to reduce the trusted computing base if compression is
not needed.
- This makes it easier to fuzz Sequoia, previously the fuzzer was
doing a great job creating compression bombs that triggered the
fuzzers timeout.
- Currently, the cargo workspace feature does not propagate
--no-default-features, but it is possible to depend on the openpgp
crate with `default-features = false`.
- Unfortunately, a lot of test cases include compressed packages.
This change conditionally disables these tests.
|
|
|
|
- Also, drop the dependency.
|
|
Adds enums for cryptographic and compression algorithms. Functions that
operate on algo identifiers are now member functions (hash_context ->
HashAlgo::context()).
The identifiers support convertions from and to u8 as well as Display.
|
|
|
|
|
|
- The failure crate is a young error handling solution for Rust. It
may change the API, but since we pin our dependencies, this should
not be a problem for us, albeit a bit inconvenient.
- Introduction of the crate is a bit noisy, but not as bad as
anticipated, because failure magically handles all errors used in
the standard library.
- Matching on concrete error values requires downcasting before
matching, which seems a bit unidiomatic. This is the cost of
using and "chaining" arbitrary error types. This is something
that may be improved later on in the library or language.
- Having said that, using the error type in the tool was nice. I
did not have to use a downcast, so maybe my worries about
downcasts are unjustified because it is not such a common use case
after all. On the other hand, the tool is quite simple and our
only mode of failure is to print the message.
|
|
- Switch to using nettle for low-level hash functionality.
- Add functionality for hasing UserID, UserAttribute, Key and
Signature packets.
- Add functionliaty to compute the hashes for primary key bindings,
subkey bindings, user id bindings and user attribute bindings.
|
|
- Support serializing `CompressedData` and `Literal` packets.
|
|
- Remove nom from the list of dependencies.
|
|
- Export a first-class type for representing fingerprints.
- Provide an implementation to compute fingerprints over public
keys.
|
|
- Split up into six crates: buffered-reader, openpgp, sequoia-core,
sequoia-ffi, sequoia-net, and sequoia-store.
- Adjust imports accordingly.
|