[Libguestfs] [libguestfs-common PATCH 08/12] options: introduce selector tpe "key_clevis"
Laszlo Ersek
lersek at redhat.com
Wed Jun 29 12:24:04 UTC 2022
On 06/28/22 16:34, Richard W.M. Jones wrote:
> 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>
>
>
(I need to correct the "tpe" typo on the subject line.)
More information about the Libguestfs
mailing list