summaryrefslogtreecommitdiffstats
path: root/ipc
AgeCommit message (Collapse)Author
2020-12-11commit Cargo.tomls with exact minimum versionsnora/minimal_tomlNora Widdecke
2020-12-10Correct minimal versions.Nora Widdecke
- Versions required by feature or API usage: - anyhow 1.0.5. - 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-07openpgp: Drop hash::Context in favor of a pub trait hash::Digest.Justus Winter
2020-11-28ipc: do not implement openpgp::serialize traitsAzul
- Serialize and Marshal have certain guarentees such as not exporting non-exportable Signatures. - In addition Serialize should only be implemented for standardized data structures. - We are also pondering adding `to_armored` functionality for serialized data. This does not really work with the ipc data structures. - Ipc provides serialization - but not the kind of serialization the openpgp crate is talking about. Plus we are considering sealing the traits.
2020-11-12openpgp: Make crypto::Hash::digest fallible.Justus Winter
2020-11-06ipc: Handle matching on non_exhaustive enums.Nora Widdecke
2020-11-06openpgp: Use non_exhaustive attribute.Nora Widdecke
- Fixes #563 - With an MSRV >= 1.40.0, we can use #[non_exhaustive], as mentioned in #406. - This is also a clippy lint: https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive
2020-11-01ipc: Don't process GnuPG directories if we only want socketsIgor Matuszewski
2020-11-01ipc: Drop unused gnupg component/directory functionsIgor Matuszewski
2020-11-01ipc: Support GnuPG on Cygwin/MinGWIgor Matuszewski
2020-11-01ipc: Percent-decode gpgconf directory listings under WindowsIgor Matuszewski
Almost every Windows path contains a (percent-encoded) colon coupled with a drive letter (e.g. C:), so this needs to be done to properly decode a path.
2020-11-01ipc: Support UDS emulation as TCP + nonce for Assuan protocolIgor Matuszewski
2020-11-01ipc: Port libassuan's socket connection logic for WindowsIgor Matuszewski
2020-10-26ipc: Use std::matches! instead of custom destructures_to macroIgor Matuszewski
2020-10-23ipc: Migrate to std::futuresIgor Matuszewski
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