]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
test_driver: Implement virDomainGetSecurityLabel
authorLuke Yue <lukedyue@gmail.com>
Mon, 7 Jun 2021 07:38:19 +0000 (15:38 +0800)
committerMartin Kletzander <mkletzan@redhat.com>
Tue, 15 Jun 2021 12:15:13 +0000 (14:15 +0200)
Signed-off-by: Luke Yue <lukedyue@gmail.com>
src/test/test_driver.c
tests/virshtest.c

index 2cbe724724934bac678575ce28b44b7cda5a3c1a..ef0ddab54de5f99e4ab023e09b8fa17f2191135f 100644 (file)
@@ -5007,6 +5007,36 @@ testDomainInterfaceAddressFromNet(testDriver *driver,
     return ret;
 }
 
+static int
+testDomainGetSecurityLabel(virDomainPtr dom,
+                           virSecurityLabelPtr seclabel)
+{
+    virDomainObj *vm;
+    int ret = -1;
+
+    memset(seclabel, 0, sizeof(*seclabel));
+
+    if (!(vm = testDomObjFromDomain(dom)))
+        return -1;
+
+    if (virDomainObjIsActive(vm)) {
+        if (virStrcpyStatic(seclabel->label, "libvirt-test") < 0) {
+            virReportError(VIR_ERR_INTERNAL_ERROR,
+                           _("security label exceeds maximum: %zu"),
+                           sizeof(seclabel->label) - 1);
+            goto cleanup;
+        }
+
+        seclabel->enforcing = 1;
+    }
+
+    ret = 0;
+
+ cleanup:
+    virDomainObjEndAPI(&vm);
+    return ret;
+}
+
 static int
 testNodeGetSecurityModel(virConnectPtr conn,
                          virSecurityModelPtr secmodel)
@@ -9326,6 +9356,7 @@ static virHypervisorDriver testHypervisorDriver = {
     .domainGetVcpus = testDomainGetVcpus, /* 0.7.3 */
     .domainGetVcpuPinInfo = testDomainGetVcpuPinInfo, /* 1.2.18 */
     .domainGetMaxVcpus = testDomainGetMaxVcpus, /* 0.7.3 */
+    .domainGetSecurityLabel = testDomainGetSecurityLabel, /* 7.5.0 */
     .nodeGetSecurityModel = testNodeGetSecurityModel, /* 7.5.0 */
     .domainGetXMLDesc = testDomainGetXMLDesc, /* 0.1.4 */
     .domainSetMemoryParameters = testDomainSetMemoryParameters, /* 5.6.0 */
index 119b2ef54df14fbdaa2916949558177c094a289f..c1974c46cb7c75078faaa3ee943452f7f889764f 100644 (file)
@@ -21,6 +21,7 @@ main(void)
 #else
 
 # define DOM_UUID "ef861801-45b9-11cb-88e3-afbfe5370493"
+# define SECURITY_LABEL "libvirt-test (enforcing)"
 
 static const char *dominfo_fc4 = "\
 Id:             2\n\
@@ -36,6 +37,7 @@ Autostart:      disable\n\
 Managed save:   no\n\
 Security model: testSecurity\n\
 Security DOI:   \n\
+Security label: " SECURITY_LABEL "\n\
 \n";
 static const char *domuuid_fc4 = DOM_UUID "\n\n";
 static const char *domid_fc4 = "2\n\n";