summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2020-12-16Release 1.0.0.v1.0.0Justus Winter
- Release buffered-reader 1.0.0, sequoia-openpgp 1.0.0, and sequoia-sqv 1.0.0. - Also release sequoia-sop 0.22.0.
2020-12-16openpgp: Bump sha1collisiondetection to 0.2.3.Justus Winter
- Fixes build on architectures with unsigned chars.
2020-12-15Relax dependency lalrpop-util.Nora Widdecke
- Fixes #630.
2020-12-15openpgp: Use Feb. 1st instead of Jan. 1st as the cutoff day.Neal H. Walfield
- January 1st is a holiday in much of the world. - When we disable an algorithm, things will almost certainly break somewhere. - Reduce the chance that things break when people are on vacation by using February 1st as the cutoff day instead of January 1st.
2020-12-15openpgp: Extend StandardPolicy's hash policy API.Neal H. Walfield
- A `Policy` now knows whether the use of a hash requires collision resistance or only second pre-image resistance. - Extend `StandardPolicy`'s hash policy API to allow a user to express a more nuanced policy that takes this information into account. - See #595.
2020-12-15openpgp: Use hash_algo_security for self signatures and revocations.Wiktor Kwapisiewicz
- This uses calculated hash algorithm security instead of a hard-coded value.
2020-12-15openpgp: Make ComponentAmalgamation return iterator for signatures.Wiktor Kwapisiewicz
- Adjust `self_signatures`, `certifications`, `self_revocations` and `other_revocations` to return `impl Iterator` over the signatures. - Adjust all call-sites including doc tests. - Adjust downstream projects (sq, autocrypt).
2020-12-14openpgp: Simplify hash policies.Neal H. Walfield
- The standard policy currently has two policies related to hash algorithms: when a hash algorithm should be rejected for normal signatures, and when a hash algorithm should be rejected for revocation sigantures. - If we distinguish two security contexts, then we'll have four policies (the cross product). - If the currently state is not already unmanageable, then this certainly is. - Simplify this by using a single scalar to represent how long a revocation certificate using a broken hash should continue to be accepted. - This is probably sufficiently expressive in practice as this is a largely inexact science. And, if a more nuanced policy is required, it is always possible to wrap `StandardPolicy`.
2020-12-14openpgp: Add Duration::years.Neal H. Walfield
- Add `Duration::years`. - This function assumes that there are 365.2425 days in a year, which is the average number of days in a year in the Gregorian calendar.
2020-12-14openpgp: Make Duration::seconds a const fn.Neal H. Walfield
- Make `Duration::seconds` a const fn.
2020-12-14openpgp: Change general purpose keys to have a signing subkey.Justus Winter
- Certificates with a primary key that is not signing capable, and a subkey that is, are strictly more secure than ones that combine signing and certification capabilities in the primary key. - If the owner of a certificate with a signing-capable primary key can be tricked into creating a binary signature over carefully chosen attacker-controlled data, this signature can be repurposed to bind arbitrary attacker-controlled components to the certificate using a chosen-prefix collision attack on the hash function (see e.g. "SHA-1 is a Shambles" for a similar attack). - Having a separate signing-subkey mitigates the attack, because signatures by the signing subkey cannot bind components to the certificate.
2020-12-14openpgp: Add custom logo and favicon to the documentation.Justus Winter
2020-12-14openpgp: Drop the doc-hack in favor of doc(inline).Justus Winter
2020-12-14openpgp: Typos.Justus Winter
2020-12-14openpgp: Fix crash in the packet parser.Justus Winter
- If no data has been read, that may indicate an error. In this case, even requesting no data may fail.
2020-12-14buffered-reader: Change BufferedReader::dump to take a sink.Justus Winter
2020-12-11Release 0.21.0.v0.21.0Justus Winter
2020-12-11openpgp: Remove ComponentAmalgamation::revocation_keys.Wiktor Kwapisiewicz
- Remove the function. - Remove associated tests. - Cert::revocation_keys does examine all live self-signatures. - Fixes #629.
2020-12-11openpgp: Standardize fn main() in doctests.Azul
- Avoid the additional `fn f()`.
2020-12-11openpgp: Replace `.unwrap()` in doctests with `?`Azul
- See #480.
2020-12-11openpgp: Suggest StandardPolicy in NullPolicy docs.Wiktor Kwapisiewicz
- Fixes #473.
2020-12-11openpgp: Add an example of building a custom policy.Wiktor Kwapisiewicz
2020-12-11openpgp: Add functions that only return valid signatures.Wiktor Kwapisiewicz
- Fixes #622.
2020-12-11openpgp: Change Policy trait default to reject.Wiktor Kwapisiewicz
2020-12-11Relax minimum dependencies.Nora Widdecke
- Relaxes those dependencies that were unnecessarily strict and patched by debian.
2020-12-11Correct minimal versions.Nora Widdecke
- Versions required by feature or API usage: - anyhow 1.0.18. - policy::test::reject_seip_packet and policy::test::reject_cipher' fail - We use `impl From<anyhow::Error> for Box<dyn std::error::Error + Send + Sync + 'static>`, introduced in 1.0.5. - tokio 0.2.19 - We use `tokio::net::tcp::OwnedReadHalf`, introduced in 0.2.19. - chrono 0.4.10 - We use the `std` feature, introduced in 0.4.10. - thiserror 1.0.2 - futures and futures-util 0.3.5 - tempfile 3.1 - c_doctests require the same version of rand both as direct dependency and through tempfile. - Yanked versions: - structopt 0.3.11. 0.3.8 to 0.3.10 were yanked. - socket2 0.3.16. 0.3.0 to 0.3.15 were yanked. - Update our dependencies to the package versions required by other dependencies, e.g. structopt requires lazy_static 1.4.0. - clap 2.33 - lazy_static to 1.4.0 - libc to 0.2.66 - proc-macro2 to 1.0.7 - syn to 1.0.5. - winapi 0.3.8
2020-12-11sq: Add switch to fall back to an expired encryption subkey.Justus Winter
2020-12-11openpgp: Fix example.Justus Winter
2020-12-11openpgp: Fix documentation.Justus Winter
2020-12-11sq: Allow cert-rings as recipients, reword key -> cert.Justus Winter
2020-12-11openpgp: Pass the hash algo's security reqs to Policy::signature.Neal H. Walfield
- If the signer controls the data that is being signed, then the hash algorithm only needs second pre-image resistance. - This observation can be used to extend the life of hash algorithms that have been weakened, as is the case for SHA-1. - Introduces a new `enum HashAlgoSecurity`, which is now passed to `Policy::signature`. - See #595.
2020-12-11openpgp: Make Cert::CertParser Send and Sync.Azul
- See #615.
2020-12-10openpgp: Add remaining assert_send_and_sync! calls.Azul
- See #615.
2020-12-10buffered-reader: Require Cookies to be Send and Sync.Azul
- This way the entire `BufferedReader<C>` will be `Send` and `Sync`. - Modify all other crates accordingly. - See #615.
2020-12-09Add our bug tracker and security contact.Justus Winter
2020-12-09Fix address of mailing list.Justus Winter
2020-12-09sq: Display all known key flags when inspecting certs.Justus Winter
2020-12-09sq: Implement searching hkp servers by email address.Justus Winter
- Fixes #389.
2020-12-09net: Implement searching for email addresses via hkp.Justus Winter
2020-12-09net: Add note.Justus Winter
2020-12-09net: Allow hkp queries by KeyHandle.Justus Winter
2020-12-09sq: Enable tokio's time driver.Justus Winter
- Fixes #614.
2020-12-09buffered-reader: Assert that all types are Send and Sync.Justus Winter
- See #615.
2020-12-09buffered-reader: Don't explicitly storing the mapping.Justus Winter
- This makes file_unix::File Send and Sync.
2020-12-08openpgp: Tweak the assert_send_and_sync macro.Justus Winter
- Declare trait bounds using a where clause. It looks a bit odd if there is no bound, but not worse than before.
2020-12-08openpgp: Make cert::IntoIter Send + Sync.Justus Winter
- See #615.
2020-12-08openpgp: Make unnamed iterators Send + Sync.Justus Winter
- See #615.
2020-12-08openpgp: Allow dangling `,` in assert_send_and_sync! calls.Azul
2020-12-08openpgp: Add assert_send_and_sync! for more types.Azul
- All types that are `Send` and `Sync` are checked now. - Fixes #627.
2020-12-08openpgp: Use parens for assert_send_and_sync!.Azul