]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tools: Fix detection of remote libvirt access in virt-qemu-sev-validate
authorJim Fehlig <jfehlig@suse.com>
Thu, 2 Feb 2023 18:04:20 +0000 (11:04 -0700)
committerJim Fehlig <jfehlig@suse.com>
Fri, 3 Feb 2023 18:28:56 +0000 (11:28 -0700)
The VM's firmware path is not extracted from the XML when invoking
virt-qemu-sev-validate in insecure mode and connecting to the local libvirt

virt-qemu-sev-validate --insecure --tk tek-tik.bin --domain test-sev-es
ERROR: Cannot access firmware path remotely

The test for remote access compares the return value from socket.gethostname()
to the return value from conn.getHostname(). The former doesn't always return
the fqdn, whereas the latter does. Use socket.getfqdn() instead.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
tools/virt-qemu-sev-validate

index 3d8b292fef04aa2b782ac83a559058459ca32ccc..7a8c3205e75470ea2db65a4a0c4f7500433c202b 100755 (executable)
@@ -942,7 +942,7 @@ class LibvirtConfidentialVM(ConfidentialVM):
     def load_domain(self, uri, id_name_uuid, secure, ignore_config):
         self.conn = libvirt.open(uri)
 
-        remote = socket.gethostname() != self.conn.getHostname()
+        remote = socket.getfqdn() != self.conn.getHostname()
         if not remote and secure:
             raise InsecureUsageException(
                 "running locally on the hypervisor host is not secure")