summaryrefslogtreecommitdiffstats
path: root/openpgp/src/cert/amalgamation/key
AgeCommit message (Collapse)Author
2021-11-18openpgp: Use a WASM-friendly SystemTime::now wrapper.Justus Winter
- Fixes #769.
2021-09-30Join nested if statements with logical and into one statementLars Wirzenius
Instead of this: if foo { if bar { ... } } do this: if foo && bar { ... } Nesting statements implies a more complicated code structure than it really is. Thus it's arguably simpler to write a combined condition by joining the two conditions with a logical and operation. Found by clippy lint collapsible_if: https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if
2021-09-30Use the now-idiomatic option? syntaxLars Wirzenius
This works in Rust now: foo?; as a replacement for: if foo.is_none() { return None; } It's similar to ? for error handling and can only be used in functions that return an Option. The instance of this in a macro caused the problem to be reported a lot of time, once per time the macro was used, but luckily it can could be fixed in only one place. Magic! Found by clippy lint question_mark: https://rust-lang.github.io/rust-clippy/master/index.html#question_mark
2021-08-27ffi, openpgp: Cleanup links after cargo intraconv.Nora Widdecke
- 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,' {} +
2021-08-27Convert markdown to intra-doc links.Nora Widdecke
- Apply cargo intraconv.
2021-04-09Lint: Remove unnecessary conversions.Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
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-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-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: Add assert_send_and_sync! for more types.Azul
- All types that are `Send` and `Sync` are checked now. - Fixes #627.
2020-10-21openpgp: Add KeyAmalgamationIter::supported.Justus Winter
- Changes the iterator to only return keys supported by Sequoia and the underlying cryptographic library. - Also add ValidKeyAmalgamationIter::supported. - Fixes #580.
2020-10-14Replace most 'extern crate' directives with 'use'.Justus Winter
- See #480.
2020-08-06openpgp: Fix formatting of vector and array literals in examples.Justus Winter
- Align our examples with how the code in the examples of the Rust standard library is formatted. We are writing examples in the hope that downstream users will copy fragments of them, therefore using idiomatic formatting in these snippets is important.
2020-08-05openpgp: Don't implement Default for the Bitflags types.Justus Winter
- See #525.
2020-07-28openpgp: Reimplement the KeyFlags struct using Bitfield.Justus Winter
- This also drops the implementation of PartialOrd since we did not use it in the key selection after all. - Fixes #525.
2020-06-30openpgp: Make KeyAmalgamationIter::key_handles more consistent.Justus Winter
- If an empty iterator is given to KeyAmalgamationIter::key_handles, the KeyAmalgamationIter should not return any keys because no key aliases any key in the empty target set.
2020-06-19openpgp: Improve documentation.Neal H. Walfield
- Mention the type that the `KeyAmalgamationIter` and `ValidKeyAmalgamationIter` iterators are over.
2020-04-28openpgp: Rename Cert::revoked, etc. to revocation_statusNeal H. Walfield
- Rename `Cert::revoked`, `ValidCert::revoked`, `ValidAmalgamation::revoked`, and `ComponentBundle::revoked` to revocation_status to more accurately match what it does. - Don't rename `ValidComponentAmalgamationIter::revoked` or `ValidKeyAmalgamationIter::revoked`. They don't return the revocation status; they check whether the key is revoked.
2020-04-14openpgp: Fix typos.Neal H. Walfield
- Thanks to Justus and Wiktor for pointing them out.
2020-04-11openpgp: Improve documentation of the cert moduleNeal H. Walfield
- See #466.
2020-04-10openpgp: Make cert::amalgamation::key a public moduleNeal H. Walfield
- Make `cert::amalgamation::key` a public module. - Move `cert::amalgamation::keyiter` to `cert::amalgamation::key::iter`. Have `cert::amalgamation::key` export its public symbols.