summaryrefslogtreecommitdiffstats
path: root/ipc
AgeCommit message (Collapse)Author
2021-09-30Drop unnecessary return statementsLars Wirzenius
Instead of "return foo" as the last statement executed in a function, just use "foo", which is more idiomatic style. This was found by the clippy lint needless_return: https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
2021-09-30Drop unnecessary lifetime notationsLars Wirzenius
Rust can automatically deduce lifetimes in some cases ("lifetime elision"). While adding unnecessary lifetime annotations is not incorrect, it can make it harder to follow the code: why is there a lifetime annotation here? What is the reason why it's needed? Is something unusual going on. This removes a few unnecessary lifetime annotations, as found by the clippy lint needless_lifetimes: https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
2021-09-21Avoid matching on &Foo, when a plain Foo pattern worksLars Wirzenius
The extra & in a pattern (match arm or if let) is unnecessary and only makes the code harder to read. In most places it's enough to just remove the & from the pattern, but in a few places a dereference (*) needs to be added where the value captured in the pattern is used, as removing the & changes the type of the captured value to be a reference. Overall, the changes are almost mechanical. Although the diff is huge, it should be easy to read. The clippy lint match_ref_pats warns about this. See: https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats
2021-09-15ipc: Avoid creating unused borrows.Justus Winter
2021-08-27Convert markdown to intra-doc links.Nora Widdecke
- Apply cargo intraconv.
2021-08-27ipc: Fix a crash in the sexp lexer.Justus Winter
- Fixes #742.
2021-08-26ipc: Release 0.26.0.ipc/v0.26.0Justus Winter
2021-08-26ipc: Update documentation.Justus Winter
2021-08-26ipc: Move the types from the core module to the top-level.Justus Winter
2021-08-26ipc: Remove unused error type.Justus Winter
2021-08-03fix: drop unnecessary and to-be-invalid #[doc] attributesLars Wirzenius
This fixes a build failure under Windows. It seems the two options will only work at the crate level in the future so the compiler warns about them now, and will fail build later. In CI, warnings seem to fail the build already. https://github.com/rust-lang/rust/issues/82730 https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level
2021-07-16ipc: Make assuan::Client Send and Sync.Justus Winter
2021-07-16ipc: Bring in our bag of macros.Justus Winter
2021-06-28ipc: Initial support for keybox files.Nora Widdecke
- Support for the GnuPG keybox format, based on keybox files created by GnuPG 2.2.23 and the way they are handled by the `kbxutil` program from that version of GnuPG. - Most structures that are not related to accessing the OpenPGP certs are not handled, like X.509 records and metadata sections. - Closes #252
2021-06-28ipc: Add keybox test data.Nora Widdecke
2021-06-14ipc: Invoke GnuPG in background without flashing terminals.Wiktor Kwapisiewicz
See relevant MR on sequoia-octopus-lib: https://gitlab.com/sequoia-pgp/sequoia-octopus-librnp/-/merge_requests/42
2021-04-16ipc: Don't abort if the curve parameter is unknown, fail.Neal H. Walfield
- This is d4876e3aa5bf1ce7d35431a632ec20ce23f2d1be in the octopus repository.
2021-04-13bench: Disable libtest benchmark harness.Nora Widdecke
- The libtest benchmark harness that is automatically added by cargo interferes with criterion. Disable it everywhere where there are no benchmarks. - https://github.com/rust-lang/rust/issues/47241 - https://bheisler.github.io/criterion.rs/book/faq.html
2021-04-12Include LICENSE.txt in all published cratesFabio Valentini
Having the license file in the root directory is not enough, since cargo actions for workspace members will not consider this file. This commit adds a symbolic link to the license file in the root directory of all workspace members, so "cargo publish" will include the LICENSE.txt file when publishing crates.
2021-04-09Lint: Remove unecessary imports.Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports
2021-04-09Lint: Use next instead of nth(0).Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero
2021-04-09Lint: Use is_empty().Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#len_zero - https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty
2021-04-09Lint: Remove redundant lifetime.Nora Widdecke
- Constants have by default a `'static` lifetime - https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes
2021-04-09Lint: Use matches! macro.Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro
2021-04-09Lint: Remove unnecessary conversions.Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
2021-04-09Lint: Use lazy evaluation.Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call
2021-04-01ipc: Release 0.25.0.ipc/v0.25.0Neal H. Walfield
2021-03-31ipc: Do not disable default features on rand.Wiktor Kwapisiewicz
- This causes issues when dependencies are merged as rand 0.8 has more granular feature selection and at least `std` should be used there.
2021-03-31ipc: Incorporate sequoia-core crate as a core module.Wiktor Kwapisiewicz
- This moves all functionality from sequoia_core crate as an inner `core` module of the ipc crate. - The `core` module has to be public as other crates depend on `core::Context` either directly (store, ffi) or indirectly (store through ffi crate). - Remove the `core` crate completely.
2021-03-31ipc: Simplify error handling in examples.Wiktor Kwapisiewicz
- Rewrite any `expect`s and `unwrap`s into the `?` operator. - This loses the error detail. It could be recovered using `context` but for simplicity sake of the example the `?` operator suffices. - Additionally the `crate::` prefix has been removed as it is not necessary.
2021-03-24ipc: Fix armoring in the gpg-agent-sign example.Wiktor Kwapisiewicz
- Previously the armor::Writer was used but this caused the armoring not to be finalized and the output to appear truncated. - Migrate to Armorer to fix the resulting output.
2021-01-20Turn missing documentation into a warning in all crates.Justus Winter
2021-01-20autocrypt, ipc: Add missing documentation.Justus Winter
2021-01-20Add branding to all crates.Justus Winter
2020-12-16Release 1.0.0.v1.0.0Justus Winter
- Release buffered-reader 1.0.0, sequoia-openpgp 1.0.0, and sequoia-sqv 1.0.0. - Also release sequoia-sop 0.22.0.
2020-12-15Relax dependency lalrpop-util.Nora Widdecke
- Fixes #630.
2020-12-11Release 0.21.0.v0.21.0Justus Winter
2020-12-11Relax minimum dependencies.Nora Widdecke
- Relaxes those dependencies that were unnecessarily strict and patched by debian.
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-12-10buffered-reader: Require Cookies to be Send and Sync.Azul
- This way the entire `BufferedReader<C>` will be `Send` and `Sync`. - Modify all other crates accordingly. - See #615.
2020-12-07openpgp: Drop hash::Context in favor of a pub trait hash::Digest.Justus Winter
2020-11-28ipc: do not implement openpgp::serialize traitsAzul
- Serialize and Marshal have certain guarentees such as not exporting non-exportable Signatures. - In addition Serialize should only be implemented for standardized data structures. - We are also pondering adding `to_armored` functionality for serialized data. This does not really work with the ipc data structures. - Ipc provides serialization - but not the kind of serialization the openpgp crate is talking about. Plus we are considering sealing the traits.
2020-11-12openpgp: Make crypto::Hash::digest fallible.Justus Winter
2020-11-06ipc: Handle matching on non_exhaustive enums.Nora Widdecke
2020-11-06openpgp: Use non_exhaustive attribute.Nora Widdecke
- Fixes #563 - With an MSRV >= 1.40.0, we can use #[non_exhaustive], as mentioned in #406. - This is also a clippy lint: https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive
2020-11-01ipc: Don't process GnuPG directories if we only want socketsIgor Matuszewski
2020-11-01ipc: Drop unused gnupg component/directory functionsIgor Matuszewski
2020-11-01ipc: Support GnuPG on Cygwin/MinGWIgor Matuszewski
2020-11-01ipc: Percent-decode gpgconf directory listings under WindowsIgor Matuszewski
Almost every Windows path contains a (percent-encoded) colon coupled with a drive letter (e.g. C:), so this needs to be done to properly decode a path.
2020-11-01ipc: Support UDS emulation as TCP + nonce for Assuan protocolIgor Matuszewski