summaryrefslogtreecommitdiffstats
path: root/openpgp-ffi/Cargo.toml
AgeCommit message (Collapse)Author
2020-10-14Release 0.20.0.v0.20.0Justus Winter
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-08-21Release 0.19.0.v0.19.0Justus Winter
2020-07-31Release 0.18.0.v0.18.0Justus Winter
2020-06-12Release 0.17.0.v0.17.0Justus Winter
2020-04-03Release 0.16.0.v0.16.0Justus Winter
2020-03-09Switch from failure to anyhow.Justus Winter
- Use the anyhow crate instead of failure to implement the dynamic side of our error handling. anyhow::Error derefs to dyn std::error::Error, allowing better interoperability with other stdlib-based error handling libraries. - Fixes #444.
2020-03-04Release 0.15.0.v0.15.0Justus Winter
2020-02-07Release 0.14.0.v0.14.0Justus Winter
2019-12-20Release 0.13.0.v0.13.0Justus Winter
2019-12-20Remove nettle dependency where it's unnecessaryIgor Matuszewski
2019-11-25Release 0.12.0.v0.12.0Justus Winter
2019-11-21openpgp: Replace time crate with std::time.Justus Winter
- In sq and sqv, use chrono to interface with the user. - Fixes #341.
2019-10-31Change license to GPLv2+.Neal H. Walfield
2019-10-30Update authors.Neal H. Walfield
2019-10-25Release 0.11.0.v0.11.0Justus Winter
2019-09-06Release 0.10.0.v0.10.0Justus Winter
2019-07-15Switch to Rust 2018.Justus Winter
2019-07-08Release 0.9.0.v0.9.0Justus Winter
2019-06-14Release 0.8.0.v0.8.0Justus Winter
2019-05-28Bump memsec to 0.5.6.Hussein
- 0.5.6 fixes cross-building from macOS for Android. - Fixes #284.
2019-05-10Release 0.7.0.v0.7.0Justus Winter
2019-04-12Release 0.6.0.v0.6.0Justus Winter
- Also bump rfc2822 to 0.6.0. After all, we create tags for the versions.
2019-03-28Fix intra-workspace dependencies.Justus Winter
- Specify versions for intra-workspace dependencies in the crates that are not yet released.
2019-03-28Point to the version-specific documentation.Justus Winter
2019-03-25openpgp-ffi: Wrap crypto::SessionKey and crypto::Password.Justus Winter
2019-03-21openpgp-ffi: Use crate for futimes fiddling.Justus Winter
- The previous solution of using libc::futimes turned out to be not portable because different platforms have differently sized timestamps. Use a crate for that instead. - Also, bring ffi's c-tests up-to-speed. - Fixes #225.
2019-03-14Release 0.5.0.v0.5.0Justus Winter
2019-03-13Bump nettle to 5.0.Justus Winter
2019-02-19Release 0.4.0.v0.4.0Justus Winter
2019-02-13openpgp: use nettle 4.0Kai Michaelis
2019-01-25ffi-macros: Protect against use-after-free.Justus Winter
- When we transfer ownership from C to Rust, we move the wrapped object out of the wrapper, and poison the wrapper. - This prevents reuse of the wrapper object. When a stale reference is given to us, we check the tag encoding the type information. - If the tag field is poisoned, we can produce a more helpful error message. This is not exact, of course. As soon as the memory is reused, our tag is overwritten.
2019-01-17openpgp-ffi: New crate.Justus Winter
- This creates a new crate, 'sequoia-openpgp-ffi', and moves a handful of functions from 'sequoia-ffi' to it. - The 'sequoia-ffi' crate is a superset of the 'sequoia-openpgp-ffi' crate. This is accomplished by some include! magic. - My first attempt involved having 'sequoia-ffi' depend on 'sequoia-openpgp-ffi', so that the former just re-exports the symbols. However, that turned out to be unreliable, and might be not what we want, because it could also duplicate parts of Rust's standard library. - Fixes #144.