[Libguestfs] [libguestfs PATCH 3/3] guestfish, guestmount: enable networking for "--key ID:clevis"

Richard W.M. Jones rjones at redhat.com
Tue Jun 28 14:57:34 UTC 2022


On Tue, Jun 28, 2022 at 01:54:18PM +0200, Laszlo Ersek wrote:
> Call the C-language helper key_store_requires_network() in guestfish and
> guestmount.
> 
> (Short log for the "common" submodule, commit range
> 35b49ce142fb..0399dea30e63:
> 
> Laszlo Ersek (11):
>       options: fix UUID comparison logic bug in get_keys()
>       mltools/tools_utils: remove unused function "key_store_to_cli"
>       mltools/tools_utils: allow multiple "--key" options for OCaml tools too
>       options: replace NULL-termination with number-of-elements in get_keys()
>       options: wrap each passphrase from get_keys() into a struct
>       options: add back-end for LUKS decryption with Clevis+Tang
>       options: introduce selector tpe "key_clevis"
>       options: generalize "--key" selector parsing for C-language utilities
>       mltools/tools_utils: generalize "--key" selector parsing for OCaml utils
>       options, mltools/tools_utils: parse "--key ID:clevis" options
>       options, mltools/tools_utils: add helper for network dependency
> ).
> 
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1809453
> Signed-off-by: Laszlo Ersek <lersek at redhat.com>
> ---
> 
> Notes:
>     The submodule commit range 35b49ce142fb..0399dea30e63 needs to be
>     refreshed in both the commit message and the "common" hunk, once the
>     libguestfs-common series is upstream.
> 
>  fish/fish.c       | 3 +++
>  fuse/guestmount.c | 4 ++++
>  common            | 2 +-
>  3 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/fish/fish.c b/fish/fish.c
> index 23d9bb94f3a4..19e3d2799e84 100644
> --- a/fish/fish.c
> +++ b/fish/fish.c
> @@ -474,10 +474,13 @@ main (int argc, char *argv[])
>    CHECK_OPTION_blocksize_consumed;
>  
>    /* If we've got drives to add, add them now. */
>    add_drives (drvs);
>  
> +  if (key_store_requires_network (ks) && guestfs_set_network (g, 1) == -1)
> +    exit (EXIT_FAILURE);
> +
>    /* If we've got mountpoints or prepared drives or -i option, we must
>     * launch the guest and mount them.
>     */
>    if (next_prepared_drive > 1 || mps != NULL || inspector) {
>      /* RHBZ#612178: If --listen flag is given, then we will fork into
> diff --git a/fuse/guestmount.c b/fuse/guestmount.c
> index 77c534828fcd..3c6d57bde0d6 100644
> --- a/fuse/guestmount.c
> +++ b/fuse/guestmount.c
> @@ -346,10 +346,14 @@ main (int argc, char *argv[])
>    if (guestfs_set_recovery_proc (g, !do_fork) == -1)
>      exit (EXIT_FAILURE);
>  
>    /* Do the guest drives and mountpoints. */
>    add_drives (drvs);
> +
> +  if (key_store_requires_network (ks) && guestfs_set_network (g, 1) == -1)
> +    exit (EXIT_FAILURE);
> +
>    if (guestfs_launch (g) == -1)
>      exit (EXIT_FAILURE);
>    if (inspector)
>      inspect_mount ();
>    mount_mps (mps);
> diff --git a/common b/common
> index 35b49ce142fb..0399dea30e63 160000
> --- a/common
> +++ b/common
> @@ -1 +1 @@
> -Subproject commit 35b49ce142fb906bcf91edc6a6718d28c8fca9e3
> +Subproject commit 0399dea30e6353870183a07a82d05b4ec8f20ca0

Reviewed-by: Richard W.M. Jones <rjones at redhat.com>

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top


More information about the Libguestfs mailing list