[Libguestfs] [libguestfs-common PATCH 08/12] options: introduce selector tpe "key_clevis"
Richard W.M. Jones
rjones at redhat.com
Tue Jun 28 14:34:34 UTC 2022
On Tue, Jun 28, 2022 at 01:49:11PM +0200, Laszlo Ersek wrote:
> >From an earlier patch in this series, we can now represent LUKS decryption
> with Clevis+Tang in those matching keys that we distill for a particular
> guestfs device or LUKS UUID. Now extend the keystore (composed from
> command line options), i.e. the store that is filtered into matching keys,
> with a selector type that stands for Clevis+Tang.
>
> Again, this patch introduces no change in observable behavior; there is
> still no user interface for placing a selector of the new type into the
> keystore.
>
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1809453
> Signed-off-by: Laszlo Ersek <lersek at redhat.com>
> ---
> options/options.h | 1 +
> options/keys.c | 8 ++++++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/options/options.h b/options/options.h
> index 61a385da13ae..e7a0364cc926 100644
> --- a/options/options.h
> +++ b/options/options.h
> @@ -113,10 +113,11 @@ struct key_store_key {
> char *id;
>
> enum {
> key_string, /* key specified as string */
> key_file, /* key stored in a file */
> + key_clevis, /* key reconstructed with Clevis+Tang */
> } type;
> union {
> struct {
> char *s; /* string of the key */
> } string;
> diff --git a/options/keys.c b/options/keys.c
> index 75c659561c52..7729fe79c99b 100644
> --- a/options/keys.c
> +++ b/options/keys.c
> @@ -169,10 +169,15 @@ get_keys (struct key_store *ks, const char *device, const char *uuid,
> s = read_first_line_from_file (key->file.name);
> match->clevis = false;
> match->passphrase = s;
> ++match;
> break;
> + case key_clevis:
> + match->clevis = true;
> + match->passphrase = NULL;
> + ++match;
> + break;
> }
> }
> }
>
> if (match == r) {
> @@ -289,9 +294,12 @@ free_key_store (struct key_store *ks)
> free (key->string.s);
> break;
> case key_file:
> free (key->file.name);
> break;
> + case key_clevis:
> + /* nothing */
> + break;
> }
> free (key->id);
> }
Reviewed-by: Richard W.M. Jones <rjones at redhat.com>
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the Libguestfs
mailing list