summaryrefslogtreecommitdiffstats
path: root/ffi/Cargo.toml
AgeCommit message (Collapse)Author
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-08-19net: Drop the sync variant.Justus Winter
- The sync wrapper hide the async nature of the implementation, and while this may seem convenient, it may cause subtle problems if it is invoked from a different event loop. - Furthermore, 'async' is a reserved keyword in the 2018 edition, requiring awkward escaping. - Fixes #307.
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-22ffi: Drop superfluous dependency on openpgp-ffi.Justus Winter
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.
2019-01-16ffi: Wrap every function using ffi_catch_abort.Justus Winter
- This prevents stack unwinding across the FFI boundary. - Fixes #161.
2018-12-18Release 0.3.0.v0.3.0Justus Winter
2018-12-17ffi: Wrap Signature's alive and expired methods.Neal H. Walfield
- Wrap Signature::signature_alive, Signature::signature_alive_at, Signature::signature_expired, and Signature::signature_expired_at. - Rely on the time crate to convert time_t to a time::Tm.
2018-11-27Fix the gitlab badges.Justus Winter
2018-11-26Release 0.2.0.v0.2.0Justus Winter
2018-11-24Rename the openpgp crate to sequoia-openpgp.Justus Winter
2018-11-24Fix mail address.Justus Winter
2018-11-24Update packaging metadata in preparation for a release.Justus Winter
2018-11-21openpgp: switch to nettle 2.0Kai Michaelis
2018-11-06Use nettle 1.0Kai Michaelis
2018-08-15Bump version of failure.Justus Winter
- Also, avoid deprecated method in sq.
2018-07-26ffi: Improve c doctests.Justus Winter
- Wrap code in a main function if none exists. - Derive names for tests not bound to a function. - Honor no-run and ignore. - Fix all examples that are now tests.
2018-07-10net, ffi: Bump native-tls and hyper-tls.Justus Winter
2018-03-23ffi: Build a shared object and a library archive.Justus Winter
- Build the correct kind of dynamic library, a 'cdylib' instead a 'dylib'. The former seems to be a Rust dynamic library. - Also build and install a library archive for static linking.
2018-03-16ffi: Make objects hashable.Justus Winter
- Firstly, this commit makes openpgp::KeyID and openpgp::Fingerprint hashable. This way they can be used in datastructures such as hash tables or hash sets. - Secondly, this adds functions to the ffi crate to expose this for foreign code. In Rust, a datastructure like a hash table creates hashers to hash objects. For the ffi layer, we create hashers for the foreign code.
2018-02-13ffi: Improve error reporting.Justus Winter
- Add a new type ffi::Context that provides an error slot. - Functions that can return complex errors can stash the error there, while still be convenient to use. - For now, there is only sq_last_strerror that returns a string representation of the error. In the future we should also return a numeric code, and may want to expose the stack of failures.
2017-12-13Split up Sequoia.Justus Winter
- Split up into six crates: buffered-reader, openpgp, sequoia-core, sequoia-ffi, sequoia-net, and sequoia-store. - Adjust imports accordingly.