Hello community,
here is the log from the commit of package kvm for openSUSE:Factory checked in at 2012-09-06 08:55:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kvm (Old)
and /work/SRC/openSUSE:Factory/.kvm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kvm", Maintainer is "BROGERS@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kvm/kvm.changes 2012-08-04 13:10:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kvm.new/kvm.changes 2012-09-06 08:55:58.000000000 +0200
@@ -1,0 +2,25 @@
+Wed Sep 5 13:37:22 UTC 2012 - brogers@suse.com
+
+- Fix VT100 emulation vulnerability (bnc#777084) (CVE-2012-3515)
+
+-------------------------------------------------------------------
+Thu Aug 30 20:14:10 UTC 2012 - brogers@suse.com
+
+- Update to qemu-kvm v1.2 rc1
+- Update to the most recent upstream seabios code base
+
+-------------------------------------------------------------------
+Mon Aug 20 20:36:58 UTC 2012 - brogers@suse.com
+
+- Update to latest qemu-kvm, which is basically at the 1.2 rc0
+ stage, though it hasn't officially been tagged as such
+- Update to the most recent upstream ipxe code base
+- add next-gen libcap build dependency to get the best security
+ protection when using the bridge-helper.
+
+-------------------------------------------------------------------
+Thu Aug 16 02:22:58 UTC 2012 - brogers@suse.com
+
+- Fix i8254 PIT emulation (bnc#769138)
+
+-------------------------------------------------------------------
Old:
----
ipxe-1.0.0.tar.bz2
ipxe-isa-Avoid-spurious-compiler-warning-on-gcc-4.7.patch
ipxe-qib7322-Fix-compiler-warning-on-gcc-4.7.patch
kvm-qemu-preXX-uhci-fix-uhci_async_cancel_all.patch
qemu-kvm-1.1.1.tar.bz2
seabios-1.7.0.tar.bz2
New:
----
ipxe-git-a05871d.tar.bz2
kvm-qemu-preXX-configure-avoid-compiler-warning-in-pipe2-detection.patch
kvm-qemu-preXX-console-bounds-check-whenever-changing-the-cursor-du.patch
qemu-kvm-1.2.rc1.tar.bz2
seabios-Makefile-fix-iasl-option-detection.patch
seabios-git-7a39e72.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kvm.spec ++++++
--- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200
@@ -19,11 +19,12 @@
%bcond_without spice
-%define package_true_version 1.1.1
-%define package_base_version 1.1.1
-%define bios_id seabios-1.7.0
-# ipxe is through git commit id: addf699c86ae18edd7de13433da78be926c22504
-%define pxe_rom_id ipxe-1.0.0
+%define package_true_version 1.2.rc1
+%define package_base_version 1.2.0
+%define bios_id seabios-git-7a39e72
+# (this is post v1.7.0 upstream seabios code)
+%define pxe_rom_id ipxe-git-a05871d
+# (this is post v1.0.0 upstream ipxe code)
%define vgabios_id vgabios-0.6c
# sgabios comes from: http://sgabios.googlecode.com/svn/trunk, Rev 8
%define sgabios_id sgabios
@@ -56,6 +57,7 @@
BuildRequires: libaio-devel
BuildRequires: libattr-devel
BuildRequires: libcap-devel
+BuildRequires: libcap-ng-devel
BuildRequires: libcurl-devel
BuildRequires: libpulse-devel
BuildRequires: ncurses-devel
@@ -125,11 +127,10 @@
# ipxe patches
Patch01: ipxe-rom-settings.patch
Patch02: ipxe-avoid-bad-array-reference.patch
-Patch03: ipxe-qib7322-Fix-compiler-warning-on-gcc-4.7.patch
-Patch04: ipxe-isa-Avoid-spurious-compiler-warning-on-gcc-4.7.patch
# seabios patches
Patch20: seabios-sanitize-version.patch
+Patch21: seabios-Makefile-fix-iasl-option-detection.patch
# vgabios patches
Patch40: vgabios-bcc-paths.patch
@@ -149,7 +150,8 @@
Patch104: kvm-qemu-madvise-hugepages.patch
Patch105: kvm-qemu-preXX-dictzip3.patch
Patch106: kvm-qemu-preXX-use--libexecdir-instead-of-ignoring.patch
-Patch107: kvm-qemu-preXX-uhci-fix-uhci_async_cancel_all.patch
+Patch107: kvm-qemu-preXX-configure-avoid-compiler-warning-in-pipe2-detection.patch
+Patch108: kvm-qemu-preXX-console-bounds-check-whenever-changing-the-cursor-du.patch
Patch200: kvm-studio-slirp-nooutgoing.patch
Patch201: kvm-studio-vnc.patch
@@ -213,8 +215,6 @@
# ipxe patches
%patch01 -p1
%patch02 -p1
-%patch03 -p1
-%patch04 -p1
%endif
%setup -q -n qemu-%{name}-%{package_true_version} -a 6 -a 9 -a 10
%if %{build_fw_from_source}
@@ -225,6 +225,7 @@
done
# seabios patches
%patch20 -p1
+%patch21 -p1
# vgabios patches
%patch40 -p1
@@ -245,6 +246,7 @@
%patch105 -p1
%patch106 -p1
%patch107 -p1
+%patch108 -p1
# Studio addons
%patch200 -p1
@@ -302,16 +304,15 @@
--disable-vnc-sasl \
--disable-vnc-jpeg \
--disable-vnc-png \
- --disable-vnc-thread \
--enable-curses \
--enable-curl \
--disable-fdt \
--disable-bluez \
--enable-kvm \
- --enable-kvm-device-assignment \
--disable-user \
--enable-vde \
--enable-virtfs \
+ --enable-cap-ng \
%if %{build_fw_from_source}
--disable-blobs \
%endif
++++++ kvm-qemu-madvise-DONTFORK-for-tight-memory-migration.patch ++++++
--- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200
@@ -1,8 +1,8 @@
-Index: qemu-kvm-0.15.0/exec.c
+Index: qemu-kvm-1.2.rc0/exec.c
===================================================================
---- qemu-kvm-0.15.0.orig/exec.c
-+++ qemu-kvm-0.15.0/exec.c
-@@ -2941,6 +2941,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic
+--- qemu-kvm-1.2.rc0.orig/exec.c
++++ qemu-kvm-1.2.rc0/exec.c
+@@ -2527,6 +2527,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a
if (!new_block->host) {
new_block->host = qemu_vmalloc(size);
qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE);
@@ -10,9 +10,9 @@
}
#else
fprintf(stderr, "-mem-path option unsupported\n");
-@@ -2968,6 +2969,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic
+@@ -2542,6 +2543,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a
+ new_block->host = qemu_vmalloc(size);
}
- #endif
qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE);
+ qemu_madvise(new_block->host, size, QEMU_MADV_DONTFORK);
}
++++++ kvm-qemu-madvise-hugepages.patch ++++++
--- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200
@@ -1,8 +1,8 @@
-Index: qemu-kvm-0.15.0/exec.c
+Index: qemu-kvm-1.2.rc0/exec.c
===================================================================
---- qemu-kvm-0.15.0.orig/exec.c
-+++ qemu-kvm-0.15.0/exec.c
-@@ -2942,6 +2942,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic
+--- qemu-kvm-1.2.rc0.orig/exec.c
++++ qemu-kvm-1.2.rc0/exec.c
+@@ -2528,6 +2528,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a
new_block->host = qemu_vmalloc(size);
qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE);
qemu_madvise(new_block->host, size, QEMU_MADV_DONTFORK);
@@ -12,8 +12,8 @@
}
#else
fprintf(stderr, "-mem-path option unsupported\n");
-@@ -2970,6 +2973,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic
- #endif
+@@ -2544,6 +2547,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a
+ }
qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE);
qemu_madvise(new_block->host, size, QEMU_MADV_DONTFORK);
+#ifdef MADV_HUGEPAGE
++++++ kvm-qemu-preXX-configure-avoid-compiler-warning-in-pipe2-detection.patch ++++++
From cfe186e2096493072928d1ffb8554f2e2f9c8f78 Mon Sep 17 00:00:00 2001
From: Bruce Rogers
Date: Mon, 20 Aug 2012 10:32:56 -0600
Subject: [PATCH] configure: avoid compiler warning in pipe2 detection
When building qemu-kvm for openSUSE:Factory, I am getting a
warning in the pipe2 detection performed by configure, which
prevents using --enable-werror.
Change test code to use return value of pipe2.
Signed-off-by: Bruce Rogers
---
configure | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 5808764..2e1f7f8 100755
--- a/configure
+++ b/configure
@@ -2399,8 +2399,7 @@ cat > $TMPC << EOF
int main(void)
{
int pipefd[2];
- pipe2(pipefd, O_CLOEXEC);
- return 0;
+ return pipe2(pipefd, O_CLOEXEC);
}
EOF
if compile_prog "" "" ; then
--
1.7.7
++++++ kvm-qemu-preXX-console-bounds-check-whenever-changing-the-cursor-du.patch ++++++
From: Bruce Rogers
Date: Tue, 28 Aug 2012 14:04:13 -0600
Subject: [PATCH] console: bounds check whenever changing the cursor due to an
escape code
References: bnc#777084, CVE-2012-3515
This is XSA-17 / CVE-2012-3515
Signed-off-by: Ian Campbell
Signed-off-by: Bruce Rogers
---
console.c | 57 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 28 insertions(+), 29 deletions(-)
Index: qemu-kvm-0.12.5/console.c
===================================================================
--- qemu-kvm-0.12.5.orig/console.c
+++ qemu-kvm-0.12.5/console.c
@@ -832,6 +832,26 @@ static void console_clear_xy(TextConsole
update_xy(s, x, y);
}
+/* set cursor, checking bounds */
+static void set_cursor(TextConsole *s, int x, int y)
+{
+ if (x < 0) {
+ x = 0;
+ }
+ if (y < 0) {
+ y = 0;
+ }
+ if (y >= s->height) {
+ y = s->height - 1;
+ }
+ if (x >= s->width) {
+ x = s->width - 1;
+ }
+
+ s->x = x;
+ s->y = y;
+}
+
static void console_putchar(TextConsole *s, int ch)
{
TextCell *c;
@@ -903,7 +923,8 @@ static void console_putchar(TextConsole
s->esc_params[s->nb_esc_params] * 10 + ch - '0';
}
} else {
- s->nb_esc_params++;
+ if (s->nb_esc_params < MAX_ESC_PARAMS)
+ s->nb_esc_params++;
if (ch == ';' || ch == '?')
break;
#ifdef DEBUG_CONSOLE
@@ -917,59 +938,37 @@ static void console_putchar(TextConsole
if (s->esc_params[0] == 0) {
s->esc_params[0] = 1;
}
- s->y -= s->esc_params[0];
- if (s->y < 0) {
- s->y = 0;
- }
+ set_cursor(s, s->x, s->y - s->esc_params[0]);
break;
case 'B':
/* move cursor down */
if (s->esc_params[0] == 0) {
s->esc_params[0] = 1;
}
- s->y += s->esc_params[0];
- if (s->y >= s->height) {
- s->y = s->height - 1;
- }
+ set_cursor(s, s->x, s->y + s->esc_params[0]);
break;
case 'C':
/* move cursor right */
if (s->esc_params[0] == 0) {
s->esc_params[0] = 1;
}
- s->x += s->esc_params[0];
- if (s->x >= s->width) {
- s->x = s->width - 1;
- }
+ set_cursor(s, s->x + s->esc_params[0], s->y);
break;
case 'D':
/* move cursor left */
if (s->esc_params[0] == 0) {
s->esc_params[0] = 1;
}
- s->x -= s->esc_params[0];
- if (s->x < 0) {
- s->x = 0;
- }
+ set_cursor(s, s->x - s->esc_params[0], s->y);
break;
case 'G':
/* move cursor to column */
- s->x = s->esc_params[0] - 1;
- if (s->x < 0) {
- s->x = 0;
- }
+ set_cursor(s, s->esc_params[0] - 1, s->y);
break;
case 'f':
case 'H':
/* move cursor to row, column */
- s->x = s->esc_params[1] - 1;
- if (s->x < 0) {
- s->x = 0;
- }
- s->y = s->esc_params[0] - 1;
- if (s->y < 0) {
- s->y = 0;
- }
+ set_cursor(s, s->esc_params[1] - 1, s->esc_params[0] - 1);
break;
case 'J':
switch (s->esc_params[0]) {
++++++ kvm-qemu-preXX-dictzip1.patch ++++++
--- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200
@@ -24,10 +24,10 @@
2 files changed, 502 insertions(+), 1 deletions(-)
create mode 100644 block/dictzip.c
-Index: qemu-kvm-1.1rc2/block/dictzip.c
+Index: qemu-kvm-1.2.rc0/block/dictzip.c
===================================================================
--- /dev/null
-+++ qemu-kvm-1.1rc2/block/dictzip.c
++++ qemu-kvm-1.2.rc0/block/dictzip.c
@@ -0,0 +1,566 @@
+/*
+ * DictZip Block driver for dictzip enabled gzip files
@@ -376,7 +376,7 @@
+{
+ DictZipAIOCB *acb = (DictZipAIOCB *)opaque;
+
-+ qemu_iovec_from_buffer(acb->qiov, acb->buf, acb->len);
++ qemu_iovec_from_buf(acb->qiov, 0, acb->buf, acb->len);
+ acb->common.cb(acb->common.opaque, 0);
+ qemu_bh_delete(acb->bh);
+ qemu_aio_release(acb);
@@ -411,7 +411,7 @@
+ s->stream_in_use &= ~(1 << acb->zStream_id);
+
+ /* nofity the caller */
-+ qemu_iovec_from_buffer(acb->qiov, buf + acb->offset, acb->len);
++ qemu_iovec_from_buf(acb->qiov, 0, buf + acb->offset, acb->len);
+ acb->common.cb(acb->common.opaque, 0);
+
+ /* fill the cache */
@@ -595,15 +595,15 @@
+}
+
+block_init(dictzip_block_init);
-Index: qemu-kvm-1.1rc2/Makefile.objs
+Index: qemu-kvm-1.2.rc0/block/Makefile.objs
===================================================================
---- qemu-kvm-1.1rc2.orig/Makefile.objs
-+++ qemu-kvm-1.1rc2/Makefile.objs
-@@ -54,6 +54,7 @@ block-nested-y += qed.o qed-gencb.o qed-
- block-nested-y += qed-check.o
- block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
- block-nested-y += stream.o
-+block-nested-y += dictzip.o
- block-nested-$(CONFIG_WIN32) += raw-win32.o
- block-nested-$(CONFIG_POSIX) += raw-posix.o
- block-nested-$(CONFIG_LIBISCSI) += iscsi.o
+--- qemu-kvm-1.2.rc0.orig/block/Makefile.objs
++++ qemu-kvm-1.2.rc0/block/Makefile.objs
+@@ -4,6 +4,7 @@ block-obj-y += qed.o qed-gencb.o qed-l2-
+ block-obj-y += qed-check.o
+ block-obj-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
+ block-obj-y += stream.o
++block-obj-y += dictzip.o
+ block-obj-$(CONFIG_WIN32) += raw-win32.o
+ block-obj-$(CONFIG_POSIX) += raw-posix.o
+ block-obj-$(CONFIG_LIBISCSI) += iscsi.o
++++++ kvm-qemu-preXX-dictzip2.patch ++++++
--- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200
@@ -25,10 +25,10 @@
2 files changed, 334 insertions(+), 1 deletions(-)
create mode 100644 block/tar.c
-Index: qemu-kvm-1.1rc2/block/tar.c
+Index: qemu-kvm-1.2.rc0/block/tar.c
===================================================================
--- /dev/null
-+++ qemu-kvm-1.1rc2/block/tar.c
++++ qemu-kvm-1.2.rc0/block/tar.c
@@ -0,0 +1,356 @@
+/*
+ * Tar block driver
@@ -323,7 +323,7 @@
+ char *buf = g_malloc0(nb_sectors * SECTOR_SIZE);
+
+ acb = qemu_aio_get(&tar_aio_pool, bs, cb, opaque);
-+ qemu_iovec_from_buffer(qiov, buf, nb_sectors * SECTOR_SIZE);
++ qemu_iovec_from_buf(qiov, 0, buf, nb_sectors * SECTOR_SIZE);
+ g_free(buf);
+ acb->bh = qemu_bh_new(tar_sparse_cb, acb);
+ qemu_bh_schedule(acb->bh);
@@ -342,7 +342,7 @@
+ buf + offs, SECTOR_SIZE);
+ }
+
-+ qemu_iovec_from_buffer(qiov, buf, nb_sectors * SECTOR_SIZE);
++ qemu_iovec_from_buf(qiov, 0, buf, nb_sectors * SECTOR_SIZE);
+ acb = qemu_aio_get(&tar_aio_pool, bs, cb, opaque);
+ acb->bh = qemu_bh_new(tar_sparse_cb, acb);
+ qemu_bh_schedule(acb->bh);
@@ -386,16 +386,16 @@
+}
+
+block_init(tar_block_init);
-Index: qemu-kvm-1.1rc2/Makefile.objs
+Index: qemu-kvm-1.2.rc0/block/Makefile.objs
===================================================================
---- qemu-kvm-1.1rc2.orig/Makefile.objs
-+++ qemu-kvm-1.1rc2/Makefile.objs
-@@ -54,7 +54,7 @@ block-nested-y += qed.o qed-gencb.o qed-
- block-nested-y += qed-check.o
- block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
- block-nested-y += stream.o
--block-nested-y += dictzip.o
-+block-nested-y += dictzip.o tar.o
- block-nested-$(CONFIG_WIN32) += raw-win32.o
- block-nested-$(CONFIG_POSIX) += raw-posix.o
- block-nested-$(CONFIG_LIBISCSI) += iscsi.o
+--- qemu-kvm-1.2.rc0.orig/block/Makefile.objs
++++ qemu-kvm-1.2.rc0/block/Makefile.objs
+@@ -4,7 +4,7 @@ block-obj-y += qed.o qed-gencb.o qed-l2-
+ block-obj-y += qed-check.o
+ block-obj-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
+ block-obj-y += stream.o
+-block-obj-y += dictzip.o
++block-obj-y += dictzip.o tar.o
+ block-obj-$(CONFIG_WIN32) += raw-win32.o
+ block-obj-$(CONFIG_POSIX) += raw-posix.o
+ block-obj-$(CONFIG_LIBISCSI) += iscsi.o
++++++ kvm-studio-slirp-nooutgoing.patch ++++++
--- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200
@@ -1,8 +1,8 @@
-Index: qemu-kvm-0.15.rc0/vl.c
+Index: qemu-kvm-1.2.rc0/vl.c
===================================================================
---- qemu-kvm-0.15.rc0.orig/vl.c
-+++ qemu-kvm-0.15.rc0/vl.c
-@@ -213,6 +213,7 @@ const char *vnc_display;
+--- qemu-kvm-1.2.rc0.orig/vl.c
++++ qemu-kvm-1.2.rc0/vl.c
+@@ -210,6 +210,7 @@ const char *vnc_display;
int acpi_enabled = 1;
int no_hpet = 0;
int fd_bootchk = 1;
@@ -10,7 +10,7 @@
int no_reboot = 0;
int no_shutdown = 0;
int cursor_hide = 1;
-@@ -2497,6 +2498,14 @@ int main(int argc, char **argv, char **e
+@@ -2745,6 +2746,14 @@ int main(int argc, char **argv, char **e
case QEMU_OPTION_singlestep:
singlestep = 1;
break;
@@ -25,11 +25,11 @@
case QEMU_OPTION_S:
autostart = 0;
break;
-Index: qemu-kvm-0.15.rc0/slirp/tcp_subr.c
+Index: qemu-kvm-1.2.rc0/slirp/tcp_subr.c
===================================================================
---- qemu-kvm-0.15.rc0.orig/slirp/tcp_subr.c
-+++ qemu-kvm-0.15.rc0/slirp/tcp_subr.c
-@@ -317,6 +317,9 @@ tcp_sockclosed(struct tcpcb *tp)
+--- qemu-kvm-1.2.rc0.orig/slirp/tcp_subr.c
++++ qemu-kvm-1.2.rc0/slirp/tcp_subr.c
+@@ -324,6 +324,9 @@ tcp_sockclosed(struct tcpcb *tp)
* nonblocking. Connect returns after the SYN is sent, and does
* not wait for ACK+SYN.
*/
@@ -39,7 +39,7 @@
int tcp_fconnect(struct socket *so)
{
Slirp *slirp = so->slirp;
-@@ -325,6 +328,11 @@ int tcp_fconnect(struct socket *so)
+@@ -332,6 +335,11 @@ int tcp_fconnect(struct socket *so)
DEBUG_CALL("tcp_fconnect");
DEBUG_ARG("so = %lx", (long )so);
@@ -51,7 +51,7 @@
if( (ret = so->s = qemu_socket(AF_INET,SOCK_STREAM,0)) >= 0) {
int opt, s=so->s;
struct sockaddr_in addr;
-@@ -417,6 +425,13 @@ tcp_connect(struct socket *inso)
+@@ -424,6 +432,13 @@ tcp_connect(struct socket *inso)
tcp_close(sototcpcb(so)); /* This will sofree() as well */
return;
}
@@ -65,18 +65,18 @@
socket_set_nonblock(s);
opt = 1;
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int));
-@@ -427,6 +442,7 @@ tcp_connect(struct socket *inso)
+@@ -434,6 +449,7 @@ tcp_connect(struct socket *inso)
so->so_fport = addr.sin_port;
so->so_faddr = addr.sin_addr;
+
/* Translate connections from localhost to the real hostname */
- if (so->so_faddr.s_addr == 0 || so->so_faddr.s_addr == loopback_addr.s_addr)
- so->so_faddr = slirp->vhost_addr;
-Index: qemu-kvm-0.15.rc0/slirp/socket.c
+ if (so->so_faddr.s_addr == 0 ||
+ (so->so_faddr.s_addr & loopback_mask) ==
+Index: qemu-kvm-1.2.rc0/slirp/socket.c
===================================================================
---- qemu-kvm-0.15.rc0.orig/slirp/socket.c
-+++ qemu-kvm-0.15.rc0/slirp/socket.c
+--- qemu-kvm-1.2.rc0.orig/slirp/socket.c
++++ qemu-kvm-1.2.rc0/slirp/socket.c
@@ -531,6 +531,8 @@ sorecvfrom(struct socket *so)
} /* if ping packet */
}
@@ -99,11 +99,11 @@
/* Don't care what port we get */
ret = sendto(so->s, m->m_data, m->m_len, 0,
(struct sockaddr *)&addr, sizeof (struct sockaddr));
-Index: qemu-kvm-0.15.rc0/qemu-options.hx
+Index: qemu-kvm-1.2.rc0/qemu-options.hx
===================================================================
---- qemu-kvm-0.15.rc0.orig/qemu-options.hx
-+++ qemu-kvm-0.15.rc0/qemu-options.hx
-@@ -1991,6 +1991,16 @@ Store the QEMU process PID in @var{file}
+--- qemu-kvm-1.2.rc0.orig/qemu-options.hx
++++ qemu-kvm-1.2.rc0/qemu-options.hx
+@@ -2316,6 +2316,16 @@ Store the QEMU process PID in @var{file}
from a script.
ETEXI
++++++ kvm-studio-vnc.patch ++++++
--- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200
@@ -1,8 +1,8 @@
-Index: qemu-kvm-1.1rc2/ui/vnc.c
+Index: qemu-kvm-1.2.rc0/ui/vnc.c
===================================================================
---- qemu-kvm-1.1rc2.orig/ui/vnc.c
-+++ qemu-kvm-1.1rc2/ui/vnc.c
-@@ -44,6 +44,7 @@ static const struct timeval VNC_REFRESH_
+--- qemu-kvm-1.2.rc0.orig/ui/vnc.c
++++ qemu-kvm-1.2.rc0/ui/vnc.c
+@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_
static VncDisplay *vnc_display; /* needed for info vnc */
static DisplayChangeListener *dcl;
@@ -10,7 +10,7 @@
static int vnc_cursor_define(VncState *vs);
static void vnc_release_modifiers(VncState *vs);
-@@ -1030,6 +1031,7 @@ static void vnc_disconnect_start(VncStat
+@@ -1018,6 +1019,7 @@ static void vnc_disconnect_start(VncStat
static void vnc_disconnect_finish(VncState *vs)
{
int i;
@@ -18,7 +18,7 @@
vnc_jobs_join(vs); /* Wait encoding jobs */
-@@ -1077,6 +1079,13 @@ static void vnc_disconnect_finish(VncSta
+@@ -1063,6 +1065,13 @@ static void vnc_disconnect_finish(VncSta
}
g_free(vs->lossy_rect);
g_free(vs);
@@ -32,7 +32,7 @@
}
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
-@@ -2860,6 +2869,39 @@ char *vnc_display_local_addr(DisplayStat
+@@ -2844,6 +2853,39 @@ char *vnc_display_local_addr(DisplayStat
return vnc_socket_local_addr("%s:%s", vs->lsock);
}
@@ -72,40 +72,46 @@
int vnc_display_open(DisplayState *ds, const char *display)
{
VncDisplay *vs = ds ? (VncDisplay *)ds->opaque : vnc_display;
-@@ -2892,7 +2934,36 @@ int vnc_display_open(DisplayState *ds, c
+@@ -2876,6 +2918,9 @@ int vnc_display_open(DisplayState *ds, c
while ((options = strchr(options, ','))) {
options++;
if (strncmp(options, "password", 8) == 0) {
-+ char *start, *end;
-+ start = strchr(options, '=');
-+ end = strchr(options, ',');
++ char *start, *end;
++ start = strchr(options, '=');
++ end = strchr(options, ',');
+ if (fips_get_state()) {
+ fprintf(stderr,
+ "VNC password auth disabled due to FIPS mode, "
+@@ -2886,6 +2931,32 @@ int vnc_display_open(DisplayState *ds, c
+ return -1;
+ }
password = 1; /* Require password auth */
-+ if (start && (!end || (start < end))) {
-+ int len = end ? end-(start+1) : strlen(start+1);
-+ char *text = g_malloc(len+1);
-+ strncpy(text, start+1, len);
-+ text[len] = '\0';
-+
-+ if (strncmp(options, "password-file=", 14) == 0) {
-+ read_file_password(ds, text);
-+ } else {
-+ vnc_display_password(ds, text);
-+ }
-+
-+ free(text);
-+ }
-+ } else if (strncmp(options, "allowed-connections=", 20) == 0) {
-+ char *start, *end;
-+ start = strchr(options, '=');
-+ end = strchr(options, ',');
-+ if (start && (!end || (start < end))) {
-+ int len = end ? end-(start+1) : strlen(start+1);
-+ char *text = g_malloc(len+1);
-+ strncpy(text, start+1, len);
-+ text[len] = '\0';
-+ VNC_DEBUG("Maximum number of disconnects: %s\n", text);
-+ allowed_connections = atoi(text);
-+ }
++ if (start && (!end || (start < end))) {
++ int len = end ? end-(start+1) : strlen(start+1);
++ char *text = g_malloc(len+1);
++ strncpy(text, start+1, len);
++ text[len] = '\0';
++
++ if (strncmp(options, "password-file=", 14) == 0) {
++ read_file_password(ds, text);
++ } else {
++ vnc_display_password(ds, text);
++ }
++
++ free(text);
++ }
++ } else if (strncmp(options, "allowed-connections=", 20) == 0) {
++ char *start, *end;
++ start = strchr(options, '=');
++ end = strchr(options, ',');
++ if (start && (!end || (start < end))) {
++ int len = end ? end-(start+1) : strlen(start+1);
++ char *text = g_malloc(len+1);
++ strncpy(text, start+1, len);
++ text[len] = '\0';
++ VNC_DEBUG("Maximum number of disconnects: %s\n", text);
++ allowed_connections = atoi(text);
++ }
} else if (strncmp(options, "reverse", 7) == 0) {
reverse = 1;
} else if (strncmp(options, "no-lock-key-sync", 16) == 0) {
++++++ seabios-Makefile-fix-iasl-option-detection.patch ++++++
Makefile: fix iasl option detection
IASL option detection relied on iasl -h exit status which
is not very robust: -h is not expected to be used
from scripts. In particular combination of -h with
any option seems to succeed with some old
versions of iasl (e.g. version 20120123 as shipped with fc13).
Instead, supply a dummy input file and run iasl on it
to test option support.
Signed-off-by: Michael S. Tsirkin
---
--- a/roms/seabios/Makefile
+++ b/roms/seabios/Makefile
@@ -221,14 +221,17 @@ $(OUT)vgabios.bin: $(OUT)vgabios.bin.raw tools/buildrom.py
################ DSDT build rules
-iasl-option=$(shell if "$(1)" "$(2)" -h > /dev/null 2>&1 \
- ; then echo "$(2)"; else echo "$(3)"; fi ;)
+iasl-option=$(shell if "$(2)" "$(3)" "$(1)" > /dev/null 2>&1 \
+ ; then echo "$(3)"; else echo "$(4)"; fi ;)
+
+$(OUT)/iasl-test.dsl: src/iasl-test.dsl
+ $(Q)cp -f $< $@
-$(OUT)%.hex: src/%.dsl ./tools/acpi_extract_preprocess.py ./tools/acpi_extract.py
+$(OUT)%.hex: src/%.dsl ./tools/acpi_extract_preprocess.py ./tools/acpi_extract.py $(OUT)/iasl-test.dsl
@echo " Compiling IASL $@"
$(Q)cpp -P $< > $(OUT)$*.dsl.i.orig
$(Q)$(PYTHON) ./tools/acpi_extract_preprocess.py $(OUT)$*.dsl.i.orig > $(OUT)$*.dsl.i
- $(Q)$(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p $(OUT)$* $(OUT)$*.dsl.i
+ $(Q)$(IASL) $(call iasl-option,$(OUT)/iasl-test.dsl,$(IASL),-Pn,) -vs -l -tc -p $(OUT)$* $(OUT)$*.dsl.i
$(Q)$(PYTHON) ./tools/acpi_extract.py $(OUT)$*.lst > $(OUT)$*.off
$(Q)cat $(OUT)$*.off > $@
--- a/roms/seabios/src/iasl-test.dsl
+++ b/roms/seabios/src/iasl-test.dsl
@@ -0,0 +1,6 @@
+DefinitionBlock ("iasl-test.aml", "TEST", 0x01, "TSTC", "TESTIASLCMP", 0x1)
+{
+
+ Device (TEST) {
+ }
+}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org