summaryrefslogtreecommitdiffstats
path: root/store
AgeCommit message (Collapse)Author
2020-12-11Release 0.21.0.v0.21.0Justus Winter
2020-12-11Correct minimal versions.Nora Widdecke
- Versions required by feature or API usage: - anyhow 1.0.18. - policy::test::reject_seip_packet and policy::test::reject_cipher' fail - 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-11-27openpgp: Add Cert::merge_public and Cert::merge_public_and_secret.Justus Winter
- Secret key material is not authenticated by OpenPGP, so care must be taken when merging certificates. - Rename Cert::merge to Cert::merge_public_and_secret. - Add new function Cert::merge_public. This function can be used to merge certificates from untrusted sources as it ignores secret key material that cannot be authenticated by OpenPGP. - Fixes #584.
2020-10-23store: Migrate to std::futuresIgor Matuszewski
2020-10-14Fix `make install` on both BSD and Linux.Wiktor Kwapisiewicz
Closes #581.
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-14Make other BSD systems use ginstall too.Wiktor Kwapisiewicz
2020-10-14Modified conditional to set INSTALL executable to ginstall for FreeBSD.phryk
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-09-21store: Update rusqlite to 0.24.Nora Widdecke
- 0.19 had vulnerability RUSTSEC-2020-0014.
2020-08-21Release 0.19.0.v0.19.0Justus Winter
2020-07-31Release 0.18.0.v0.18.0Justus Winter
2020-06-18Improve install target.Justus Winter
- Add explicit build-release and install targets. - Explicitly build the crates. - Move installation to the crate's Makefile. - This allows building of Sequoia's individual parts, e.g. by using 'make -Copenpgp-ffi install'.
2020-06-12Release 0.17.0.v0.17.0Justus Winter
2020-04-03Release 0.16.0.v0.16.0Justus Winter
2020-04-02openpgp: Drop Fingerprint::from_hex in favor of FromStr.Justus Winter
- See #462.
2020-03-31ipc: Inherit a TCP socket via env var on WindowsIgor Matuszewski
2020-03-30Allow unused parens on generated codeIgor Matuszewski
Since around Rust 1.40 the unused parens lint is more aggressive. Since all of these warnings are from generated code (effectively false positives), let's just silence the warnings.
2020-03-25Use SQLite amalgamation for Android buildsHussein
2020-03-20openpgp: Remove `to_hex` in KeyHandle, KeyID and Fingerprint.Wiktor Kwapisiewicz
- Replace all usages of `to_hex` with formatting string with :X specifier. - Fixes #456.
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-09store: Define store::Error using thiserror.Justus Winter
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.
2020-01-21openpgp: Change KeyIter to return KeyAmalgamations.Neal H. Walfield
- Change KeyIter to return KeyAmalgamations instead of Keys. - Given a `KeyAmalgamation`, it is possible to turn it into a `ValidKeyAmalgamation`. This is not possible with a `Key`. - With a `KeyAmalgamation`, it is still possible to query things about the certificate.
2020-01-06openpgp: Pass a timestamp to the KeyIter instead of each filter.Neal H. Walfield
- KeyIter::revoked and KeyIter::key_flags (and its variants) didn't take a time stamp so they could only be used for filtering keys based on their current state, not their state at some time in the past. Adding a time stamp to each of the filters would have fixed the problem, but it would have made the interface ugly: callers always want the same time stamp for all filters. - Split KeyIter into two structures: a KeyIter and a ValidKeyIter. - Add KeyIter::policy. It takes a time stamp, which is then used for filters like `alive` and `revoked`, and it returns a ValidKeyIter, which exposes filters that require a time stamp.
2019-12-20Release 0.13.0.v0.13.0Justus Winter
2019-12-20openpgp: Simplify key iteration interface.Neal H. Walfield
- Cert::keys_valid() is just a short-cut for Cert::keys_all().alive().revoked(false). - Remove Cert::keys_valid() and rename Cert::keys_all() to Cert::keys().
2019-12-19openpgp: Change KeyIter to return a struct instead of a tuple.Neal H. Walfield
- A tuple is just an unnamed, inflexible struct. Use a struct instead. - Fixes #400.
2019-11-28Call TPKs Certificates, update identifiers, documentation.Justus Winter
- Fixes #387.
2019-11-26openpgp: Implement From<Fingerprint> for KeyID.Justus Winter
- Remove Fingerprint::to_keyid, use From instead.
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-27Fix more spelling errors caught by codespellDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-10-25Release 0.11.0.v0.11.0Justus Winter
2019-09-27linting: Clear up bare trait object warningsDaniel Silverstone
Newer Rust compilers requre `dyn` marking trait objects. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-09-18openpgp: Make Parse::from_bytes polymorphic over AsRef<[u8]>.Justus Winter
- A drawback of this change is that currently AsRef<[u8]> is not implemented for [u8; _], only for specific lengths. This is a compiler limitation that may be lifted in the future. This limitation required fixing some tests, notably those using include_bytes!. - Fixes #296.
2019-09-18store: Rename store::Pool to Store.Justus Winter
2019-09-18store: Rename store::Store to Mapping.Justus Winter
- Fixes #88.
2019-09-06Release 0.10.0.v0.10.0Justus Winter
2019-09-06Bump quickcheck to 0.9, rand to 0.7.Justus Winter
2019-08-26openpgp: Implement FromStr for some types.Justus Winter
- This implements std::str::FromStr for types that have string-representations and are reasonably likely to be encountered by downstream users, e.g. fingerprints or messages. This allows us to do `"xxx".parse()?`. - Fixes #320.
2019-08-23Bump rusqlite to 0.19.Justus Winter
- 0.20 requires a newer rustc.
2019-08-22Trim dependencies of crates 'rand' and 'quickcheck'.Justus Winter
2019-08-20net: Drop SKS pool in favor of keys.openpgp.org.Justus Winter