Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-1.9.git;a=commitdiff;h=60bd436381ed31eefa81351471c49438ea754ffd

commit 60bd436381ed31eefa81351471c49438ea754ffd
Author: kikadf <kikadf...@gmail.com>
Date:   Sun Jan 12 11:56:22 2014 +0100

spice-0.12.2-2arcturus1-x86_64

* Fix CVE-2013-4130.patch

diff --git a/source/xlib-extra/spice/CVE-2013-4130.patch 
b/source/xlib-extra/spice/CVE-2013-4130.patch
new file mode 100644
index 0000000..a19040c
--- /dev/null
+++ b/source/xlib-extra/spice/CVE-2013-4130.patch
@@ -0,0 +1,52 @@
+Description: Use RING_FOREACH_SAFE in red_channel.c functions which are 
missing it
+ Currently, both red_channel_pipes_add_type() and
+ red_channel_pipes_add_empty_msg() use plaing RING_FOREACH() which is not
+ safe versus removals from the ring within the loop body.
+ .
+ Although it's rare, such a removal can occur in both cases.  In the case
+ of red_channel_pipes_add_type() we have:
+     red_channel_pipes_add_type()
+     -> red_channel_client_pipe_add_type()
+         -> red_channel_client_push()
+ .
+ And in the case of red_channel_client_pipes_add_empty_msg() we have:
+     red_channel_client_pipes_add_empty_msg()
+     -> red_channel_client_pipe_add_empty_msg()
+         -> red_channel_client_push()
+ .
+ But red_channel_client_push() can cause a removal from the clients ring if
+ a network error occurs:
+     red_channel_client_push()
+     -> red_channel_client_send()
+         -> red_peer_handle_outgoing()
+             -> handler->cb->on_error callback
+             =  red_channel_client_default_peer_on_error()
+                 -> red_channel_client_disconnect()
+                     -> red_channel_remove_client()
+                         -> ring_remove()
+ .
+ When this error path does occur, the assertion in RING_FOREACH()'s
+ ring_next() trips, and the process containing the spice server is aborted.
+ i.e. your whole VM dies, as a result of an unfortunately timed network
+ error on the spice channel.
+Origin: backport, 
http://cgit.freedesktop.org/spice/spice/commit/?id=53488f0275d6c8a121af49f7ac817d09ce68090d
+Bug-Debian: http://bugs.debian.org/717030
+Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=984769
+Forwarded: not-needed
+Author: David Gibson <da...@gibson.dropbear.id.au>
+Author: Salvatore Bonaccorso <car...@debian.org>
+Last-Update: 2014-01-03
+--- a/server/red_channel.c
++++ b/server/red_channel.c
+@@ -1213,9 +1213,9 @@
+
+ void red_channel_pipes_add_type(RedChannel *channel, int pipe_item_type)
+ {
+-    RingItem *link;
++    RingItem *link, *next;
+
+-    RING_FOREACH(link, &channel->clients) {
++    RING_FOREACH_SAFE(link, next, &channel->clients) {
+         red_channel_client_pipe_add_type(
+             SPICE_CONTAINEROF(link, RedChannelClient, channel_link),
+             pipe_item_type);
diff --git a/source/xlib-extra/spice/FrugalBuild 
b/source/xlib-extra/spice/FrugalBuild
index 5ceaf1d..4413708 100644
--- a/source/xlib-extra/spice/FrugalBuild
+++ b/source/xlib-extra/spice/FrugalBuild
@@ -1,9 +1,12 @@
# Compiling time: 0.47 SBU
-# Maintainer: bouleetbil <bouleet...@frogdev.info>
+# Maintainer: kikadf <kikadf...@gmail.com>
+# Contributor: bouleetbil <bouleet...@frogdev.info>
+
+options+=('asneeded')

pkgname=spice
pkgver=0.12.2
-pkgrel=1
+pkgrel=2arcturus1
url="http://spice-space.org";
source=("http://www.spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2";)
up2date="Flasttar http://www.spice-space.org/download/releases/";
@@ -22,8 +25,13 @@ subdepends=("${subdepends[@]}" "celt051 libglu libjpeg 
pixman cyrus-sasl libuuid
subgroups=("${subgroups[@]}" 'xlib-extra')
subarchs=("${subarchs[@]}" 'i686 x86_64')

+# FSA fix ***
+source=(${source[@]} CVE-2013-4130.patch)
+sha1sums=(${sha1sums[@]} '36fbe9d347dcc1da79a962bebef9098f46547d8a')
+# ***********
+
build() {
-       Fcd
+       Fpatchall
Fconf
Fsed "tests" "" server/Makefile*
make || Fdie
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to