From nobody Sun Feb 8 12:39:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1575933393; cv=none; d=zohomail.com; s=zohoarc; b=jdekqaaOS9VQLZIDfVBsxyRupKiPGkhNxqSOe9VDGsTf3j79YCYEVDAvWWKOiJ5it8A+gaDdQYz0MxS7o4ozvkeM8k3Rua+bvIkoW8leg0DjS03Ynokx1MLRAOLiqj/aNDnusdDDoM3bmOJy7dudOSYYXPgMeb0aNbjsVl+DR30= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575933393; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xqEH3qT9KEusfBtn2XnbxH1rTMw6oVvxqBUQYjEzZXk=; b=HCZkGnVeIGSMFFJrsNi426muQbQ0YIFFb0+bWMxznnyn3xprlhCgnZFuxTzGK2cfpAj3PPZ7brTJ3ypXywAv7+3khcfd+yhUKfdj9KBkAbZ6emTYI9D8F4+mkIjiSZ7OidIeDbGMOB5rnzWFjAm6mezozvIR5ax1XdWlY9zsd0I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1575933393698835.9864167230404; Mon, 9 Dec 2019 15:16:33 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-28-mDtGRZCnPhG0HkEu65-d7g-1; Mon, 09 Dec 2019 18:16:31 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 610D6800D4C; Mon, 9 Dec 2019 23:16:23 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3D44C5D6B7; Mon, 9 Dec 2019 23:16:23 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 0092518034FA; Mon, 9 Dec 2019 23:16:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id xB9NGJHW008567 for ; Mon, 9 Dec 2019 18:16:19 -0500 Received: by smtp.corp.redhat.com (Postfix) id 8A2482166B2B; Mon, 9 Dec 2019 23:16:19 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 85A082166B27 for ; Mon, 9 Dec 2019 23:16:19 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 637D08FBDE5 for ; Mon, 9 Dec 2019 23:16:19 +0000 (UTC) Received: from mail-qk1-f193.google.com (mail-qk1-f193.google.com [209.85.222.193]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-137-wcZTHIGtP7iepIJGKuwa3g-1; Mon, 09 Dec 2019 18:16:17 -0500 Received: by mail-qk1-f193.google.com with SMTP id x1so14719394qkl.12; Mon, 09 Dec 2019 15:16:16 -0800 (PST) Received: from rekt.ibmuc.com ([2804:431:c7c6:fe5:8243:c780:f073:3beb]) by smtp.gmail.com with ESMTPSA id e130sm352436qkb.72.2019.12.09.15.16.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 15:16:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575933392; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=xqEH3qT9KEusfBtn2XnbxH1rTMw6oVvxqBUQYjEzZXk=; b=Cpz1phfYxzhLX3GLnTSW1FKz2d1J6TsxP+m0Q8Gw64xp6H3PZ1DDyTJIxISXkeaOR3ah0H 7nOhSvpA+zawr5z+2udWO174sUOFh3gApJhMYOGXHRglmvLOTb8EVk/jtdzKmfml8DoZiL GjBryHrFN6oykIL31JDf2r5AURedLLk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3QYwAxpRd2F+1YSJQIm6LvRhlDEB7MuRnsxD18L2jkU=; b=dTKNLJJKVgct93EnmtCCHysA7kcL5amfz/wzcyd3b/Dod/Uis02VlU+OqgZ7XCZEgL uAkA9W2tgjKL4FKh5LNUGa+ovMSoz/f1yVr25hDoc74Z9ImNkb+3hJ+U82i9jazXbFY+ 66T96kAbTuA5tdjEzH/P3HXQogzXSWJV1kP6lkaQUJ/OdXwpLG2fP1w/Na5CjrRQytjD CpmFjTdKkKkuE6TPCjK0yvVoLBYa0T5/08VvqZiEbmETVEI39d6oM11a3Frsbbt8tSVP So+RoufvpImy2zFqpTTmqE/CC67ZA1633EBGQreaSL2GEeNQkIoJQ1DqtbV88VFehD7y nK+A== X-Gm-Message-State: APjAAAUQnqxWYtoebafmzSKRclZmOvp+mxyHJ7146g5pQjvw4FQXk6PX um5YNO1tYl/vdd1yAIXSiPjSmjiOR5o= X-Google-Smtp-Source: APXvYqwLh5YCHNKBgGkfR6UbFDB0g2/8wdh4Vnj19cFX5URgYg4zqK9w/4R3G0CoZ5CfWUV8r0xJMg== X-Received: by 2002:ae9:e304:: with SMTP id v4mr29551446qkf.399.1575933376353; Mon, 09 Dec 2019 15:16:16 -0800 (PST) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Mon, 9 Dec 2019 20:15:26 -0300 Message-Id: <20191209231531.2423222-22-danielhb413@gmail.com> In-Reply-To: <20191209231531.2423222-1-danielhb413@gmail.com> References: <20191209231531.2423222-1-danielhb413@gmail.com> MIME-Version: 1.0 X-MC-Unique: wcZTHIGtP7iepIJGKuwa3g-1 X-MC-Unique: mDtGRZCnPhG0HkEu65-d7g-1 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-MIME-Autoconverted: from quoted-printable to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id xB9NGJHW008567 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , crobinso@redhat.com Subject: [libvirt] [PATCH v1 21/26] qemu: move qemuBuildGraphicsVNCCommandLine validation to qemu_domain.c X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Move the VNC cap validation from qemuBuildGraphicsVNCCommandLine() to qemuDomainDeviceDefValidateGraphics(). This function is called by qemuDomainDefValidate(), validating the graphics parameters in domain define time. Tests were adapted to consider SDL validation in this earlier stage. Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_command.c | 6 ---- src/qemu/qemu_domain.c | 7 ++++- tests/qemuhotplugtest.c | 1 + tests/qemuxml2xmltest.c | 63 +++++++++++++++++++++++++++++------------ 4 files changed, 52 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 70b80fad63..7661527d39 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7400,12 +7400,6 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigP= tr cfg, virDomainGraphicsListenDefPtr glisten =3D NULL; bool escapeAddr; =20 - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNC)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("vnc graphics are not supported with this QEMU")); - return -1; - } - if (!(glisten =3D virDomainGraphicsGetListen(graphics, 0))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing listen element")); diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index b33e150690..c25adbc4f3 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -7627,9 +7627,14 @@ qemuDomainDeviceDefValidateGraphics(const virDomainG= raphicsDef *graphics, break; =20 case VIR_DOMAIN_GRAPHICS_TYPE_VNC: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNC)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("vnc graphics are not supported with this QEM= U")); + return -1; + } break; + case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: - break; case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: break; case VIR_DOMAIN_GRAPHICS_TYPE_RDP: diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 0645b936d0..9646a30fb6 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -84,6 +84,7 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt, virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_CIRRUS_VGA); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PIIX_DISABLE_S3); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PIIX_DISABLE_S4); + virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VNC); =20 if (qemuTestCapsCacheInsert(driver.qemuCapsCache, priv->qemuCaps) < 0) return -1; diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 052c7034e1..f22bc0c9e6 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -341,20 +341,42 @@ mymain(void) DO_TEST("disk-mirror-old", NONE); DO_TEST("disk-mirror", NONE); DO_TEST("disk-active-commit", NONE); - DO_TEST("graphics-listen-network", QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("graphics-vnc", QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("graphics-vnc-websocket", QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("graphics-vnc-sasl", QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("graphics-vnc-tls", QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("graphics-vnc-no-listen-attr", QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("graphics-vnc-remove-generated-socket", QEMU_CAPS_DEVICE_CIRRU= S_VGA); + DO_TEST("graphics-listen-network", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); + DO_TEST("graphics-vnc", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); + DO_TEST("graphics-vnc-websocket", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); + DO_TEST("graphics-vnc-sasl", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); + DO_TEST("graphics-vnc-tls", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); + DO_TEST("graphics-vnc-no-listen-attr", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); + DO_TEST("graphics-vnc-remove-generated-socket", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); cfg->vncAutoUnixSocket =3D true; - DO_TEST("graphics-vnc-auto-socket-cfg", QEMU_CAPS_DEVICE_CIRRUS_VGA); + DO_TEST("graphics-vnc-auto-socket-cfg", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); cfg->vncAutoUnixSocket =3D false; - DO_TEST("graphics-vnc-socket", QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("graphics-vnc-auto-socket", QEMU_CAPS_DEVICE_CIRRUS_VGA); + DO_TEST("graphics-vnc-socket", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); + DO_TEST("graphics-vnc-auto-socket", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); DO_TEST("graphics-vnc-egl-headless", - QEMU_CAPS_DEVICE_CIRRUS_VGA, QEMU_CAPS_EGL_HEADLESS); + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_EGL_HEADLESS, + QEMU_CAPS_VNC); =20 DO_TEST_CAPS_ARCH_LATEST("default-video-type-aarch64", "aarch64"); DO_TEST_CAPS_ARCH_LATEST("default-video-type-ppc64", "ppc64"); @@ -418,8 +440,8 @@ mymain(void) QEMU_CAPS_HDA_DUPLEX, QEMU_CAPS_HDA_OUTPUT); DO_TEST("watchdog", NONE); - DO_TEST("net-bandwidth", QEMU_CAPS_DEVICE_VGA); - DO_TEST("net-bandwidth2", QEMU_CAPS_DEVICE_VGA); + DO_TEST("net-bandwidth", QEMU_CAPS_DEVICE_VGA, QEMU_CAPS_VNC); + DO_TEST("net-bandwidth2", QEMU_CAPS_DEVICE_VGA, QEMU_CAPS_VNC); DO_TEST("net-mtu", NONE); DO_TEST("net-coalesce", NONE); DO_TEST("net-many-models", NONE); @@ -460,7 +482,8 @@ mymain(void) DO_TEST("hostdev-mdev-display", QEMU_CAPS_DEVICE_QXL, QEMU_CAPS_VFIO_PCI_DISPLAY, - QEMU_CAPS_DEVICE_VFIO_PCI); + QEMU_CAPS_DEVICE_VFIO_PCI, + QEMU_CAPS_VNC); DO_TEST("pci-rom", NONE); DO_TEST("pci-rom-disabled", NONE); DO_TEST("pci-rom-disabled-invalid", NONE); @@ -503,7 +526,8 @@ mymain(void) DO_TEST("interface-server", QEMU_CAPS_DEVICE_CIRRUS_VGA, QEMU_CAPS_OBJECT_MEMORY_FILE, QEMU_CAPS_PIIX_DISABLE_S3, - QEMU_CAPS_PIIX_DISABLE_S4); + QEMU_CAPS_PIIX_DISABLE_S4, + QEMU_CAPS_VNC); DO_TEST("virtio-lun", NONE); =20 DO_TEST("usb-none", NONE); @@ -671,7 +695,9 @@ mymain(void) QEMU_CAPS_SCSI_LSI); DO_TEST("console-virtio", NONE); DO_TEST("serial-target-port-auto", NONE); - DO_TEST("graphics-listen-network2", QEMU_CAPS_DEVICE_CIRRUS_VGA); + DO_TEST("graphics-listen-network2", + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_VNC); DO_TEST("graphics-spice-timeout", QEMU_CAPS_DEVICE_VGA); DO_TEST("numad-auto-vcpu-no-numatune", NONE); DO_TEST("numad-auto-memory-vcpu-no-cpuset-and-placement", NONE); @@ -1251,7 +1277,7 @@ mymain(void) QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW); - DO_TEST("video-none-device", NONE); + DO_TEST("video-none-device", QEMU_CAPS_VNC); =20 DO_TEST_CAPS_LATEST("intel-iommu"); DO_TEST_CAPS_VER("intel-iommu", "2.6.0"); @@ -1288,7 +1314,8 @@ mymain(void) QEMU_CAPS_QCOW2_LUKS, QEMU_CAPS_OBJECT_MEMORY_FILE, QEMU_CAPS_PIIX_DISABLE_S3, - QEMU_CAPS_PIIX_DISABLE_S4); + QEMU_CAPS_PIIX_DISABLE_S4, + QEMU_CAPS_VNC); DO_TEST("input-virtio-ccw", QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_KEYBOARD, --=20 2.23.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list