]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Remove code for setting up disk passphrases
authorPeter Krempa <pkrempa@redhat.com>
Tue, 22 May 2018 13:50:42 +0000 (15:50 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 5 Jun 2018 06:14:00 +0000 (08:14 +0200)
Now that the old qcow2 encryption is removed we can safely delete all
this code since it's not needed any more.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor.h
src/qemu/qemu_monitor_json.c
src/qemu/qemu_monitor_json.h
src/qemu/qemu_process.c
tests/qemumonitorjsontest.c

index 876157437a2ee20ea0d7b00ef294359ddaf5be50..b0c63c68d378ec6d6efdabe22f06831a880a6c4c 100644 (file)
@@ -3118,19 +3118,6 @@ qemuMonitorAddDrive(qemuMonitorPtr mon,
 }
 
 
-int
-qemuMonitorSetDrivePassphrase(qemuMonitorPtr mon,
-                              const char *alias,
-                              const char *passphrase)
-{
-    VIR_DEBUG("alias=%s passphrase=%p(value hidden)", alias, passphrase);
-
-    QEMU_CHECK_MONITOR(mon);
-
-    return qemuMonitorJSONSetDrivePassphrase(mon, alias, passphrase);
-}
-
-
 int
 qemuMonitorCreateSnapshot(qemuMonitorPtr mon, const char *name)
 {
index d6e5a2239efa37ca14005d14b21f2a00cbc1fb5e..9894eba4d0683e99d1a27a9168c4ca6b4d76a757 100644 (file)
@@ -819,10 +819,6 @@ int qemuMonitorAddDrive(qemuMonitorPtr mon,
 int qemuMonitorDriveDel(qemuMonitorPtr mon,
                         const char *drivestr);
 
-int qemuMonitorSetDrivePassphrase(qemuMonitorPtr mon,
-                                  const char *alias,
-                                  const char *passphrase);
-
 int qemuMonitorCreateSnapshot(qemuMonitorPtr mon, const char *name);
 int qemuMonitorLoadSnapshot(qemuMonitorPtr mon, const char *name);
 int qemuMonitorDeleteSnapshot(qemuMonitorPtr mon, const char *name);
index 7522eaeef0c01abde12493f60798c3ab295d0b2a..42d7b9c5e96fcaf6447481707ce17f43b73b6eef 100644 (file)
@@ -4055,34 +4055,6 @@ int qemuMonitorJSONDelObject(qemuMonitorPtr mon,
 }
 
 
-int qemuMonitorJSONSetDrivePassphrase(qemuMonitorPtr mon,
-                                      const char *alias,
-                                      const char *passphrase)
-{
-    int ret = -1;
-    virJSONValuePtr cmd;
-    virJSONValuePtr reply = NULL;
-
-    cmd = qemuMonitorJSONMakeCommand("block_passwd",
-                                     "s:device", alias,
-                                     "s:password", passphrase,
-                                     NULL);
-    if (!cmd)
-        return -1;
-
-    if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
-        goto cleanup;
-
-    if (qemuMonitorJSONCheckError(cmd, reply) < 0)
-        goto cleanup;
-
-    ret = 0;
- cleanup:
-    virJSONValueFree(cmd);
-    virJSONValueFree(reply);
-    return ret;
-}
-
 int
 qemuMonitorJSONDiskSnapshot(qemuMonitorPtr mon, virJSONValuePtr actions,
                             const char *device, const char *file,
index 5fc51b1d6b1544fa3e3e7f995059fef46f61e35c..2ae0faad743663d5c220465f554f51e38c04b6a9 100644 (file)
@@ -235,10 +235,6 @@ int qemuMonitorJSONAddObject(qemuMonitorPtr mon,
 int qemuMonitorJSONDelObject(qemuMonitorPtr mon,
                              const char *objalias);
 
-int qemuMonitorJSONSetDrivePassphrase(qemuMonitorPtr mon,
-                                      const char *alias,
-                                      const char *passphrase);
-
 int qemuMonitorJSONDiskSnapshot(qemuMonitorPtr mon,
                                 virJSONValuePtr actions,
                                 const char *device,
index 68960cc1befe33f2d0454ac0ed2feb147c2c2dc3..3e97971543c9b41efd3472e5592aa6cadc54fc50 100644 (file)
@@ -371,74 +371,6 @@ qemuProcessFindDomainDiskByAlias(virDomainObjPtr vm,
     return NULL;
 }
 
-static int
-qemuProcessGetVolumeQcowPassphrase(virDomainDiskDefPtr disk,
-                                   char **secretRet,
-                                   size_t *secretLen)
-{
-    virConnectPtr conn = NULL;
-    char *passphrase;
-    unsigned char *data;
-    size_t size;
-    int ret = -1;
-    virStorageEncryptionPtr enc;
-
-    if (!disk->src->encryption) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("disk %s does not have any encryption information"),
-                       disk->src->path);
-        return -1;
-    }
-    enc = disk->src->encryption;
-
-    if (!(conn = virGetConnectSecret()))
-        goto cleanup;
-
-    if (enc->format != VIR_STORAGE_ENCRYPTION_FORMAT_QCOW ||
-        enc->nsecrets != 1 ||
-        enc->secrets[0]->type !=
-        VIR_STORAGE_ENCRYPTION_SECRET_TYPE_PASSPHRASE) {
-        virReportError(VIR_ERR_XML_ERROR,
-                       _("invalid <encryption> for volume %s"),
-                       virDomainDiskGetSource(disk));
-        goto cleanup;
-    }
-
-    if (virSecretGetSecretString(conn, &enc->secrets[0]->seclookupdef,
-                                 VIR_SECRET_USAGE_TYPE_VOLUME,
-                                 &data, &size) < 0)
-        goto cleanup;
-
-    if (memchr(data, '\0', size) != NULL) {
-        memset(data, 0, size);
-        VIR_FREE(data);
-        virReportError(VIR_ERR_XML_ERROR,
-                       _("format='qcow' passphrase for %s must not contain a "
-                         "'\\0'"), virDomainDiskGetSource(disk));
-        goto cleanup;
-    }
-
-    if (VIR_ALLOC_N(passphrase, size + 1) < 0) {
-        memset(data, 0, size);
-        VIR_FREE(data);
-        goto cleanup;
-    }
-    memcpy(passphrase, data, size);
-    passphrase[size] = '\0';
-
-    memset(data, 0, size);
-    VIR_FREE(data);
-
-    *secretRet = passphrase;
-    *secretLen = size;
-
-    ret = 0;
-
- cleanup:
-    virObjectUnref(conn);
-    return ret;
-}
-
 static int
 qemuProcessHandleReset(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
                        virDomainObjPtr vm,
@@ -2729,11 +2661,8 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver,
                          int asyncJob)
 {
     int ret = 0;
-    qemuDomainObjPrivatePtr priv = vm->privateData;
     virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
     size_t i;
-    char *alias = NULL;
-    char *secret = NULL;
 
     for (i = 0; i < vm->def->ngraphics; ++i) {
         virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
@@ -2755,39 +2684,7 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver,
             goto cleanup;
     }
 
-    for (i = 0; i < vm->def->ndisks; i++) {
-        size_t secretLen;
-
-        if (!vm->def->disks[i]->src->encryption ||
-            !virDomainDiskGetSource(vm->def->disks[i]))
-            continue;
-
-        if (vm->def->disks[i]->src->encryption->format !=
-            VIR_STORAGE_ENCRYPTION_FORMAT_DEFAULT &&
-            vm->def->disks[i]->src->encryption->format !=
-            VIR_STORAGE_ENCRYPTION_FORMAT_QCOW)
-            continue;
-
-        VIR_FREE(secret);
-        if (qemuProcessGetVolumeQcowPassphrase(vm->def->disks[i],
-                                               &secret, &secretLen) < 0)
-            goto cleanup;
-
-        VIR_FREE(alias);
-        if (!(alias = qemuAliasFromDisk(vm->def->disks[i])))
-            goto cleanup;
-        if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
-            goto cleanup;
-        ret = qemuMonitorSetDrivePassphrase(priv->mon, alias, secret);
-        if (qemuDomainObjExitMonitor(driver, vm) < 0)
-            ret = -1;
-        if (ret < 0)
-            goto cleanup;
-    }
-
  cleanup:
-    VIR_FREE(alias);
-    VIR_FREE(secret);
     virObjectUnref(cfg);
     return ret;
 }
index add5ff0f19fe17860e32438daf4adb9e3a92770b..3b494a1dba803d0d2b79a12331bbd580ba07fbe6 100644 (file)
@@ -1343,7 +1343,6 @@ GEN_TEST_FUNC(qemuMonitorJSONAddNetdev, "id=net0,type=test")
 GEN_TEST_FUNC(qemuMonitorJSONRemoveNetdev, "net0")
 GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0")
 GEN_TEST_FUNC(qemuMonitorJSONAddDevice, "some_dummy_devicestr")
-GEN_TEST_FUNC(qemuMonitorJSONSetDrivePassphrase, "drive-vda", "secret_passhprase")
 GEN_TEST_FUNC(qemuMonitorJSONDriveMirror, "vdb", "/foo/bar", NULL, 1024, 0, 0,
               VIR_DOMAIN_BLOCK_REBASE_SHALLOW | VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT)
 GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "/foo/bar1", "/foo/bar2", NULL, 1024)
@@ -2967,7 +2966,6 @@ mymain(void)
     DO_TEST_GEN(qemuMonitorJSONRemoveNetdev);
     DO_TEST_GEN(qemuMonitorJSONDelDevice);
     DO_TEST_GEN(qemuMonitorJSONAddDevice);
-    DO_TEST_GEN(qemuMonitorJSONSetDrivePassphrase);
     DO_TEST_GEN(qemuMonitorJSONDriveMirror);
     DO_TEST_GEN(qemuMonitorJSONBlockCommit);
     DO_TEST_GEN(qemuMonitorJSONDrivePivot);