spice-server: updated to 0.15.2

Major Changes in 0.15.2:
========================
Really minor fix release, mainly to fix a distribution issue

* Add missing file to distribution
* Fix sound recording fix in case of buffer wrapping

Major Changes in 0.15.1:
========================

* Fix some compatibility issues with FreeBSD
* Fix some minor issue with build
* Improve packaging with Meson
* Lot of C++ improves (clang-tidy)
* Fix some compatibility with no-Glibc libraries (like Musl)
* Fix minor leaks shutting down library
* Add Doxygen file to distribution
* Fix a longstanding issue related to surface updates where wrong surfaces were possibly used
* Fix compatibility with OpenSSL 3
* Updates and fixes for CI
* Use more random connection IDs to fix possible issues with proxies

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
This commit is contained in:
adam 2023-11-09 12:15:50 +00:00
parent 5959e196ab
commit c4db478fbc
8 changed files with 52 additions and 110 deletions

View file

@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.10 2023/10/24 22:11:14 wiz Exp $
# $NetBSD: Makefile,v 1.11 2023/11/09 12:15:50 adam Exp $
DISTNAME= spice-0.14.3
DISTNAME= spice-0.15.2
PKGNAME= ${DISTNAME:S/spice/spice-server/}
PKGREVISION= 4
CATEGORIES= sysutils
MASTER_SITES= https://www.spice-space.org/download/releases/
EXTRACT_SUFX= .tar.bz2
@ -12,19 +11,22 @@ HOMEPAGE= https://www.spice-space.org/
COMMENT= Simple Protocol for Independent Computing Environments
LICENSE= gnu-lgpl-v2.1
GNU_CONFIGURE= yes
USE_CXX_FEATURES= c++11
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= gmake pkg-config
GNU_CONFIGURE= yes
TEST_TARGET= check
PKGCONFIG_OVERRIDE+= spice-server.pc.in
PYTHON_FOR_BUILD_ONLY= tool
LDFLAGS.SunOS+= -lnsl -lsocket
PYTHON_FOR_BUILD_ONLY= tool
.include "../../audio/libopus/buildlink3.mk"
.include "../../lang/python/tool.mk"
.include "../../devel/glib2/buildlink3.mk"
.include "../../lang/python/tool.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../sysutils/spice-protocol/buildlink3.mk"
.include "../../x11/pixman/buildlink3.mk"

View file

@ -1,10 +1,9 @@
$NetBSD: distinfo,v 1.7 2021/10/26 11:20:14 nia Exp $
$NetBSD: distinfo,v 1.8 2023/11/09 12:15:50 adam Exp $
BLAKE2s (spice-0.14.3.tar.bz2) = c1d3435df2541d95fe4e57d903c2908706ed6fdd22f9978dd959fbf8e3e94f39
SHA512 (spice-0.14.3.tar.bz2) = 9ecdc455ff25c71ac1fe6c576654b51efbfb860110bd6828065d23f7462d5c5cac772074d1a40f033386258d970b77275b2007bcfdffb23fdff2137154ea46e4
Size (spice-0.14.3.tar.bz2) = 1504304 bytes
SHA1 (patch-server_red-stream.c) = b5aaee6e4bb7f0cfb89606ad026e4fa2c5f05da9
SHA1 (patch-server_red-worker.c) = 8cee4cafa80812e133ec7883d3544a5245f3ca58
BLAKE2s (spice-0.15.2.tar.bz2) = e9573c34de862ed41ab65988cb4df7475b8fd390294a1a7856c7eeedaba8e4c4
SHA512 (spice-0.15.2.tar.bz2) = c8f273b9e97ef38a03b331f7d32c5f0a09d540523fe626568c845152cbd22273a92b3a08bc13fa2e061b913ad16ceb7cbddf142655cd9cdcd8eb5f646fa6aa26
Size (spice-0.15.2.tar.bz2) = 1663326 bytes
SHA1 (patch-server_red-stream.cpp) = 03353ccc4d8e1b74d3bdf111799eef4ca52bf950
SHA1 (patch-server_red-worker.cpp) = c26cdd5b0ba6e382cdf859e95fff73e0b80a470e
SHA1 (patch-server_tests_test-stream.c) = 4b06d20626f06581c40164aa6d670e9b6530cdee
SHA1 (patch-server_tests_test-websocket.c) = 19bca4dd6f441336588a1ae224f9d3d9b9984917
SHA1 (patch-tools_reds__stat.c) = 84f465dda5da0659f2fc80d1113616ea8b8e44ac
SHA1 (patch-server_tests_test-websocket.c) = cce42a587460cf5e89b785d98c79d66724ec83a7

View file

@ -1,32 +0,0 @@
$NetBSD: patch-server_red-stream.c,v 1.3 2021/01/05 15:14:39 jperkin Exp $
Fix build on SunOS.
No TCP_CORK on netbsd. Disable (like win32)
--- server/red-stream.c.orig 2020-02-27 11:26:12.000000000 +0000
+++ server/red-stream.c
@@ -17,6 +17,15 @@
*/
#include <config.h>
+#if defined(__sun)
+#define MSG_NOSIGNAL 0
+# if __STDC_VERSION__ - 0 < 199901L
+#define _XOPEN_SOURCE 500
+# else
+#define _XOPEN_SOURCE 600
+# endif
+#endif
+
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
@@ -105,7 +114,7 @@ struct RedStreamPrivate {
SpiceCoreInterfaceInternal *core;
};
-#ifndef _WIN32
+#if !defined(_WIN32) && !defined(__NetBSD__)
/**
* Set TCP_CORK on socket
*/

View file

@ -0,0 +1,15 @@
$NetBSD: patch-server_red-stream.cpp,v 1.1 2023/11/09 12:15:50 adam Exp $
TCP_CORK is missing on NetBSD, so disable it (like on win32).
--- server/red-stream.cpp.orig 2023-11-09 12:05:42.873043129 +0000
+++ server/red-stream.cpp
@@ -106,7 +106,7 @@ struct RedStreamPrivate {
SpiceCoreInterfaceInternal *core;
};
-#ifndef _WIN32
+#if !defined(_WIN32) && !defined(__NetBSD__)
/**
* Set TCP_CORK on socket
*/

View file

@ -1,28 +0,0 @@
$NetBSD: patch-server_red-worker.c,v 1.4 2021/04/06 23:43:40 khorben Exp $
Add NetBSD support.
--- server/red-worker.c.orig 2020-02-27 11:26:12.000000000 +0000
+++ server/red-worker.c
@@ -1119,6 +1119,9 @@ static void *red_worker_main(void *arg)
{
RedWorker *worker = arg;
+#if defined(__APPLE__)
+ pthread_setname_np("SPICE Worker");
+#endif
spice_debug("begin");
SPICE_VERIFY(MAX_PIPE_SIZE > WIDE_CLIENT_ACK_WINDOW &&
MAX_PIPE_SIZE > NARROW_CLIENT_ACK_WINDOW); //ensure wakeup by ack message
@@ -1159,7 +1162,11 @@ bool red_worker_run(RedWorker *worker)
#ifndef _WIN32
pthread_sigmask(SIG_SETMASK, &curr_sig_mask, NULL);
#endif
+#if defined(__NetBSD__)
+ pthread_setname_np(worker->thread, "%s", (void *)"SPICE Worker");
+#elif !defined(__sun) && !defined(__APPLE__)
pthread_setname_np(worker->thread, "SPICE Worker");
+#endif
return r == 0;
}

View file

@ -0,0 +1,17 @@
$NetBSD: patch-server_red-worker.cpp,v 1.1 2023/11/09 12:15:50 adam Exp $
Add NetBSD support.
--- server/red-worker.cpp.orig 2023-11-09 11:45:22.496015555 +0000
+++ server/red-worker.cpp
@@ -1049,7 +1049,9 @@ bool red_worker_run(RedWorker *worker)
#ifndef _WIN32
pthread_sigmask(SIG_SETMASK, &curr_sig_mask, nullptr);
#endif
-#if !defined(__APPLE__)
+#if defined(__NetBSD__)
+ pthread_setname_np(worker->thread, "%s", (void *)"SPICE Worker");
+#elif !defined(__APPLE__)
pthread_setname_np(worker->thread, "SPICE Worker");
#endif

View file

@ -1,27 +1,17 @@
$NetBSD: patch-server_tests_test-websocket.c,v 1.2 2021/01/05 15:14:39 jperkin Exp $
$NetBSD: patch-server_tests_test-websocket.c,v 1.3 2023/11/09 12:15:50 adam Exp $
Provide fallback definitions for MSG_NOSIGNAL (SunOS) and SOL_TCP (NetBSD)
Provide fallback definitions for MSG_NOSIGNAL (SunOS).
--- server/tests/test-websocket.c.orig 2020-02-27 11:26:12.000000000 +0000
--- server/tests/test-websocket.c.orig 2023-05-12 08:37:06.000000000 +0000
+++ server/tests/test-websocket.c
@@ -42,6 +42,10 @@
#include "net-utils.h"
#include "websocket.h"
+#if !defined(MSG_NOSIGNAL)
+#define MSG_NOSIGNAL 0
+#define MSG_NOSIGNAL 0
+#endif
+
/*
on data arrived on socket:
try to read data, read again till error, handle error, on EAGAIN polling again
@@ -200,6 +204,9 @@ handle_client(int new_sock)
}
int enable = 1;
+#ifndef SOL_TCP
+#define SOL_TCP IPPROTO_TCP
+#endif
setsockopt(new_sock, SOL_TCP, TCP_NODELAY, (const void *) &enable, sizeof(enable));
// wait header

View file

@ -1,21 +0,0 @@
$NetBSD: patch-tools_reds__stat.c,v 1.3 2021/04/06 23:43:40 khorben Exp $
Add SunOS, NetBSD, and macOS support.
--- tools/reds_stat.c.orig 2020-02-27 11:26:12.000000000 +0000
+++ tools/reds_stat.c
@@ -144,7 +144,14 @@ int main(int argc, char **argv)
num_of_nodes = reds_stat->num_of_nodes;
shm_old_size = shm_size;
shm_size = header_size + num_of_nodes * sizeof(SpiceStatNode);
+#if defined(__NetBSD__)
+ reds_stat = mremap(reds_stat, shm_old_size, NULL, shm_size, 0);
+#elif defined(__sun) || defined(__APPLE__)
+ munmap(reds_stat, shm_old_size);
+ reds_stat = (SpiceStat *)mmap(NULL, shm_size, PROT_READ, MAP_SHARED, fd, 0);
+#else
reds_stat = mremap(reds_stat, shm_old_size, shm_size, MREMAP_MAYMOVE);
+#endif
if (reds_stat == (SpiceStat *)MAP_FAILED) {
perror("mremap");
goto error;