summaryrefslogtreecommitdiffstats
path: root/ipc
AgeCommit message (Collapse)Author
2020-10-14Release 0.20.0.v0.20.0Justus Winter
2020-10-14Use 'Examples' for the examples section.Justus Winter
- See #480.
2020-10-14Replace most 'extern crate' directives with 'use'.Justus Winter
- See #480.
2020-10-12Allow to opt out of default features for sequoia-* dependenciesIgor Matuszewski
Cargo features are inherently additive, which means that if: - package A walts to build package C with features ABC, - package B walts to build package C with features BCD, the package C will be built with *both* ABC and BCD enabled. There is currently no way to specify mutually exclusive features and these have to be implemented using existing, additive, ones. That's problematic for us, because currently the cryptographic backend in sequoia-openpgp is selected globally at build-time and thus at most one can be selected for the compilation to succeed. It's worth noting that we can't use Cargo build scripts to emit the `--cfg`-passing [directive] because it does *not* affect Cargo's dependency resolution and that's needed in order to skip unbuildable backends on certain OSes (e.g. nettle when using Windows MSVC ABI). To allow for other local crates, most notably sequoia-openpgp-ffi, to build with different backends, we expose and forward any features that may be used by the crates they transitively depend on. At the time of writing, these different features seem to be implemented: - buffered-reader: compression support - openpgp: compression support and cryptographic backend - store: background-services feature [directive](https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-cfgkeyvalue)
2020-10-06Don't use OS-specific extensions from memsecIgor Matuszewski
We only ever use {memset, memzero, memeq, memcmp} anyway - don't pull OS-specific functions like mlock.
2020-10-06Bump memsec to 0.6Igor Matuszewski
2020-09-25openpgp, ipc: Make clippy ignore lalrpop output.Nora Widdecke
2020-09-23ipc: Typo.Nora Widdecke
2020-09-22openpgp: Remove `quickcheck` feature.Wiktor Kwapisiewicz
- 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.
2020-09-21openpgp, ipc: Update lalrpop to 0.19.Nora Widdecke
2020-09-21ipc: Unpin dependency socket2.Nora Widdecke
2020-08-21Release 0.19.0.v0.19.0Justus Winter
2020-08-17openpgp: Move crypto::Keygrip to the ipc crate.Justus Winter
2020-08-17openpgp: Rename PublicKey::keygrip to Keygrip::of.Justus Winter
- This allows us to move Keygrip to a different crate.
2020-08-17openpgp: Rename {en,de}crypt_shared to better reflect their use.Justus Winter
2020-08-17openpgp: Move crypto::sexp to the ipc crate.Justus Winter
- This is only used to communicate with the GnuPG agent, so it should not be in the openpgp crate.
2020-07-31Release 0.18.0.v0.18.0Justus Winter
2020-06-23ipc, sq: Copy the MSRV comment from openpgp.Jakub Kądziołka
2020-06-12Release 0.17.0.v0.17.0Justus Winter
2020-05-28openpgp: Change the `decrypt` proxy in the decryption helper.Justus Winter
- Returning rich errors from this function may compromise secret key material due to Bleichenbacher-style attacks. Change the API to prevent this. - Hat tip to Hanno Böck. - Fixes #507.
2020-05-28openpgp: Change PKESK::decrypt to return an Option<_>.Justus Winter
- Returning rich errors from this function may compromise secret key material due to Bleichenbacher-style attacks. Change the API to prevent this. - Hat tip to Hanno Böck. - See #507.
2020-05-13openpgp: Make Encryptor::for_recipients polymorphic.Justus Winter
2020-05-07openpgp: Use a builder to construct Decryptor.Justus Winter
- See #498.
2020-05-07openpgp: Use a builder to construct Verifier.Justus Winter
- See #498.
2020-04-20openpgp: Add armor::Writer::with_headers.Justus Winter
- Add a new constructor that takes headers. This allows us to make the header argument polymorphic.
2020-04-08openpgp: Change key's role function names.Wiktor Kwapisiewicz
- Change `mark_role_primary` to `role_into_primary`. - Change `mark_role_primary_ref` to `role_as_primary`. - Change `mark_role_subordinate` to `role_into_subordinate`. - Change `mark_role_subordinate_ref` to `role_as_subordinate`. - Change `mark_role_unspecified` to `role_into_unspecified`. - Change `mark_role_unspecified_ref` to `role_as_unspecified`. - Fixes #452.
2020-04-08openpgp: Rename crypto::mpis to crypto::mpiIgor Matuszewski
To be consistent; we don't use plural forms for modules anywhere else and Rust always uses singular forms.
2020-04-06openpgp: Rename VerificationHelper::get_public_keys to get_certs.Justus Winter
2020-04-03Release 0.16.0.v0.16.0Justus Winter
2020-04-03Pin dependencies to keep our MSRV stable.Justus Winter
- Our previous approach of constraining the version using "< 0.1.10" no longer worked, and resulted in two versions of the crate being selected, one of which exceeded our MSRV. - Same for socket2.
2020-04-03openpgp: Unawkwardify the streaming encryptor.Justus Winter
2020-04-03openpgp: Convert `Sexp::from_ciphertext` to `TryFrom<&mpis::Ciphertext>`Wiktor Kwapisiewicz
2020-04-01ipc: Don't compile when spawning external server is unsupported on OSIgor Matuszewski
2020-03-31ipc/assuan: Support Windows via named pipesIgor Matuszewski
2020-03-31ipc/gnupg: Use ttyname only under UNIXIgor Matuszewski
2020-03-31ipc: Inherit a TCP socket via env var on WindowsIgor Matuszewski
2020-03-30Allow unused parens on generated codeIgor Matuszewski
Since around Rust 1.40 the unused parens lint is more aggressive. Since all of these warnings are from generated code (effectively false positives), let's just silence the warnings.
2020-03-20openpgp: Remove `to_hex` in KeyHandle, KeyID and Fingerprint.Wiktor Kwapisiewicz
- Replace all usages of `to_hex` with formatting string with :X specifier. - Fixes #456.
2020-03-19ipc: Merge unhappy paths in TCP connectionIgor Matuszewski
2020-03-19ipc: Simplify IPC policy implementationIgor Matuszewski
2020-03-19ipc: Simplify a temporary tcp stream connectionIgor Matuszewski
2020-03-19ipc: Simplify server cookie init flowIgor Matuszewski
2020-03-19ipc: Fully receive cookie in async fnIgor Matuszewski
2020-03-19ipc: Simplify a lambda signatureIgor Matuszewski
2020-03-19ipc: Don't use extern crate in 2018 editionIgor Matuszewski
2020-03-18ipc: Streamline passing TCP fd as child stdinIgor Matuszewski
2020-03-18ipc: Pass correct libdir to a spawned serverIgor Matuszewski
2020-03-18ipc: Iterate over a slice directlyIgor Matuszewski
2020-03-18ipc: Don't clone CLI args unnecessarily for spawned serverIgor Matuszewski
2020-03-18ipc: Tweak some Cookie methodsIgor Matuszewski