From patchwork Thu Sep 2 14:10:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 4656 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4H0jWz2G2kz3wy6 for ; Thu, 2 Sep 2021 14:11:11 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4H0jWy0jvVz2QJ; Thu, 2 Sep 2021 14:11:10 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4H0jWx6GTSz2y4C; Thu, 2 Sep 2021 14:11:09 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4H0jWx1BDSz2xSF for ; Thu, 2 Sep 2021 14:11:09 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4H0jWw21vmzsN; Thu, 2 Sep 2021 14:11:08 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1630591868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=jy6irlmXENu4wlXYAYbsptiJNf5CkJOacsvZRBjGheo=; b=oIeiPuiVNBsO83ffh/RtFX3Vfy7UbZ30gYxTwccimoou1C3bepoCNhNOW9Q8l04i6619cX Bxz0SVdLGjTtegCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1630591868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=jy6irlmXENu4wlXYAYbsptiJNf5CkJOacsvZRBjGheo=; b=bEtmfisYZ4ZSysKLdI4w2y8WM0F7ruSKumXk5F6+5LTtjoX12HHQEUdpPbL/I2YiJc0GgL iK+XYz4gip1VTRy+fiTklPKvEd/klqSJxp6b0thU4v7munHI2iLdbbAcH5aRxshcuLW3dr RcwkA3Qsavvl1hoThJywmprWIW4jPFbttyR6O3qQfLe8FG75/1ZgYU7XooCPWkmD8P+rNz wvLkPyL/VPtTERQxv+CHa9SL7Ta/AT+hNRlMrKvw8Df8zdEWbsCG1lLLChUhoFIJ5x3OVW FTpsDmnk6qI/H2PMRmcVsqTh5cTbP4T9Z9auO+3wNeU8Eo9xrjh5AzdSK0BCog== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH v2 1/2] spice: Update version to 0.15.0 Date: Thu, 2 Sep 2021 16:10:58 +0200 Message-Id: <20210902141059.2737882-1-adolf.belka@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" - v2 version of series to add $(MAKETUNING) variable to ninja in spice-protocol - Update from 0.14.0 to 0.15.0 - Update rootfile - Version 0.15.0 of spice requires version 0.14.3 or higher of spice-protocol - Changelog Major Changes in 0.15: This is the first release in the new 0.15.x stable series. This release should be ready for production use. * Minor updates to CI * Some compatibility with OpenSSL * Change the behavior of handle_dev_start ignoring multiple start requests * Ignore multiple calls to handle_dev_stop * Pick up newer spice-common to fix a buffer overflow issue Major Changes in 0.14.91: **IMPORTANT** 0.14.91 is the first release candidate for the stable 0.15.x series. While some bugs might still be present, it should be reasonably stable. If you are looking for stability for daily use, please keep using the latest 0.14.x release. * Support UNIX abstract sockets * Fix some potential thread race condition in RedClient * Many cleanups in the code * Improve migration test script * Update in protocol documentation * Improve Meson build * Removed CELT support * Update CI * Removed QXLWorker definition, it was deprecated 6 years ago * Fix some compatibility with MacOS * Fix some compatibility with Windows * Move the project to C++ * Some fixes for SASL dealing with WebDAV * Fix minor Coverity reports * Add Doxygen support, manually built with "make doxy" * Support more mouse buttons (up to 16 buttons) * CVE-2020-14355 multiple buffer overflow vulnerabilities in QUIC decoding code Major Changes in 0.14.3: Main changes are WebSocket and support for Windows. * Add support for WebSocket, this will allow to use spice-html5 without proxy * Support Windows, now Qemu Windows can be build enabling Spice * Fix some alignment problem * Converted some documentation to Asciidoc format to make easier to update, updated some * Minor compatibility fix for PPC64EL and ARMHF * Minor fixes for big endian machines like MIPS * Avoid some crashes with some buggy guest drivers, simply ignore the invalid request * Fix for old OpenSSL versions * Minor fix for Windows clients and brushes, fixed an issue with Photoshop under Windows 7 * Add ability to query video-codecs * Small use-after-free fix * Fix for debugging recording/replaying using QUIC images * Fix a regression where spice reported no monitors to the client * Fix DoS in spicevmc if WebDAV used * Updated and improved test migration script * Some minor fixes to smartcard support * Avoid possible disconnection using proxies using a in-flow keepalive mechanism Major Changes in 0.14.2: Main changes are support for Meson build and graphic device info messages allowing to better support multi-monitor configurations. * CVE-2019-3813: fix off-by-one error in group/slot boundary check * support H265 in stream-channel * add support for building with meson/ninja * minor tests fixes improving CI * set char device state for smartcard, allowing Qemu optimization * improve red-parse-qxl.c interface making it more consistent * add some instrumentation for streaming device * QXL interface: add a function to identify monitors in the guest (spice_qxl_set_device_info) * add support for GraphicsDeviceInfo messages * video-stream: prevent crash on stream reattach * make channel client callbacks virtual functions * bumped minimum required glib version to 2.38 * attempt to have a reliable led state for keyboard modifiers Major Changes in 0.14.1: The main change in this release is the addition of a new protocol extension in order to support streaming the remote display as a video stream rather than going through the QXL protocol. Together with spice-streaming-agent, and/or with more work on the qemu/spice-server side, this should allow streaming of 3D accelerated VMs in the future. At this point, this part of spice-server is still a work in progress (multi-monitor support and various features are missing). * add new org.spice-space.stream.0 channel used for passing an encoded video stream from the guest to the client * add support for TCP_CORK to reduce the amount of packets that we send * fix CVE-2018-10873 * fix cursor related migration crash * fix regression causing sound recording to be muted after client disconnection/reconnection (introduced in 0.13.90) * fix regression in corner cases where images could be sent uncompressed when they used to be compressed with QUIC * disable TLS 1.0 support * CELT 0.5.1 support is now disabled by default. If celt051-devel is installed at build-time, --enable-celt051/--disable-celt051 must be explicitly specified * drop support for unsupported OpenSSL version. OpenSSL 1.0.0 or newer is now required * bumped minimum required glib version to 2.32 * endianness fixes * (small) leak fixes * usual round of code cleanups * not directly related to this release, but the upstream git repository is now hosted on gitlab.freedesktop.org Signed-off-by: Adolf Belka --- config/rootfiles/packages/spice | 3 +-- lfs/spice | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/config/rootfiles/packages/spice b/config/rootfiles/packages/spice index 9ee1f9179..b56a90329 100644 --- a/config/rootfiles/packages/spice +++ b/config/rootfiles/packages/spice @@ -2,7 +2,6 @@ #usr/include/spice-server/spice-audio.h #usr/include/spice-server/spice-char.h #usr/include/spice-server/spice-core.h -#usr/include/spice-server/spice-experimental.h #usr/include/spice-server/spice-input.h #usr/include/spice-server/spice-migration.h #usr/include/spice-server/spice-qxl.h @@ -13,5 +12,5 @@ #usr/lib/libspice-server.la #usr/lib/libspice-server.so usr/lib/libspice-server.so.1 -usr/lib/libspice-server.so.1.12.4 +usr/lib/libspice-server.so.1.14.1 #usr/lib/pkgconfig/spice-server.pc diff --git a/lfs/spice b/lfs/spice index d1f56e708..72b132ebd 100644 --- a/lfs/spice +++ b/lfs/spice @@ -24,7 +24,7 @@ include Config -VER = 0.14.0 +VER = 0.15.0 THISAPP = spice-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = spice -PAK_VER = 5 +PAK_VER = 6 DEPS = opus @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 6622aa7dfb5cd026a4d0d7e659216d26 +$(DL_FILE)_MD5 = 840c5284ebc78c15fc7c3a146931bc01 install : $(TARGET) From patchwork Thu Sep 2 14:10:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 4657 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4H0jXL3lBPz3wy6 for ; Thu, 2 Sep 2021 14:11:30 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4H0jXL0rx5z2QJ; Thu, 2 Sep 2021 14:11:30 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4H0jXL017Qz2yXv; Thu, 2 Sep 2021 14:11:30 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4H0jXJ6fFvz2xW7 for ; Thu, 2 Sep 2021 14:11:28 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4H0jXJ3SlLzsN; Thu, 2 Sep 2021 14:11:28 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1630591888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DW+FS4hGYFX+IMXk4CMy8Jn1IN2+szRyOLXbM/8SfqM=; b=YjyUgZMqSVZpCy8t7HJeYGxW1pUe08xE7kpgdVPL/svCOpetwAN03dJ+GQKX2YfWAwz6W9 UE4CumXzj82LA2Ag== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1630591888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DW+FS4hGYFX+IMXk4CMy8Jn1IN2+szRyOLXbM/8SfqM=; b=YODTp0JeO288dweUyTr702LEeRBICyQlZLK070Jcji5KUZZrbNi3f4fDy2r8ivUGx5D0v/ FM6dsJ6w1k5mhhSc7Qhc95ZTKLFETjLo9Dlxpkrww6CqA31bzaWIvfd3ByBdy9Nfq6etZo 2E7zcEymbQxTLiQ0pm1IPURmLlqW8npYIhnLvH3mLOjQV9DapMv+oYOa/xm65MEmHcLqHa SNBslfq3wqZLm616mTYSL4fE057u0JDSwbv/wovTas9exi6D4q0FP2kgTxi5V1P/7UPz7o qB29GUT7JHWyZD6R9Mdzx/e03Ady3i2tESXt0da8elV00M6QYYahKSsxdYvw6g== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH v2 2/2] spice-protocol: Update to 0.14.3 and enable build without python2 Date: Thu, 2 Sep 2021 16:10:59 +0200 Message-Id: <20210902141059.2737882-2-adolf.belka@ipfire.org> In-Reply-To: <20210902141059.2737882-1-adolf.belka@ipfire.org> References: <20210902141059.2737882-1-adolf.belka@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" - v2 version adds $(MAKETUNING) variable to ninja build command - Update from 0.12.13 to 0.14.3 - Update rootfile - Remove automake py-compile line from lfs. This only works with python2 Not clear why this line was put into the lfs. Searched the documentation of spice and qemu and could not find any reference to needing any of the python modules in spice to be installed either as modules or compiled in. The only references found in general searches were to modules such as python-virtinst, python-spice-client-gtk or python-websockify, none of which are in the python modules in spice. - Removing the automake py-compile line from the lfs enables spice-protocol, spice and qemu to build without python2 being present. Signed-off-by: Adolf Belka --- config/rootfiles/common/spice-protocol | 6 +----- lfs/spice-protocol | 17 ++++++++--------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/config/rootfiles/common/spice-protocol b/config/rootfiles/common/spice-protocol index 26cdc2102..d7d6e7470 100644 --- a/config/rootfiles/common/spice-protocol +++ b/config/rootfiles/common/spice-protocol @@ -1,11 +1,8 @@ #usr/include/spice-1 #usr/include/spice-1/spice #usr/include/spice-1/spice/barrier.h -#usr/include/spice-1/spice/controller_prot.h #usr/include/spice-1/spice/end-packed.h #usr/include/spice-1/spice/enums.h -#usr/include/spice-1/spice/error_codes.h -#usr/include/spice-1/spice/foreign_menu_prot.h #usr/include/spice-1/spice/ipc_ring.h #usr/include/spice-1/spice/macros.h #usr/include/spice-1/spice/protocol.h @@ -13,8 +10,7 @@ #usr/include/spice-1/spice/qxl_windows.h #usr/include/spice-1/spice/start-packed.h #usr/include/spice-1/spice/stats.h +#usr/include/spice-1/spice/stream-device.h #usr/include/spice-1/spice/types.h #usr/include/spice-1/spice/vd_agent.h -#usr/include/spice-1/spice/vdi_dev.h -#usr/share/pkgconfig #usr/share/pkgconfig/spice-protocol.pc diff --git a/lfs/spice-protocol b/lfs/spice-protocol index 00f2e57b3..ead597438 100644 --- a/lfs/spice-protocol +++ b/lfs/spice-protocol @@ -24,15 +24,15 @@ include Config -VER = 0.12.13 +VER = 0.14.3 THISAPP = spice-protocol-$(VER) -DL_FILE = $(THISAPP).tar.bz2 +DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = spice-protocol -PAK_VER = 3 +PAK_VER = 4 DEPS = @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 50a1d951d1fa96d1478ff0cc7f3b1442 +$(DL_FILE)_MD5 = 950e08044497ca9cf64e368cb3ceb395 install : $(TARGET) @@ -76,10 +76,9 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && ./configure --prefix=/usr - cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) - cd $(DIR_APP) && make install - /usr/share/automake-*/py-compile /usr/lib/spice-protocol/python_modules/* + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && meson --prefix=/usr builddir/ + cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING) + cd $(DIR_APP) && ninja -C builddir/ install @rm -rf $(DIR_APP) @$(POSTBUILD)