summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2022-06-10fixup! XXX openpgp: This is the gist of how to fix #727.justus/fix-723Justus Winter
2022-06-10fixup! XXX openpgp: This is the gist of how to fix #727.Justus Winter
2022-06-10squash! buffered-reader: New buffered reader Mut.Justus Winter
Use pointee's cookie, add convenience BufferedReader::as_mut_reader. Name is up for discussion: - cannot be as_mut, because that conflicts with Box::as_mut (a lot!) - shouldn't be as_mut because get_mut is so similar and does something completely different
2022-06-10fixup! buffered-reader: New buffered reader Mut.Justus Winter
2022-06-10fixup! buffered-reader: New buffered reader Mut.Justus Winter
2022-06-10XXX openpgp: This is the gist of how to fix #727.Justus Winter
- We add a buffered-reader-based function to trait Parse. Then, we can use it in combination with buffered_reader::Mut to peel off single objects (like MPIs) from an input stream.
2022-06-10openpgp: Add PacketHeaderParser::commit.Justus Winter
- This can be used like PacketHeaderParser::ok, but in situations where we constructed a PacketHeaderParser using PacketHeaderParser::new_naked.
2022-06-10buffered-reader: New buffered reader Mut.Justus Winter
- This is a non-owning mutable reference type for the buffered reader framework. It can be used to retain ownership of the reader when using interfaces that consume the reader.
2022-06-10buffered_reader: Drop trivial returns.Justus Winter
2022-06-10openpgp: Rename every from_buffered_reader to from_cookie_reader.Justus Winter
- This is an internal interface that uses our reader stack's cookie. We need this to traverse the buffered reader stack. We did not, however, expose it as an external interface, because we didn't want to bake in the cookie type into the API. - Having a public API that operates on buffered readers is convenient: the current Parser::from_reader operates on io::Readers, and will most likely construct a buffered_reader::Generic from it. This will eagerly buffer some data, making this interface unsuitable if you want to read in one artifact (e.g. an MPI) without consuming more data. - Renaming the internal functions gives us a chance to add a more general buffered reader interface.
2022-06-10sq: add README.mdLars Wirzenius
Closes #129. Sponsored-by: pep.foundation
2022-06-09ipc: Use full names when referencing external types from public APINeal H. Walfield
- Improve the readability of the generated documentation, by using the full name of external types in public API.
2022-06-09ipc: Make sure the socket is non-blocking.Neal H. Walfield
- When using tokio 1, the socket needs to be non-blocking otherwise the server hangs.
2022-06-09ipc: Update to the latest versions of capnproto and tokio.Neal H. Walfield
- Use the latest versions of capnp and tokio. - The ipc crate exposes capnp and tokio symbols via its public API (sequoia_ipc::Handler). Thus any user of the ipc crate has to use the same version. Upgrade the dependencies so that downstream users can use the latest features.
2022-06-09openpgp: Rename PacketParser::{set_,}encrypted to processed.Wiktor Kwapisiewicz
- Convert `encrypted` to `processed`. - Since `set_encrypted` is internal API it was directly renamed without forwarder stub. - `encrypted()` is public API thus the old function is converted to a forwarder of the negation of `processed()`. - `unprocessed()` marked as deprecated. - Update docs and NEWS file. - Fixes #845.
2022-06-09openpgp: Deprecate DataFormat::MIMEWiktor Kwapisiewicz
- Deprecate the enum variant in preparation for v2 removal to let API clients adjust their code as early as possible. - Update NEWS. - See #863.
2022-06-09openpgp: Fix armor::Reader::from_reader documentation.Wiktor Kwapisiewicz
- The documentation got out of sync with ReaderMode. - Describe various available modes in terms of ReaderMode. - Fixes #847.
2022-06-09sq: Fix autocrypt conditional compilation.Nora Widdecke
2022-06-08sq: Reflow text for sq revoke.Nora Widdecke
- Closes #868.
2022-06-08sq: Undo change MESSAGE parameter help.Nora Widdecke
- In 207d4ba7, the text was changed by mistake.
2022-06-08sq: Remove leading newlines.Nora Widdecke
2022-06-08sq: Derive decrypt subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive encrypt subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive inspect subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive key subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive keyring subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive certify subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive packet subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive revoke subcommand.Nora Widdecke
- The changes in sq_usage.rs are formatting fixes. I avoided the additional effort of preserving formatting issues for the sake of exact equivalence. - This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive keyserver subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive wkd subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Adapt autocrypt command to clap3's derive.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive autocrypt subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Make input and output arguments reusable.Nora Widdecke
- Extract input and output arguments, including help texts, so they can be easily reused by other sq subcommands. - This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Adapt sign command to clap3's derive style.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive sign subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Adapt dearmor command to clap3's derive style.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Adapt verify command to clap3's derive style.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive verify subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Add some todos.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Adapt armor subcommand to clap3's derive style.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive dearmor subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Derive armor subcommand.Nora Widdecke
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
2022-06-08sq: Fix typo.Nora Widdecke
2022-06-08sq: Fix typo.Nora Widdecke
2022-06-08openpgp: Make PublicKeyAlgorithm descriptions shorter.Wiktor Kwapisiewicz
- Make the previously long description available using the "alternate" (#) format specifier. - Make the default description short. - Update subplot tests to use short algorithm names. - Fixes #803.
2022-06-08sq: Make sq keyring split gracefully handle v3 certs.Justus Winter
2022-06-08openpgp: New error condition, UnsupportedCert2.Justus Winter
- In contrast to UnsupportedCert, this variant carries all the packets that we failed to parse into a cert. Notably, this includes primary keys that we don't understand. Keeping the packets with the errors allows us to at least roundtrip the packets.
2022-06-08sq: Gracefully handle malformed certs in keyring list.Justus Winter
- Fixes #834.
2022-06-08openpgp: Accept unknown packets in production rules.Justus Winter
- We validate certificate structures based on packet tags. In the past, this lead to problems where a secret key packet was parsed to an unknown packet because the secret bits were malformed. This lead to a crash in the generated parser because it was assuming to see a secret key packet, but got an unknown packet. - This was changed in cd5eb82edfb326d7cbde29ee105f9f88e045c240 so that we validate the certificate structure based on packet kinds, i.e. we would only consider a packet a secret key packet if we managed to parse it into one. However, this caused the parser to be overly strict, causing problems with forward compatibility, and the parser to return an Error::MalformedCert instead of an Error::UnsupportedCert (see #170). - Return to validating on packet tags, but make the parser code aware that we may have parsed some packets (like secret key packets) to unknown packets. - This effectively reverts commit cd5eb82edfb326d7cbde29ee105f9f88e045c240. - Fixes #170.