summaryrefslogtreecommitdiffstats
path: root/ffi-macros
AgeCommit message (Collapse)Author
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-04-02ffi-macros: Increase the length of acceptable C type names.Neal H. Walfield
- This is needed to deal with pgp_cert_valid_user_id_amalgamation_t, for instance.
2020-04-02ffi-macros: Handle some special cases in ident2c.Neal H. Walfield
- Interpret sequences of capital letters as a single word. For instance, `UserID` should map to `user_id`. - Special case `ID` by converting it to `Id` so that `UserIDAmalgamation` maps to `user_id_amalgamation`.
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
2020-02-06openpgp: Rename ComponentBinding to ComponentBundle, etc.Justus Winter
- Likewise KeyBinding, UserIDBinding, UserAttributeBinding, UnknownBinding, etc. - Reason: a self-signature on a component is a binding, but revocations and TPSes are not bindings. - Consistently call collections of components and associated signatures bundles now. Likewise for fields, methods. - Fixes #425.
2019-12-20Release 0.13.0.v0.13.0Justus Winter
2019-12-19Don't use misleading `<&[T; N] as IntoIterator>::into_iter`Igor Matuszewski
See https://github.com/rust-lang/rust/pull/65819. Warned against by default since Rust 1.41. Right now `into_iter` returns references to objects inside an array rather than moving the values (as one would expect) so it makes sense to use `iter()` or for-in-borrowed (which calls the same thing) to retain the behaviour but make it less confusing.
2019-11-28Call TPKs Certificates, update identifiers, documentation.Justus Winter
- Fixes #387.
2019-11-25Release 0.12.0.v0.12.0Justus Winter
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-22Bump syn, quote, and proc-macro2 to 1.0.Justus Winter
2019-08-19ffi-macros: Handle type c_void.Justus Winter
- Fixes #325.
2019-07-15Switch to Rust 2018.Justus Winter
2019-07-15Prepare for Rust 2018.Justus Winter
- This is the result of running `cargo fix --edition`, with some manual adjustments. - The vast majority of changes merely qualify module paths with 'crate::'. - Two instances of adding an anonymous pattern to a trait's function. - `async` is a keyword in Rust 2018, and hence it needs to be escaped (e.g. in the case of the net::r#async module). - The manual adjustments were needed due to various shortcomings of the analysis employed by `cargo fix`, e.g. unexpanded macros, procedural macros, lalrpop grammars.
2019-07-08Release 0.9.0.v0.9.0Justus Winter
2019-06-26openpgp-ffi, ffi, ffi-macros: Avoid deprecated integer types.Justus Winter
2019-06-14Release 0.8.0.v0.8.0Justus Winter
2019-05-16ffi-macros: Generate function prototypes for C.Justus Winter
2019-05-13openpgp-ffi: Use the C ABI, not the system ABINeal H. Walfield
Reported-by: Thomas Muenz
2019-05-10Release 0.7.0.v0.7.0Justus Winter
2019-05-09ffi-macros: Derive Iterator.Justus Winter
2019-05-09ffi-macros: Support arguments for derived implementations.Justus Winter
2019-05-07openpgp-ffi, ffi: Fix calling convention on Windows.Justus Winter
- Use `extern "C"` instead of `extern "system"`. The latter selects stdcall, which is only appropriate for talking to the Windows API.
2019-04-26ffi-macros: Implement wrapping of references.Justus Winter
2019-04-26ffi-macros: Fix the RefRaw trait.Justus Winter
- Do not hardcode the lifetime in the trait.
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-04-09ffi-macros: Use crate sha2 instead of nettle.Justus Winter
- We hash type names to create a compile-time-constant value for the runtime type checks in the wrapper types. Use sha2 instead of nettle, because the former is a pure-rust implementation, and doesn't require nettle at runtime. This makes building easier because we do not require nettle to be in the dynamic linker path at compile time.
2019-03-28Point to the version-specific documentation.Justus Winter
2019-03-25ffi-macros: Implement MoveFromRaw<Option<W>>.Justus Winter
2019-03-22ffi-macros: Bump nettle to 0.5.Justus Winter
- Fixes 56de1bf60a8f5c6b2706dca37876aadc1c1b9ac4.
2019-03-14Release 0.5.0.v0.5.0Justus Winter
2019-02-19Release 0.4.0.v0.4.0Justus Winter
2019-02-13openpgp: use nettle 4.0Kai Michaelis
2019-02-12ffi-macros: Fix freeing wrappers with references.Justus Winter
- We cannot use move_from_raw() here, because there may be no object to move from raw.
2019-02-12openpgp-ffi: Improve derived functions.Justus Winter
- Use an absolute path for the 'io' module.
2019-02-12openpgp-ffi: Improve derived functions.Justus Winter
- Explicitly use the Parse and Serialize traits so that the modules that derives these functions do not have to use them explicitly.
2019-02-05openpgp-ffi: Convert pgp_writer_t.Justus Winter
2019-02-05ffi-macros: Do not pull traits into the namespace.Justus Winter
- Previously, it was impossible to use the ffi_wrapper_type macro twice in the same module because importing a trait twice introduces a conflict.
2019-02-05openpgp-ffi: Convert pgp_reader_t to the new framework.Justus Winter
2019-02-05ffi-macros: Implement RefMutRaw for Maybe<T>.Justus Winter
2019-02-05ffi-macros: Make trait RefMutRaw more flexible.Justus Winter
2019-02-05ffi-macros: Embed and display actual type in panics.Justus Winter
2019-02-05ffi-macros: Provide expected type in panics.Justus Winter