]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
block: support sha256 fingerprint with pre-blockdev options
authorDaniel P. Berrangé <berrange@redhat.com>
Mon, 13 Sep 2021 16:57:34 +0000 (17:57 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Wed, 16 Feb 2022 14:34:15 +0000 (14:34 +0000)
When support for sha256 fingerprint checking was aded in

  commit bf783261f0aee6e81af3916bff7606d71ccdc153
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   Tue Jun 22 12:51:56 2021 +0100

    block/ssh: add support for sha256 host key fingerprints

it was only made to work with -blockdev. Getting it working with
-drive requires some extra custom parsing.

Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
block/ssh.c

index 3b5bf34031d7e7feddc8bf29b79af57a06a2dab2..ac01301409772b3eba1e53aa30784e57ba187f55 100644 (file)
@@ -556,6 +556,11 @@ static bool ssh_process_legacy_options(QDict *output_opts,
             qdict_put_str(output_opts, "host-key-check.type", "sha1");
             qdict_put_str(output_opts, "host-key-check.hash",
                           &host_key_check[5]);
+        } else if (strncmp(host_key_check, "sha256:", 7) == 0) {
+            qdict_put_str(output_opts, "host-key-check.mode", "hash");
+            qdict_put_str(output_opts, "host-key-check.type", "sha256");
+            qdict_put_str(output_opts, "host-key-check.hash",
+                          &host_key_check[7]);
         } else if (strcmp(host_key_check, "yes") == 0) {
             qdict_put_str(output_opts, "host-key-check.mode", "known_hosts");
         } else {