Age | Commit message (Collapse) | Author |
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
- In sq and sqv, use chrono to interface with the user.
- Fixes #341.
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
- 0.5.6 fixes cross-building from macOS for Android.
- Fixes #284.
|
|
|
|
- Also bump rfc2822 to 0.6.0. After all, we create tags for the
versions.
|
|
- Specify versions for intra-workspace dependencies in the crates
that are not yet released.
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
- 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.
|
|
- This prevents stack unwinding across the FFI boundary.
- Fixes #161.
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Also, avoid deprecated method in sq.
|
|
- 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.
|
|
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
- Split up into six crates: buffered-reader, openpgp, sequoia-core,
sequoia-ffi, sequoia-net, and sequoia-store.
- Adjust imports accordingly.
|