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 "brog...@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 - brog...@suse.com
+
+- Fix VT100 emulation vulnerability (bnc#777084) (CVE-2012-3515)
+
+-------------------------------------------------------------------
+Thu Aug 30 20:14:10 UTC 2012 - brog...@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 - brog...@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 - brog...@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 <brog...@suse.com>
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 <brog...@suse.com>
---
 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 <brog...@suse.com>
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 <ian.campb...@citrix.com>
Signed-off-by: Bruce Rogers <brog...@suse.com>
---
 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 <m...@redhat.com>

---

--- 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+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to