From da40c61cddb4cc20ad75a8fc778f2e9336915f2f Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 29 May 2019 17:08:15 +0000 Subject: main/spice: upgrade to 0.14.2 --- ...0001-Disable-failing-tests-on-some-arches.patch | 287 +-------------------- main/spice/APKBUILD | 22 +- main/spice/CVE-2018-10873.patch | 67 +++++ 3 files changed, 86 insertions(+), 290 deletions(-) create mode 100644 main/spice/CVE-2018-10873.patch diff --git a/main/spice/0001-Disable-failing-tests-on-some-arches.patch b/main/spice/0001-Disable-failing-tests-on-some-arches.patch index 21a081eaf7c..ae94d30a29d 100644 --- a/main/spice/0001-Disable-failing-tests-on-some-arches.patch +++ b/main/spice/0001-Disable-failing-tests-on-some-arches.patch @@ -1,300 +1,27 @@ -From 5c306b874c847e6ae6750c55d097467ea89905b7 Mon Sep 17 00:00:00 2001 -From: Leonardo Arena -Date: Thu, 31 Jan 2019 07:13:01 +0000 -Subject: [PATCH] Disable failing tests on some arches - -Missing logs for the last two tests - -FAIL: test-listen -================= - -/server/listen/connect_plain: OK -/server/listen/connect_tls: ** -Spice:ERROR:test-listen.c:117:fake_client_connect_tls: assertion failed (*error == NULL): TLS support is not available (g-tls-error-quark, 0) -Aborted -FAIL test-listen (exit status: 134) - -FAIL: test-sasl -=============== - -(process:27479): Spice-WARNING **: 10:54:41.853: red-stream.c:725:addr_to_string: Cannot resolve address -6: Unrecognized address family or invalid length -** -Spice:ERROR:test-sasl.c:516:client_emulator: assertion failed (read_u32_err(sock, &mechlen) == sizeof(uint32_t)): (0 == 4) - ---- - server/tests/Makefile.am | 7 --- - server/tests/Makefile.in | 122 +++------------------------------------ - 2 files changed, 9 insertions(+), 120 deletions(-) - diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am -index 238f25a..51dbad0 100644 +index d7f7af9..aa47f27 100644 --- a/server/tests/Makefile.am +++ b/server/tests/Makefile.am -@@ -53,15 +53,11 @@ check_PROGRAMS = \ +@@ -54,7 +54,6 @@ check_PROGRAMS = \ test-stream \ test-agent-msg-filter \ test-loop \ - test-qxl-parsing \ test-stat-file \ -- test-leaks \ -- test-vdagent \ - test-fail-on-null-core-interface \ + test-leaks \ + test-vdagent \ +@@ -62,7 +61,6 @@ check_PROGRAMS = \ test-empty-success \ test-channel \ test-stream-device \ - test-listen \ + test-record \ $(NULL) - noinst_PROGRAMS = \ -@@ -144,6 +140,3 @@ endif +@@ -146,6 +144,3 @@ endif EXTRA_DIST += video-encoders -if HAVE_SASL -check_PROGRAMS += test-sasl -endif -diff --git a/server/tests/Makefile.in b/server/tests/Makefile.in -index bd2c74b..eeda989 100644 ---- a/server/tests/Makefile.in -+++ b/server/tests/Makefile.in -@@ -92,11 +92,10 @@ host_triplet = @host@ - check_PROGRAMS = test-codecs-parsing$(EXEEXT) test-options$(EXEEXT) \ - test-stat$(EXEEXT) test-stream$(EXEEXT) \ - test-agent-msg-filter$(EXEEXT) test-loop$(EXEEXT) \ -- test-qxl-parsing$(EXEEXT) test-stat-file$(EXEEXT) \ -- test-leaks$(EXEEXT) test-vdagent$(EXEEXT) \ -+ test-stat-file$(EXEEXT) \ - test-fail-on-null-core-interface$(EXEEXT) \ - test-empty-success$(EXEEXT) test-channel$(EXEEXT) \ -- test-stream-device$(EXEEXT) test-listen$(EXEEXT) \ -+ test-stream-device$(EXEEXT) \ - $(am__EXEEXT_1) $(am__EXEEXT_2) - noinst_PROGRAMS = test-display-no-ssl$(EXEEXT) \ - test-display-streaming$(EXEEXT) test-playback$(EXEEXT) \ -@@ -107,7 +106,6 @@ noinst_PROGRAMS = test-display-no-ssl$(EXEEXT) \ - TESTS = $(check_PROGRAMS) $(am__EXEEXT_1) $(am__append_2) - @HAVE_GSTREAMER_TRUE@am__append_1 = test-gst - @ENABLE_EXTRA_CHECKS_TRUE@@HAVE_GSTREAMER_TRUE@am__append_2 = video-encoders --@HAVE_SASL_TRUE@am__append_3 = test-sasl - subdir = server/tests - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/ax_valgrind_check.m4 \ -@@ -158,7 +156,6 @@ am_libtest_a_OBJECTS = basic-event-loop.$(OBJEXT) \ - $(am__objects_1) - libtest_a_OBJECTS = $(am_libtest_a_OBJECTS) - am__EXEEXT_1 = --@HAVE_SASL_TRUE@am__EXEEXT_2 = test-sasl$(EXEEXT) - @HAVE_GSTREAMER_TRUE@am__EXEEXT_3 = test-gst$(EXEEXT) - PROGRAMS = $(noinst_PROGRAMS) - am__dirstamp = $(am__leading_dot)dirstamp -@@ -263,22 +260,6 @@ test_gst_DEPENDENCIES = libtest.a \ - $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) --test_leaks_SOURCES = test-leaks.c --test_leaks_OBJECTS = test-leaks.$(OBJEXT) --test_leaks_LDADD = $(LDADD) --test_leaks_DEPENDENCIES = libtest.a \ -- $(SPICE_COMMON_DIR)/common/libspice-common.la \ -- $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) --test_listen_SOURCES = test-listen.c --test_listen_OBJECTS = test-listen.$(OBJEXT) --test_listen_LDADD = $(LDADD) --test_listen_DEPENDENCIES = libtest.a \ -- $(SPICE_COMMON_DIR)/common/libspice-common.la \ -- $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) - test_loop_SOURCES = test-loop.c - test_loop_OBJECTS = test-loop.$(OBJEXT) - test_loop_LDADD = $(LDADD) -@@ -303,22 +284,6 @@ test_playback_DEPENDENCIES = libtest.a \ - $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) --test_qxl_parsing_SOURCES = test-qxl-parsing.c --test_qxl_parsing_OBJECTS = test-qxl-parsing.$(OBJEXT) --test_qxl_parsing_LDADD = $(LDADD) --test_qxl_parsing_DEPENDENCIES = libtest.a \ -- $(SPICE_COMMON_DIR)/common/libspice-common.la \ -- $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) --test_sasl_SOURCES = test-sasl.c --test_sasl_OBJECTS = test-sasl.$(OBJEXT) --test_sasl_LDADD = $(LDADD) --test_sasl_DEPENDENCIES = libtest.a \ -- $(SPICE_COMMON_DIR)/common/libspice-common.la \ -- $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) - am_test_stat_OBJECTS = test-stat.$(OBJEXT) - test_stat_OBJECTS = $(am_test_stat_OBJECTS) - am__DEPENDENCIES_2 = libtest.a \ -@@ -361,14 +326,6 @@ test_two_servers_DEPENDENCIES = libtest.a \ - $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) --test_vdagent_SOURCES = test-vdagent.c --test_vdagent_OBJECTS = test-vdagent.$(OBJEXT) --test_vdagent_LDADD = $(LDADD) --test_vdagent_DEPENDENCIES = libtest.a \ -- $(SPICE_COMMON_DIR)/common/libspice-common.la \ -- $(top_builddir)/server/libserver.la $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) - AM_V_P = $(am__v_P_@AM_V@) - am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) - am__v_P_0 = false -@@ -410,10 +367,10 @@ SOURCES = $(libtest_stat1_a_SOURCES) $(libtest_stat2_a_SOURCES) \ - test-display-no-ssl.c test-display-resolution-changes.c \ - test-display-streaming.c test-display-width-stride.c \ - test-empty-success.c test-fail-on-null-core-interface.c \ -- $(test_gst_SOURCES) test-leaks.c test-listen.c test-loop.c \ -- test-options.c test-playback.c test-qxl-parsing.c test-sasl.c \ -+ $(test_gst_SOURCES) test-loop.c \ -+ test-options.c test-playback.c \ - $(test_stat_SOURCES) test-stat-file.c test-stream.c \ -- test-stream-device.c test-two-servers.c test-vdagent.c -+ test-stream-device.c test-two-servers.c - DIST_SOURCES = $(libtest_stat1_a_SOURCES) $(libtest_stat2_a_SOURCES) \ - $(libtest_stat3_a_SOURCES) $(libtest_stat4_a_SOURCES) \ - $(libtest_a_SOURCES) $(spice_server_replay_SOURCES) \ -@@ -421,11 +378,10 @@ DIST_SOURCES = $(libtest_stat1_a_SOURCES) $(libtest_stat2_a_SOURCES) \ - test-display-no-ssl.c test-display-resolution-changes.c \ - test-display-streaming.c test-display-width-stride.c \ - test-empty-success.c test-fail-on-null-core-interface.c \ -- $(am__test_gst_SOURCES_DIST) test-leaks.c test-listen.c \ -- test-loop.c test-options.c test-playback.c test-qxl-parsing.c \ -- test-sasl.c $(test_stat_SOURCES) test-stat-file.c \ -- test-stream.c test-stream-device.c test-two-servers.c \ -- test-vdagent.c -+ $(am__test_gst_SOURCES_DIST) \ -+ test-loop.c test-options.c test-playback.c \ -+ $(test_stat_SOURCES) test-stat-file.c \ -+ test-stream.c test-stream-device.c test-two-servers.c - am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ -@@ -1046,14 +1002,6 @@ test-gst$(EXEEXT): $(test_gst_OBJECTS) $(test_gst_DEPENDENCIES) $(EXTRA_test_gst - @rm -f test-gst$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_gst_OBJECTS) $(test_gst_LDADD) $(LIBS) - --test-leaks$(EXEEXT): $(test_leaks_OBJECTS) $(test_leaks_DEPENDENCIES) $(EXTRA_test_leaks_DEPENDENCIES) -- @rm -f test-leaks$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(test_leaks_OBJECTS) $(test_leaks_LDADD) $(LIBS) -- --test-listen$(EXEEXT): $(test_listen_OBJECTS) $(test_listen_DEPENDENCIES) $(EXTRA_test_listen_DEPENDENCIES) -- @rm -f test-listen$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(test_listen_OBJECTS) $(test_listen_LDADD) $(LIBS) -- - test-loop$(EXEEXT): $(test_loop_OBJECTS) $(test_loop_DEPENDENCIES) $(EXTRA_test_loop_DEPENDENCIES) - @rm -f test-loop$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_loop_OBJECTS) $(test_loop_LDADD) $(LIBS) -@@ -1066,14 +1014,6 @@ test-playback$(EXEEXT): $(test_playback_OBJECTS) $(test_playback_DEPENDENCIES) $ - @rm -f test-playback$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_playback_OBJECTS) $(test_playback_LDADD) $(LIBS) - --test-qxl-parsing$(EXEEXT): $(test_qxl_parsing_OBJECTS) $(test_qxl_parsing_DEPENDENCIES) $(EXTRA_test_qxl_parsing_DEPENDENCIES) -- @rm -f test-qxl-parsing$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(test_qxl_parsing_OBJECTS) $(test_qxl_parsing_LDADD) $(LIBS) -- --test-sasl$(EXEEXT): $(test_sasl_OBJECTS) $(test_sasl_DEPENDENCIES) $(EXTRA_test_sasl_DEPENDENCIES) -- @rm -f test-sasl$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(test_sasl_OBJECTS) $(test_sasl_LDADD) $(LIBS) -- - test-stat$(EXEEXT): $(test_stat_OBJECTS) $(test_stat_DEPENDENCIES) $(EXTRA_test_stat_DEPENDENCIES) - @rm -f test-stat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_stat_OBJECTS) $(test_stat_LDADD) $(LIBS) -@@ -1094,10 +1034,6 @@ test-two-servers$(EXEEXT): $(test_two_servers_OBJECTS) $(test_two_servers_DEPEND - @rm -f test-two-servers$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_two_servers_OBJECTS) $(test_two_servers_LDADD) $(LIBS) - --test-vdagent$(EXEEXT): $(test_vdagent_OBJECTS) $(test_vdagent_DEPENDENCIES) $(EXTRA_test_vdagent_DEPENDENCIES) -- @rm -f test-vdagent$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(test_vdagent_OBJECTS) $(test_vdagent_LDADD) $(LIBS) -- - mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f ../*.$(OBJEXT) -@@ -1123,19 +1059,14 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-empty-success.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fail-on-null-core-interface.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-glib-compat.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-leaks.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-listen.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-loop.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-options.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-playback.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-qxl-parsing.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sasl.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat-file.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stream-device.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stream.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-two-servers.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vdagent.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_gst-test-gst.Po@am__quote@ - - .c.o: -@@ -1473,13 +1404,6 @@ test-loop.log: test-loop$(EXEEXT) - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) --test-qxl-parsing.log: test-qxl-parsing$(EXEEXT) -- @p='test-qxl-parsing$(EXEEXT)'; \ -- b='test-qxl-parsing'; \ -- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ -- --log-file $$b.log --trs-file $$b.trs \ -- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -- "$$tst" $(AM_TESTS_FD_REDIRECT) - test-stat-file.log: test-stat-file$(EXEEXT) - @p='test-stat-file$(EXEEXT)'; \ - b='test-stat-file'; \ -@@ -1487,20 +1411,6 @@ test-stat-file.log: test-stat-file$(EXEEXT) - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) --test-leaks.log: test-leaks$(EXEEXT) -- @p='test-leaks$(EXEEXT)'; \ -- b='test-leaks'; \ -- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ -- --log-file $$b.log --trs-file $$b.trs \ -- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -- "$$tst" $(AM_TESTS_FD_REDIRECT) --test-vdagent.log: test-vdagent$(EXEEXT) -- @p='test-vdagent$(EXEEXT)'; \ -- b='test-vdagent'; \ -- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ -- --log-file $$b.log --trs-file $$b.trs \ -- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -- "$$tst" $(AM_TESTS_FD_REDIRECT) - test-fail-on-null-core-interface.log: test-fail-on-null-core-interface$(EXEEXT) - @p='test-fail-on-null-core-interface$(EXEEXT)'; \ - b='test-fail-on-null-core-interface'; \ -@@ -1529,20 +1439,6 @@ test-stream-device.log: test-stream-device$(EXEEXT) - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) --test-listen.log: test-listen$(EXEEXT) -- @p='test-listen$(EXEEXT)'; \ -- b='test-listen'; \ -- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ -- --log-file $$b.log --trs-file $$b.trs \ -- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -- "$$tst" $(AM_TESTS_FD_REDIRECT) --test-sasl.log: test-sasl$(EXEEXT) -- @p='test-sasl$(EXEEXT)'; \ -- b='test-sasl'; \ -- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ -- --log-file $$b.log --trs-file $$b.trs \ -- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -- "$$tst" $(AM_TESTS_FD_REDIRECT) - video-encoders.log: video-encoders - @p='video-encoders'; \ - b='video-encoders'; \ --- -2.20.1 - diff --git a/main/spice/APKBUILD b/main/spice/APKBUILD index ae5d550ee2f..1239322ff56 100644 --- a/main/spice/APKBUILD +++ b/main/spice/APKBUILD @@ -1,21 +1,21 @@ # Contributor: Natanael Copa # Maintainer: Natanael Copa pkgname=spice -pkgver=0.14.1 -pkgrel=6 +pkgver=0.14.2 +pkgrel=0 pkgdesc="Implements the SPICE protocol" url="http://www.spice-space.org/" arch="all" license="LGPL-2.0-or-later" depends="" -depends_dev="spice-protocol pixman-dev celt051-dev libxinerama-dev" -makedepends="$depends_dev alsa-lib-dev libjpeg-turbo-dev libxrandr-dev +depends_dev="spice-protocol pixman-dev libxinerama-dev" +makedepends="$depends_dev alsa-lib-dev libjpeg-turbo-dev libxrandr-dev lz4-dev cyrus-sasl-dev libxfixes-dev python2-dev bash cegui06-dev py-parsing - py-six glib-dev opus-dev openssl-dev" + py-six glib-dev opus-dev openssl-dev gstreamer-dev gst-plugins-base-dev + automake autoconf libtool" subpackages="$pkgname-dev $pkgname-server" source="https://www.spice-space.org/download/releases/spice-server/spice-$pkgver.tar.bz2 0001-Disable-failing-tests-on-some-arches.patch - CVE-2019-3813.patch " builddir="$srcdir/$pkgname-$pkgver" @@ -31,6 +31,7 @@ builddir="$srcdir/$pkgname-$pkgver" # - CVE-2016-9578 build() { + autoreconf -vif cd "$builddir" ./configure \ --build=$CBUILD \ @@ -43,8 +44,10 @@ build() { --enable-gui \ --enable-client \ --disable-smartcard \ + --disable-celt051 \ + --enable-lz4 \ --enable-opus \ - --enable-celt051 + --enable-gstreamer=1.0 make WARN_CFLAGS='' } @@ -64,6 +67,5 @@ server() { mv "$pkgdir"/usr/lib/*server.so.* "$subpkgdir"/usr/lib/ } -sha512sums="2c0b4fbcb68c76bc0404a807f28c9645a30c6b88e81d2bc574d63b036778a299cebc0ae12aa72f2e1496f66cbf414325125948d440541a40e1b9e53b8956542d spice-0.14.1.tar.bz2 -f53f538a3fda9b55395c57c9ddacbd43aff8de5214df5f61475db6234660cb2d27ff7de6b9631d5a2a840638d07bc732449c6ef60df030e08c423084406bb053 0001-Disable-failing-tests-on-some-arches.patch -d64dd5ec03a18a1d1e5371595ad7d18055c607b54a7b381e0ad071fecf78abd8eac48a6152acaadec2ced90a9630a109f1af4caab0d0c7936b2c2642ac4dd107 CVE-2019-3813.patch" +sha512sums="1093b618ea4a7ff31944429ce2903abecfc8d20c35f2d9c8c837a6e053ee429c0115e40665542637a717869209523ac05d15cdb5e77563102d5d3915e4aaaf76 spice-0.14.2.tar.bz2 +0ce5c4077a436a8895452557529d4ad118a578b8e6d157e1d8453105b7456496a0f85da0821afafbae7359a3fd6fe46d47de3bf639fa9bdb9a535ce68ab17dfa 0001-Disable-failing-tests-on-some-arches.patch" diff --git a/main/spice/CVE-2018-10873.patch b/main/spice/CVE-2018-10873.patch new file mode 100644 index 00000000000..de83029cf32 --- /dev/null +++ b/main/spice/CVE-2018-10873.patch @@ -0,0 +1,67 @@ +https://gitlab.freedesktop.org/spice/spice-common/commit/bb15d4815ab586b4c4a20f4a565970a44824c42c + +diff --git a/spice-common/python_modules/demarshal.py b/python_modules/demarshal.py +index 7b53361..5a237a6 100644 +--- a/spice-common/python_modules/demarshal.py ++++ b/spice-common/python_modules/demarshal.py +@@ -331,6 +331,7 @@ def write_validate_array_item(writer, container, item, scope, parent_scope, star + writer.assign(nelements, array.size) + elif array.is_remaining_length(): + if element_type.is_fixed_nw_size(): ++ writer.error_check("%s > message_end" % item.get_position()) + if element_type.get_fixed_nw_size() == 1: + writer.assign(nelements, "message_end - %s" % item.get_position()) + else: +diff --git a/tests/test-marshallers.c b/tests/test-marshallers.c +index ad45e36..02fbcd1 100644 +--- a/spice-common/tests/test-marshallers.c ++++ b/spice-common/tests/test-marshallers.c +@@ -150,6 +150,14 @@ int main(int argc G_GNUC_UNUSED, char **argv G_GNUC_UNUSED) + + test_overflow(marshaller); + ++ len = 4; ++ data = g_new0(uint8_t, len); ++ memset(data, 0, len); ++ msg = (SpiceMsgMainShortDataSubMarshall *) spice_parse_msg(data, data + len, 1, 3, 0, ++ &msg_len, &free_message); ++ g_assert_null(msg); ++ g_free(data); ++ + spice_marshaller_destroy(marshaller); + + return 0; +diff --git a/tests/test-marshallers.h b/tests/test-marshallers.h +index 99877c0..4eab90f 100644 +--- a/spice-common/tests/test-marshallers.h ++++ b/spice-common/tests/test-marshallers.h +@@ -21,5 +21,10 @@ typedef struct SpiceMsgChannels { + uint16_t channels[0]; + } SpiceMsgChannels; + ++typedef struct { ++ uint32_t dummy[2]; ++ uint8_t data[0]; ++} SpiceMsgMainLenMessage; ++ + #endif /* _H_TEST_MARSHALLERS */ + +diff --git a/tests/test-marshallers.proto b/tests/test-marshallers.proto +index c75134e..34cc892 100644 +--- a/spice-common/tests/test-marshallers.proto ++++ b/spice-common/tests/test-marshallers.proto +@@ -19,6 +19,11 @@ channel TestChannel { + uint32 num_of_channels; + uint16 channels[num_of_channels] @end; + } @ctype(SpiceMsgChannels) channels_list; ++ ++ message { ++ uint32 dummy[2]; ++ uint8 data[] @end; ++ } LenMessage; + }; + + protocol Spice { +-- +2.17.1 + -- cgit v1.2.3