summaryrefslogtreecommitdiffstats
path: root/sq
AgeCommit message (Collapse)Author
2023-01-11net: Release 0.26.0.net/v0.26.0Justus Winter
2023-01-11autocrypt: Release 0.25.0.autocrypt/v0.25.0Justus Winter
2023-01-11sq: Feature cleanup, add new cryptographic backends.Justus Winter
- Enable sequoia-openpgp/default by default, notably this enables support for deflate compression which was missing. - Expose the compression features. - Add the OpenSSL and RustCrypto backends.
2022-12-23Port to Rust Edition 2021.Justus Winter
2022-12-16sq: Use std::time::Duration globally in sq/src/commands/inspectDavid Runge
- Use `std::time::Duration` globally to not repeat ourselves. - Refactor the use of `Duration` so that conditional assignments become more readable.
2022-12-16sq: Add --time option to sq inspectDavid Runge
- The `sq inspect` command now understands a `--time` option, with which an ISO 8601 formatted string can be provided to inspect a certificate at a given time. If the option is not provided, the certificate is inspected "now" (default behavior). - Change subplot scenario "Generate a key that expires at a given moment" to also check the generated key is expired by checking against the output of `sq inspect --time` at a date after the expiration date. - Fixes #809
2022-12-01sq: Improve error message for key userid add.Nora Widdecke
- To add a userid to a key, private key material is needed. - State this explicitly in the error message. - Fixes #952.
2022-11-21sq: Make default keyserver explicit.Nora Widdecke
- Closes #947
2022-10-30sq: Rename --signer-cert, etc. to --signer-fileNeal H. Walfield
- Rename `--recipient-cert` to `--recipient-file`, `--signer-cert` to `--signer-file`, and `--certificate` to `--certificate-file`. - This rename makes it clearer that the argument is a file containing a certificate. - See #933.
2022-10-30sq: The argument to --signer-cert, etc. is a cert file, not a certNeal H. Walfield
- The argument to --signer-cert, --recipient-cert, and --certificate is a certificate *file*, not a certificate. Update the description and the documentation to reflect this.
2022-10-30sq: Rename --signer-key, etc. to --signer-fileNeal H. Walfield
- Rename `--recipient-key` to `--recipient-file`, `--signer-key` to `--signer-file`, and `--revocation-key` to `--revocation-file`. - This rename makes it clearer that the argument is a file. - This paves the way for other ways to address keys. - See #933.
2022-10-30sq: The argument to --signer-key, etc. is a key file, not a keyNeal H. Walfield
- The argument to --signer-key, --recipient-key, and --revocation-key is a key *file*, not a key. Update the description and the documentation to reflect this.
2022-10-18Document MSRV in Cargo.toml.Nora Widdecke
- Use Cargo.toml's rust-version field instead of a rust-toolchain file. It is more flexible and does not prevent use of newer compilers.
2022-10-14sq: Add Heiko and Lars to crate authorsWiktor Kwapisiewicz
2022-10-07sq: drop now-unnecessary allow for a clippy warningHeiko Schaefer
Sponsored-by: pep.foundation
2022-09-29openpgp, sq: Update dependency rpassword to 6.Nora Widdecke
- rpassword underwent some rework. The successor of read_password_from_tty seems to be prompt_password, relevant commits to rpassword: - e6023757df00a67a1e16796db50c5ffad41b6268 - 2edf6cee07573ec4aa86531e6177ee90331d5c60
2022-09-20sq: write out manual pages for sqLars Wirzenius
Generate an all-in-one manual page sq.1, and a separate manual page for each leaf level subcommand: sq-armor.1, seq-key-generate.1, etc. We've previously had a grouping of subcommands per top level subcommand: all sub-subcommands of "sq key" would go into sq-key.1. However, I found that to be hard to follow, as a reader. I prefer either all in one, or just the one subcommand in a page. Use custom code to generate the manual page, in sq/src/man.rs, because I wasn't happy with clap_mangen output, and wanted something more idiomatic. The custom code is a little specific for sq, and may or may not be possible to use for other programs. To trigger manual page generation, run sq with SQ_MAN set to the name of a directory where the manual pages should be written, when running sq. This was an easier way to do this than a new, hidden subcommand ("sq generate-man" or something like that). Add the roff crate as a dependency. It's used to generate troff source code for manual pages. Generating correct troff is tricky enough that there's no point in doing it manually. Move the "SEE ALSO" section in the "after_help" text for "sq verify" into the "before_help" so that it doesn't end up as plain text in the manual page. This was an easier change than making the "sq help text markup" parser in sq/src/man.rs understand the SEE ALSO heading. Sponsored-by: pep.foundation
2022-09-16sq: port to new SubplotLars Wirzenius
Update the dependency on Subplot to 0.5.0. Subplot 0.5.0 requires document metadata (title, bindings files, etc) to be in its own YAML file, where previous versions required it to be embedded in Markdown (still as YAML). Move the metadata to sq.subplot and fix what breaks. Sponsored-by: pep.foundation
2022-09-15sq: Expose `dane get` command.Wiktor Kwapisiewicz
- Similar to "wkd get" this command will fetch OpenPGP certificates and display them in armored form with comments. - Fixes #865.
2022-09-07sq: Rewrite detect_armor_kind.Nora Widdecke
2022-09-07sq: Refactor helper function.Nora Widdecke
- create_or_stdout is deprecated and only used by Config, pull it into impl Config.
2022-09-07sq: Clean up openpgp imports.Nora Widdecke
- We 'use sequoia_openpgp as openpgp' in sq.rs. That allows members referencing it as crate::openpgp. This is highly confusing, as openpgp is not actually part of this crate. - Fix the confusion by explicitly importing sequoia_openpgp.
2022-08-11sq: Move common types into module.Nora Widdecke
2022-08-11sq: Unify ArmorKind.Nora Widdecke
- ArmorKind and PacketKind represent the same values to the cli and are basically identical. - Unify them to ArmorKind.
2022-08-11sq: Remove prefix Cli from names.Nora Widdecke
2022-08-11sq: DRY entity names in module paths.Nora Widdecke
2022-08-09sq: Extract each first level subcommand into module.Nora Widdecke
- sq_cli.rs has become unwieldy. - Refactor, so that each first level subcommand has its own module.
2022-07-29sq: update dependencies on Subplot creates to new releaseLars Wirzenius
This will let `sq` not depend on `clap` version 2, even transitively. Sponsored-by: pep.foundation
2022-07-21sq: relax serde_json dependency to 1.0.80Daniel Kahn Gillmor
This is the most conservative possible relaxation of the dependency, and it makes the tool buildable on debian stable, where serde_json is currently blocked by a confusing mess (https://bugs.debian.org/1015743) I suspect it could be relaxed even further (best would be serde_json = "1"), but i haven't tested it against serde 1.0.0, and this change is sufficient for my purposes for now.
2022-07-20sq: add command output-versionsLars Wirzenius
This allows the user to query what output versions are available and what is the current default one. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-20sq: move all output models to src/output.rsLars Wirzenius
This makes it easier to manage them in one place. Also, allows one place where the output model version is picked. Also add integration tests to sq-subplot.md. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-20sq: add JSON support for sq wkd url/direct-urlLars Wirzenius
The JSON is the same same for both subcommands on the assumption that if someone is consuming JSON, they will pick the field relevant to them in any case. For someone consuming the default output format, they choose by using the right subcommand and don't have to parse the output. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-20sq: Improve help formatting.Nora Widdecke
2022-07-20sq: Fix help generation for docs.Nora Widdecke
- Use clap-provided mechanisms instead of manually parsing --help output. - Fixes #872.
2022-07-20sq: Assign ordering of wkd subcommands.Nora Widdecke
2022-07-20sq: Derive subcommand display order from fields.Nora Widdecke
- This is more intuitive instead of fiddling with display_order numbers. - Allows iterating over the subcommands in the order they are displayed.
2022-07-20sq: Clean up build.Nora Widdecke
- Remove the workaround that was required to include help output in docs.
2022-07-19sq: Release 0.27.0.sq/v0.27.0Justus Winter
2022-07-19sq: allow choosing output format and version via the environmentLars Wirzenius
SQ_OUTPUT_FORMAT and SQ_OUTPUT_VERSION will be obeyed unless the corresponding options are used. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-15sq: update subplot to test JSON output for 'sq keyring list' worksLars Wirzenius
Sponsored-by: NLnet Foundation; NGI Assure
2022-07-15sq: add JSON output for 'sq keyring list'Lars Wirzenius
This heavily changes the subcommand implementation. The original code mixed concerns (iterating over certificates, making decisions about primary UserID, and formatting output). This changes things so that the concerns are more separate. Formatting of JSON output is done using the serde_json crate. This makes it easy to add other formats supported by serde later. Unfortunately, using serde means the whole parsed keyring must be kept in memory at once, because serde doesn't know how to serialize an iterator: a serde serializer gets an immutable reference to the data being serialized, and an iterator must be mutable. We may need to fix that later, but all my attempts to do so failed. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-15sq: add dependency on serde and serde-jsonLars Wirzenius
These aren't used yet, this is preparation for future changes. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-15sq: add global options --output-format and --output-versionLars Wirzenius
Nothing implements these yet, this is preparation for future changes. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-15sq: add data types for output format and version of output formatLars Wirzenius
These are not yet used, this is preparation for future changes. Sponsored-by: NLnet Foundation; NGI Assure
2022-07-14sq: Update manpages.Nora Widdecke
- The manpages have been generated with the nora/clap3-man branch. - We needed to fork clap to - add the SEE ALSO section - rename the EXTRA section to EXAMPLES - display possible values (upstream issue https://github.com/clap-rs/clap/issues/3861) - Hide the help subcommand from the subcommands list We will work with upstream to provide the required functionality, so we can use upstream clap again.
2022-07-14net: Release 0.25.0.net/v0.25.0Justus Winter
2022-07-08sq: Implement 'key userid strip'.heiko/workworkHeiko Schaefer
2022-07-08sq: Implement 'key userid add'.Heiko Schaefer
2022-07-06sq: Rename network-policy argument.Nora Widdecke
- The network policy argument of sq wkd and sq keyserver is --policy or -p, leading to possible confusion with sequoia's openpgp policy. - Rename the argument to --network-policy and -n.
2022-07-05sq: Use common io args for sq armor.Nora Widdecke