Age | Commit message (Collapse) | Author |
|
|
|
|
|
- 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.
|
|
|
|
- Use `std::time::Duration` globally to not repeat ourselves.
- Refactor the use of `Duration` so that conditional assignments
become more readable.
|
|
- 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
|
|
- To add a userid to a key, private key material is needed.
- State this explicitly in the error message.
- Fixes #952.
|
|
- Closes #947
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
|
|
Sponsored-by: pep.foundation
|
|
- rpassword underwent some rework. The successor of
read_password_from_tty seems to be prompt_password, relevant commits
to rpassword:
- e6023757df00a67a1e16796db50c5ffad41b6268
- 2edf6cee07573ec4aa86531e6177ee90331d5c60
|
|
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
|
|
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
|
|
- Similar to "wkd get" this command will fetch OpenPGP certificates
and display them in armored form with comments.
- Fixes #865.
|
|
|
|
- create_or_stdout is deprecated and only used by Config, pull it into
impl Config.
|
|
- 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.
|
|
|
|
- ArmorKind and PacketKind represent the same values to the cli and
are basically identical.
- Unify them to ArmorKind.
|
|
|
|
|
|
- sq_cli.rs has become unwieldy.
- Refactor, so that each first level subcommand has its own module.
|
|
This will let `sq` not depend on `clap` version 2, even transitively.
Sponsored-by: pep.foundation
|
|
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.
|
|
This allows the user to query what output versions are available and
what is the current default one.
Sponsored-by: NLnet Foundation; NGI Assure
|
|
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
|
|
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
|
|
|
|
- Use clap-provided mechanisms instead of manually parsing --help
output.
- Fixes #872.
|
|
|
|
- This is more intuitive instead of fiddling with display_order
numbers.
- Allows iterating over the subcommands in the order they are
displayed.
|
|
- Remove the workaround that was required to include help output in
docs.
|
|
|
|
SQ_OUTPUT_FORMAT and SQ_OUTPUT_VERSION will be obeyed unless the
corresponding options are used.
Sponsored-by: NLnet Foundation; NGI Assure
|
|
Sponsored-by: NLnet Foundation; NGI Assure
|
|
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
|
|
These aren't used yet, this is preparation for future changes.
Sponsored-by: NLnet Foundation; NGI Assure
|
|
Nothing implements these yet, this is preparation for future changes.
Sponsored-by: NLnet Foundation; NGI Assure
|
|
These are not yet used, this is preparation for future changes.
Sponsored-by: NLnet Foundation; NGI Assure
|
|
- 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.
|
|
|
|
|
|
|
|
- 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.
|
|
|