[fedora-virt-maint] rpms/qemu/F-11 01-tls-handshake-fix.patch, 1.2, 1.3 02-vnc-monitor-info.patch, 1.2, 1.3 03-display-keymaps.patch, 1.2, 1.3 04-vnc-struct.patch, 1.2, 1.3 05-vnc-tls-vencrypt.patch, 1.2, 1.3 06-vnc-sasl.patch, 1.2, 1.3 07-vnc-monitor-authinfo.patch, 1.2, 1.3 08-vnc-acl-mgmt.patch, 1.2, 1.3 kvm-upstream-ppc.patch, 1.4, 1.5 qemu-avoid-harmless-msr-warnings.patch, 1.1, 1.2 qemu-bios-bigger-roms.patch, 1.2, 1.3 qemu-fix-debuginfo.patch, 1.2, 1.3 qemu-fix-net-socket-list-init.patch, 1.1, 1.2 qemu-kvm-fix-kerneldir-includes.patch, 1.1, 1.2 qemu-ppc-on-ppc.patch, 1.1, 1.2 qemu-prevent-cdrom-media-eject-while-device-is-locked.patch, 1.1, 1.2 qemu-roms-more-room-fix-vga-align.patch, 1.3, 1.4 qemu-roms-more-room.patch, 1.6, 1.7 qemu-fix-x86-feature-modifications-for-features-that-set.patch, 1.1, NONE qemu-make-x86-cpuid-feature-names-available-in-file-scope.patch, 1.1, NONE

Mark McLoughlin markmc at fedoraproject.org
Wed Jun 24 16:43:46 UTC 2009


Author: markmc

Update of /cvs/pkgs/rpms/qemu/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv585

Modified Files:
	01-tls-handshake-fix.patch 02-vnc-monitor-info.patch 
	03-display-keymaps.patch 04-vnc-struct.patch 
	05-vnc-tls-vencrypt.patch 06-vnc-sasl.patch 
	07-vnc-monitor-authinfo.patch 08-vnc-acl-mgmt.patch 
	kvm-upstream-ppc.patch qemu-avoid-harmless-msr-warnings.patch 
	qemu-bios-bigger-roms.patch qemu-fix-debuginfo.patch 
	qemu-fix-net-socket-list-init.patch 
	qemu-kvm-fix-kerneldir-includes.patch qemu-ppc-on-ppc.patch 
	qemu-prevent-cdrom-media-eject-while-device-is-locked.patch 
	qemu-roms-more-room-fix-vga-align.patch 
	qemu-roms-more-room.patch 
Removed Files:
	qemu-fix-x86-feature-modifications-for-features-that-set.patch 
	qemu-make-x86-cpuid-feature-names-available-in-file-scope.patch 
Log Message:
Patches now managed in a git tree:

  http://git.et.redhat.com/?p=qemu-fedora.git

Update the current patches with ones produced using format-patch,
no real changes here.

Drop a couple of patches which aren't referenced in the spec file


01-tls-handshake-fix.patch:

Index: 01-tls-handshake-fix.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/01-tls-handshake-fix.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 01-tls-handshake-fix.patch	13 May 2009 08:35:55 -0000	1.2
+++ 01-tls-handshake-fix.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,8 +1,40 @@
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.4.orig/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
-@@ -2096,14 +2096,6 @@ static int protocol_client_vencrypt_auth
+From b7f419eee93569ef0c31c868fa24108d31e66bff Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:02 +0000
+Subject: [PATCH 01/18] Fix bug in TLS authentication ("Daniel P. Berrange")
+
+This patch was previously posted here:
+
+  http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00820.html
+
+In the case where the TLS handshake does *not* block on I/O, QEMU
+sends the next 'start sub-auth' message twice. This seriously confuses
+the VNC client :-) Fortunately the chances of the handshake not blocking
+are close to zero for a TCP socket, which is why it has not been noticed
+thus far. Even with both client & server on localhost, I can only hit the
+bug 1 time in 20.
+
+NB, the diff context here is not too informative. If you look at the
+full code you'll see that a few lines early we called vnc_start_tls()
+which called vnc_continue_handshake() which called the method
+start_auth_vencrypt_subauth(). Hence, fixing the bug, just involves
+removing the 2nd bogus call to start_auth_vencrypt_subauth() as per
+this patch.
+
+(cherry picked from commit adc5ec856c557f75adc60b310e5b1d38210a289c)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ vnc.c |    8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/vnc.c b/vnc.c
+index 783df80..18a7ad9 100644
+--- a/vnc.c
++++ b/vnc.c
+@@ -2105,14 +2105,6 @@ static int protocol_client_vencrypt_auth(VncState *vs, uint8_t *data, size_t len
  	    VNC_DEBUG("Failed to complete TLS\n");
  	    return 0;
  	}
@@ -17,3 +49,6 @@ Index: qemu-kvm-0.10.4/vnc.c
      }
      return 0;
  }
+-- 
+1.6.2.2
+

02-vnc-monitor-info.patch:

Index: 02-vnc-monitor-info.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/02-vnc-monitor-info.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 02-vnc-monitor-info.patch	13 May 2009 08:35:55 -0000	1.2
+++ 02-vnc-monitor-info.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,7 +1,55 @@
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
+From a3eb32f433a958afac931e04ce899d004744f5e0 Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:05 +0000
+Subject: [PATCH 02/18] Enhance 'info vnc' monitor output ("Daniel P. Berrange")
+
+The current 'info vnc' monitor output just displays the VNC server address
+as provided by the -vnc command line flag. This isn't particularly useful
+since it doesn't tell you what VNC is actually listening on. eg, if you
+use '-vnc :1' it is useful to know whether this translated to '0.0.0.0:5901'
+or chose IPv6 ':::5901'.  It is also useful to know the address of the
+client that is currently connected. It is also useful to know the active
+authentication (if any).
+
+This patch tweaks the monitor output to look like:
+
+   (qemu) info vnc
+    Server:
+         address: 0.0.0.0:5902
+            auth: vencrypt+x509
+    Client: none
+
+And when 2 clients are connected
+
+   (qemu) info vnc
+    Server:
+         address: 0.0.0.0:5902
+            auth: vencrypt+x509
+    Client:
+         address: 10.33.6.67:38621
+    Client:
+         address: 10.33.6.63:38620
+
+More data will be added to this later in the patch series...
+
+The 'addr_to_string' helper method in this patch is overly generic
+for the needs of this patch alone. This is because it will be re-used
+by the later SASL patches in this series, where the flexibility is
+important.
+
+(cherry picked from commit 1ff7df1a848044f58d0f3540f1447db4bb1d2d20)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ vnc.c |  139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 128 insertions(+), 11 deletions(-)
+
+diff --git a/vnc.c b/vnc.c
+index 18a7ad9..3e9417d 100644
+--- a/vnc.c
++++ b/vnc.c
 @@ -166,19 +166,136 @@ struct VncState
  static VncDisplay *vnc_display; /* needed for info vnc */
  static DisplayChangeListener *dcl;
@@ -150,3 +198,6 @@ Index: qemu-kvm-0.10.4/vnc.c
      }
  }
  
+-- 
+1.6.2.2
+

03-display-keymaps.patch:

Index: 03-display-keymaps.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/03-display-keymaps.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 03-display-keymaps.patch	13 May 2009 08:35:55 -0000	1.2
+++ 03-display-keymaps.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,7 +1,38 @@
-Index: qemu-kvm-0.10.4/Makefile
-===================================================================
---- qemu-kvm-0.10.orig/qemu/Makefile
-+++ qemu-kvm-0.10.4/Makefile
+From 6fc44b90006f1bf4763088c4eacd1efec428759b Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:10 +0000
+Subject: [PATCH 03/18] Refactor keymap code to avoid duplication ("Daniel P. Berrange")
+
+Each of the graphical frontends #include a .c file, for keymap code
+resulting in duplicated definitions & duplicated compiled code. A
+couple of small changes allowed this to be sanitized, so instead of
+doing a #include "keymaps.c", duplicating all code, we can have a
+shared keymaps.h file, and only compile code once. This allows the
+next patch to move the VncState struct out into a header file without
+causing clashing definitions.
+
+(cherry picked from commit 0483755a4d1fd61fe9c284166f67ae08af8d858b)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ Makefile      |    9 +++++--
+ curses.c      |    3 +-
+ curses_keys.h |    9 +++----
+ keymaps.c     |   45 ++++++++++++++++--------------------------
+ keymaps.h     |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ sdl.c         |    3 +-
+ sdl_keysym.h  |    7 ++---
+ vnc.c         |    5 +--
+ vnc_keysym.h  |    7 ++---
+ 9 files changed, 97 insertions(+), 51 deletions(-)
+ create mode 100644 keymaps.h
+
+diff --git a/Makefile b/Makefile
+index 6739626..58585a3 100644
+--- a/Makefile
++++ b/Makefile
 @@ -141,6 +141,7 @@ endif
  AUDIO_OBJS+= wavcapture.o
  OBJS+=$(addprefix audio/, $(AUDIO_OBJS))
@@ -31,11 +62,11 @@ Index: qemu-kvm-0.10.4/Makefile
  
  bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS)
  
-Index: qemu-kvm-0.10.4/curses.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/curses.c
-+++ qemu-kvm-0.10.4/curses.c
-@@ -158,7 +158,6 @@ static void curses_cursor_position(Displ
+diff --git a/curses.c b/curses.c
+index d699b5e..434e1cf 100644
+--- a/curses.c
++++ b/curses.c
+@@ -158,7 +158,6 @@ static void curses_cursor_position(DisplayState *ds, int x, int y)
  /* generic keyboard conversion */
  
  #include "curses_keys.h"
@@ -52,10 +83,10 @@ Index: qemu-kvm-0.10.4/curses.c
          if (!kbd_layout)
              exit(1);
      }
-Index: qemu-kvm-0.10.4/curses_keys.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/curses_keys.h
-+++ qemu-kvm-0.10.4/curses_keys.h
+diff --git a/curses_keys.h b/curses_keys.h
+index 0105279..fd25451 100644
+--- a/curses_keys.h
++++ b/curses_keys.h
 @@ -21,6 +21,10 @@
   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
   * THE SOFTWARE.
@@ -67,7 +98,7 @@ Index: qemu-kvm-0.10.4/curses_keys.h
  #define KEY_RELEASE         0x80
  #define KEY_MASK            0x7f
  #define SHIFT_CODE          0x2a
-@@ -239,11 +243,6 @@ static const int curses2keysym[CURSES_KE
+@@ -239,11 +243,6 @@ static const int curses2keysym[CURSES_KEYS] = {
  
  };
  
@@ -79,10 +110,10 @@ Index: qemu-kvm-0.10.4/curses_keys.h
  static const name2keysym_t name2keysym[] = {
      /* Plain ASCII */
      { "space", 0x020 },
-Index: qemu-kvm-0.10.4/keymaps.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/keymaps.c
-+++ qemu-kvm-0.10.4/keymaps.c
+diff --git a/keymaps.c b/keymaps.c
+index 216e378..3b86dc1 100644
+--- a/keymaps.c
++++ b/keymaps.c
 @@ -22,34 +22,20 @@
   * THE SOFTWARE.
   */
@@ -124,7 +155,7 @@ Index: qemu-kvm-0.10.4/keymaps.c
  
  static void add_to_key_range(struct key_range **krp, int code) {
      struct key_range *kr;
-@@ -73,7 +59,8 @@ static void add_to_key_range(struct key_
+@@ -73,7 +59,8 @@ static void add_to_key_range(struct key_range **krp, int code) {
      }
  }
  
@@ -134,7 +165,7 @@ Index: qemu-kvm-0.10.4/keymaps.c
  					   kbd_layout_t * k)
  {
      FILE *f;
-@@ -102,7 +89,7 @@ static kbd_layout_t *parse_keyboard_layo
+@@ -102,7 +89,7 @@ static kbd_layout_t *parse_keyboard_layout(const char *language,
  	if (!strncmp(line, "map ", 4))
  	    continue;
  	if (!strncmp(line, "include ", 8)) {
@@ -143,7 +174,7 @@ Index: qemu-kvm-0.10.4/keymaps.c
          } else {
  	    char *end_of_keysym = line;
  	    while (*end_of_keysym != 0 && *end_of_keysym != ' ')
-@@ -110,7 +97,7 @@ static kbd_layout_t *parse_keyboard_layo
+@@ -110,7 +97,7 @@ static kbd_layout_t *parse_keyboard_layout(const char *language,
  	    if (*end_of_keysym) {
  		int keysym;
  		*end_of_keysym = 0;
@@ -152,7 +183,7 @@ Index: qemu-kvm-0.10.4/keymaps.c
  		if (keysym == 0) {
                      //		    fprintf(stderr, "Warning: unknown keysym %s\n", line);
  		} else {
-@@ -154,12 +141,14 @@ static kbd_layout_t *parse_keyboard_layo
+@@ -154,12 +141,14 @@ static kbd_layout_t *parse_keyboard_layout(const char *language,
      return k;
  }
  
@@ -170,7 +201,7 @@ Index: qemu-kvm-0.10.4/keymaps.c
  {
      kbd_layout_t *k = kbd_layout;
      if (keysym < MAX_NORMAL_KEYCODE) {
-@@ -180,7 +169,7 @@ static int keysym2scancode(void *kbd_lay
+@@ -180,7 +169,7 @@ static int keysym2scancode(void *kbd_layout, int keysym)
      return 0;
  }
  
@@ -179,7 +210,7 @@ Index: qemu-kvm-0.10.4/keymaps.c
  {
      kbd_layout_t *k = kbd_layout;
      struct key_range *kr;
-@@ -191,7 +180,7 @@ static inline int keycode_is_keypad(void
+@@ -191,7 +180,7 @@ static inline int keycode_is_keypad(void *kbd_layout, int keycode)
      return 0;
  }
  
@@ -188,10 +219,11 @@ Index: qemu-kvm-0.10.4/keymaps.c
  {
      kbd_layout_t *k = kbd_layout;
      struct key_range *kr;
-Index: qemu-kvm-0.10.4/keymaps.h
-===================================================================
+diff --git a/keymaps.h b/keymaps.h
+new file mode 100644
+index 0000000..17f6efd
 --- /dev/null
-+++ qemu-kvm-0.10.4/keymaps.h
++++ b/keymaps.h
 @@ -0,0 +1,60 @@
 +/*
 + * QEMU keysym to keycode conversion using rdesktop keymaps
@@ -253,10 +285,10 @@ Index: qemu-kvm-0.10.4/keymaps.h
 +int keysym_is_numlock(void *kbd_layout, int keysym);
 +
 +#endif /* __QEMU_KEYMAPS_H__ */
-Index: qemu-kvm-0.10.4/sdl.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/sdl.c
-+++ qemu-kvm-0.10.4/sdl.c
+diff --git a/sdl.c b/sdl.c
+index 74f084c..f0f9fc8 100644
+--- a/sdl.c
++++ b/sdl.c
 @@ -109,7 +109,6 @@ static void sdl_resize(DisplayState *ds)
  /* generic keyboard conversion */
  
@@ -265,7 +297,7 @@ Index: qemu-kvm-0.10.4/sdl.c
  
  static kbd_layout_t *kbd_layout = NULL;
  
-@@ -677,7 +676,7 @@ void sdl_display_init(DisplayState *ds, 
+@@ -677,7 +676,7 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
          keyboard_layout = "en-us";
  #endif
      if(keyboard_layout) {
@@ -274,10 +306,10 @@ Index: qemu-kvm-0.10.4/sdl.c
          if (!kbd_layout)
              exit(1);
      }
-Index: qemu-kvm-0.10.4/sdl_keysym.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/sdl_keysym.h
-+++ qemu-kvm-0.10.4/sdl_keysym.h
+diff --git a/sdl_keysym.h b/sdl_keysym.h
+index c9087d7..c213ef8 100644
+--- a/sdl_keysym.h
++++ b/sdl_keysym.h
 @@ -1,7 +1,6 @@
 -typedef struct {
 -	const char* name;
@@ -289,10 +321,10 @@ Index: qemu-kvm-0.10.4/sdl_keysym.h
  static const name2keysym_t name2keysym[]={
  /* ascii */
      { "space",                0x020},
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
+diff --git a/vnc.c b/vnc.c
+index 3e9417d..aafefd8 100644
+--- a/vnc.c
++++ b/vnc.c
 @@ -35,7 +35,6 @@
  
  #include "vnc.h"
@@ -301,7 +333,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  #include "d3des.h"
  
  #ifdef CONFIG_VNC_TLS
-@@ -2420,9 +2419,9 @@ void vnc_display_init(DisplayState *ds)
+@@ -2429,9 +2428,9 @@ void vnc_display_init(DisplayState *ds)
      vs->ds = ds;
  
      if (keyboard_layout)
@@ -313,10 +345,10 @@ Index: qemu-kvm-0.10.4/vnc.c
  
      if (!vs->kbd_layout)
  	exit(1);
-Index: qemu-kvm-0.10.4/vnc_keysym.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc_keysym.h
-+++ qemu-kvm-0.10.4/vnc_keysym.h
+diff --git a/vnc_keysym.h b/vnc_keysym.h
+index ce355d8..2d255c9 100644
+--- a/vnc_keysym.h
++++ b/vnc_keysym.h
 @@ -1,7 +1,6 @@
 -typedef struct {
 -	const char* name;
@@ -328,3 +360,6 @@ Index: qemu-kvm-0.10.4/vnc_keysym.h
  static const name2keysym_t name2keysym[]={
  /* ascii */
      { "space",                0x020},
+-- 
+1.6.2.2
+

04-vnc-struct.patch:

Index: 04-vnc-struct.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/04-vnc-struct.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 04-vnc-struct.patch	13 May 2009 08:35:55 -0000	1.2
+++ 04-vnc-struct.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,7 +1,26 @@
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
+From c1b31361bfecd3f67e8766d8df2510c801f536f4 Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:13 +0000
+Subject: [PATCH 04/18] Move VNC structs into header file ("Daniel P. Berrange")
+
+This patch moves the definitions of VncState and VncDisplay structs
+out into a vnc.h header file. This is to allow the code for TLS
+and SASL auth mechanisms to be moved out of the main vnc.c file.
+
+(cherry picked from commit 19a490bfca85165de1acd2d5c3964fb44615746d)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ vnc.c |  109 +----------------------------------------------
+ vnc.h |  149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 148 insertions(+), 110 deletions(-)
+
+diff --git a/vnc.c b/vnc.c
+index aafefd8..a9b8d63 100644
+--- a/vnc.c
++++ b/vnc.c
 @@ -3,6 +3,7 @@
   *
   * Copyright (C) 2006 Anthony Liguori <anthony at codemonkey.ws>
@@ -37,7 +56,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  // #define _VNC_DEBUG 1
  
  #ifdef _VNC_DEBUG
-@@ -64,103 +56,6 @@ static void vnc_debug_gnutls_log(int lev
+@@ -64,103 +56,6 @@ static void vnc_debug_gnutls_log(int level, const char* str) {
      } \
  }
  
@@ -141,10 +160,10 @@ Index: qemu-kvm-0.10.4/vnc.c
  
  static VncDisplay *vnc_display; /* needed for info vnc */
  static DisplayChangeListener *dcl;
-Index: qemu-kvm-0.10.4/vnc.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.h
-+++ qemu-kvm-0.10.4/vnc.h
+diff --git a/vnc.h b/vnc.h
+index 6981606..eb33643 100644
+--- a/vnc.h
++++ b/vnc.h
 @@ -1,5 +1,148 @@
 -#ifndef __VNCTIGHT_H
 -#define __VNCTIGHT_H
@@ -302,3 +321,6 @@ Index: qemu-kvm-0.10.4/vnc.h
  
 -#endif /* __VNCTIGHT_H */
 +#endif /* __QEMU_VNC_H */
+-- 
+1.6.2.2
+

05-vnc-tls-vencrypt.patch:

Index: 05-vnc-tls-vencrypt.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/05-vnc-tls-vencrypt.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 05-vnc-tls-vencrypt.patch	13 May 2009 08:35:55 -0000	1.2
+++ 05-vnc-tls-vencrypt.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,7 +1,56 @@
-Index: qemu-kvm-0.10.4/Makefile
-===================================================================
---- qemu-kvm-0.10.orig/qemu/Makefile
-+++ qemu-kvm-0.10.4/Makefile
+From 9d5f4a68ddb05d823ef1fde787ac027715fe1f95 Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:23 +0000
+Subject: [PATCH 05/18] Move TLS auth into separate file ("Daniel P. Berrange")
+
+This patch refactors the existing TLS code to make the main VNC code
+more managable. The code moves to two new files
+
+ - vnc-tls.c: generic helpers for TLS handshake & credential setup
+ - vnc-auth-vencrypt.c: the actual VNC TLS authentication mechanism.
+
+The reason for this split is that there are other TLS based auth
+mechanisms which we may like to use in the future. These can all
+share the same vnc-tls.c routines. In addition this will facilitate
+anyone who may want to port the vnc-tls.c file to allow for choice
+of GNUTLS & NSS for impl.
+
+The TLS state is moved out of the VncState struct, and into a separate
+VncStateTLS struct, defined in vnc-tls.h. This is then referenced from
+the main VncState. End size of the struct is the same, but it keeps
+things a little more managable.
+
+The vnc.h file gains a bunch more function prototypes, for functions
+in vnc.c that were previously static, but now need to be accessed
+from the separate auth code files.
+
+The only TLS related code still in the main vl.c is the command line
+argument handling / setup, and the low level I/O routines calling
+gnutls_send/recv.
+
+(cherry picked from commit 5fb6c7a8b26eab1a22207d24b4784bd2b39ab54b)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ Makefile            |   11 +-
+ vnc-auth-vencrypt.c |  167 +++++++++++++++
+ vnc-auth-vencrypt.h |   33 +++
+ vnc-tls.c           |  414 ++++++++++++++++++++++++++++++++++++
+ vnc-tls.h           |   70 ++++++
+ vnc.c               |  581 ++++-----------------------------------------------
+ vnc.h               |   76 +++++---
+ 7 files changed, 780 insertions(+), 572 deletions(-)
+ create mode 100644 vnc-auth-vencrypt.c
+ create mode 100644 vnc-auth-vencrypt.h
+ create mode 100644 vnc-tls.c
+ create mode 100644 vnc-tls.h
+
+diff --git a/Makefile b/Makefile
+index 58585a3..7a3cad5 100644
+--- a/Makefile
++++ b/Makefile
 @@ -149,6 +149,9 @@ ifdef CONFIG_CURSES
  OBJS+=curses.o
  endif
@@ -30,10 +79,11 @@ Index: qemu-kvm-0.10.4/Makefile
  curses.o: curses.c keymaps.h curses_keys.h
  
  bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS)
-Index: qemu-kvm-0.10.4/vnc-auth-vencrypt.c
-===================================================================
+diff --git a/vnc-auth-vencrypt.c b/vnc-auth-vencrypt.c
+new file mode 100644
+index 0000000..1f113a7
 --- /dev/null
-+++ qemu-kvm-0.10.4/vnc-auth-vencrypt.c
++++ b/vnc-auth-vencrypt.c
 @@ -0,0 +1,167 @@
 +/*
 + * QEMU VNC display driver: VeNCrypt authentication setup
@@ -202,10 +252,11 @@ Index: qemu-kvm-0.10.4/vnc-auth-vencrypt
 +    vnc_read_when(vs, protocol_client_vencrypt_init, 2);
 +}
 +
-Index: qemu-kvm-0.10.4/vnc-auth-vencrypt.h
-===================================================================
+diff --git a/vnc-auth-vencrypt.h b/vnc-auth-vencrypt.h
+new file mode 100644
+index 0000000..9f674c5
 --- /dev/null
-+++ qemu-kvm-0.10.4/vnc-auth-vencrypt.h
++++ b/vnc-auth-vencrypt.h
 @@ -0,0 +1,33 @@
 +/*
 + * QEMU VNC display driver
@@ -240,10 +291,11 @@ Index: qemu-kvm-0.10.4/vnc-auth-vencrypt
 +void start_auth_vencrypt(VncState *vs);
 +
 +#endif /* __QEMU_VNC_AUTH_VENCRYPT_H__ */
-Index: qemu-kvm-0.10.4/vnc-tls.c
-===================================================================
+diff --git a/vnc-tls.c b/vnc-tls.c
+new file mode 100644
+index 0000000..666aa07
 --- /dev/null
-+++ qemu-kvm-0.10.4/vnc-tls.c
++++ b/vnc-tls.c
 @@ -0,0 +1,414 @@
 +/*
 + * QEMU VNC display driver: TLS helpers
@@ -659,10 +711,11 @@ Index: qemu-kvm-0.10.4/vnc-tls.c
 +    return -1;
 +}
 +
-Index: qemu-kvm-0.10.4/vnc-tls.h
-===================================================================
+diff --git a/vnc-tls.h b/vnc-tls.h
+new file mode 100644
+index 0000000..cda95b9
 --- /dev/null
-+++ qemu-kvm-0.10.4/vnc-tls.h
++++ b/vnc-tls.h
 @@ -0,0 +1,70 @@
 +/*
 + * QEMU VNC display driver. TLS helpers
@@ -734,10 +787,10 @@ Index: qemu-kvm-0.10.4/vnc-tls.h
 +
 +#endif /* __QEMU_VNC_TLS_H__ */
 +
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
+diff --git a/vnc.c b/vnc.c
+index a9b8d63..f1c2d61 100644
+--- a/vnc.c
++++ b/vnc.c
 @@ -34,21 +34,6 @@
  #include "vnc_keysym.h"
  #include "d3des.h"
@@ -760,7 +813,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  #define count_bits(c, v) { \
      for (c = 0; v; v >>= 1) \
      { \
-@@ -204,14 +189,7 @@ static inline uint32_t vnc_has_feature(V
+@@ -204,14 +189,7 @@ static inline uint32_t vnc_has_feature(VncState *vs, int feature) {
     3) resolutions > 1024
  */
  
@@ -775,7 +828,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  
  static void vnc_colordepth(VncState *vs);
  
-@@ -867,10 +845,7 @@ static int vnc_client_io_error(VncState 
+@@ -867,10 +845,7 @@ static int vnc_client_io_error(VncState *vs, int ret, int last_errno)
          if (vs->input.buffer) qemu_free(vs->input.buffer);
          if (vs->output.buffer) qemu_free(vs->output.buffer);
  #ifdef CONFIG_VNC_TLS
@@ -787,7 +840,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  #endif /* CONFIG_VNC_TLS */
          audio_del(vs);
  
-@@ -896,19 +871,20 @@ static int vnc_client_io_error(VncState 
+@@ -896,19 +871,20 @@ static int vnc_client_io_error(VncState *vs, int ret, int last_errno)
      return ret;
  }
  
@@ -812,7 +865,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  	if (ret < 0) {
  	    if (ret == GNUTLS_E_AGAIN)
  		errno = EAGAIN;
-@@ -931,13 +907,13 @@ static void vnc_client_write(void *opaqu
+@@ -931,13 +907,13 @@ static void vnc_client_write(void *opaque)
      }
  }
  
@@ -828,7 +881,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  {
      VncState *vs = opaque;
      long ret;
-@@ -945,8 +921,8 @@ static void vnc_client_read(void *opaque
+@@ -945,8 +921,8 @@ static void vnc_client_read(void *opaque)
      buffer_reserve(&vs->input, 4096);
  
  #ifdef CONFIG_VNC_TLS
@@ -839,7 +892,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  	if (ret < 0) {
  	    if (ret == GNUTLS_E_AGAIN)
  		errno = EAGAIN;
-@@ -980,7 +956,7 @@ static void vnc_client_read(void *opaque
+@@ -980,7 +956,7 @@ static void vnc_client_read(void *opaque)
      }
  }
  
@@ -848,7 +901,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  {
      buffer_reserve(&vs->output, len);
  
-@@ -991,12 +967,12 @@ static void vnc_write(VncState *vs, cons
+@@ -991,12 +967,12 @@ static void vnc_write(VncState *vs, const void *data, size_t len)
      buffer_append(&vs->output, data, len);
  }
  
@@ -863,7 +916,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  {
      uint8_t buf[4];
  
-@@ -1008,7 +984,7 @@ static void vnc_write_u32(VncState *vs, 
+@@ -1008,7 +984,7 @@ static void vnc_write_u32(VncState *vs, uint32_t value)
      vnc_write(vs, buf, 4);
  }
  
@@ -872,7 +925,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  {
      uint8_t buf[2];
  
-@@ -1018,74 +994,39 @@ static void vnc_write_u16(VncState *vs, 
+@@ -1018,74 +994,39 @@ static void vnc_write_u16(VncState *vs, uint16_t value)
      vnc_write(vs, buf, 2);
  }
  
@@ -953,7 +1006,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  static void client_cut_text(VncState *vs, size_t len, uint8_t *text)
  {
  }
-@@ -1668,6 +1609,11 @@ static int protocol_client_init(VncState
+@@ -1677,6 +1618,11 @@ static int protocol_client_init(VncState *vs, uint8_t *data, size_t len)
      return 0;
  }
  
@@ -965,7 +1018,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  static void make_challenge(VncState *vs)
  {
      int i;
-@@ -1723,12 +1669,12 @@ static int protocol_client_auth_vnc(VncS
+@@ -1732,12 +1678,12 @@ static int protocol_client_auth_vnc(VncState *vs, uint8_t *data, size_t len)
  	vnc_write_u32(vs, 0); /* Accept auth */
  	vnc_flush(vs);
  
@@ -980,7 +1033,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  {
      make_challenge(vs);
      /* Send client a 'random' challenge */
-@@ -1736,411 +1682,9 @@ static int start_auth_vnc(VncState *vs)
+@@ -1745,410 +1691,8 @@ static int start_auth_vnc(VncState *vs)
      vnc_flush(vs);
  
      vnc_read_when(vs, protocol_client_auth_vnc, sizeof(vs->challenge));
@@ -1031,9 +1084,9 @@ Index: qemu-kvm-0.10.4/vnc.c
 -    gnutls_anon_set_server_dh_params(anon_cred, dh_params);
 -
 -    return anon_cred;
- }
- 
- 
+-}
+-
+-
 -static gnutls_certificate_credentials_t vnc_tls_initialize_x509_cred(VncState *vs)
 -{
 -    gnutls_certificate_credentials_t x509_cred;
@@ -1237,8 +1290,8 @@ Index: qemu-kvm-0.10.4/vnc.c
 -
 -    VNC_DEBUG("Handshake IO continue\n");
 -    vnc_continue_handshake(vs);
--}
--
+ }
+ 
 -#define NEED_X509_AUTH(vs)			      \
 -    ((vs)->vd->subauth == VNC_AUTH_VENCRYPT_X509NONE ||   \
 -     (vs)->vd->subauth == VNC_AUTH_VENCRYPT_X509VNC ||    \
@@ -1388,11 +1441,10 @@ Index: qemu-kvm-0.10.4/vnc.c
 -    return 0;
 -}
 -#endif /* CONFIG_VNC_TLS */
--
+ 
  static int protocol_client_auth(VncState *vs, uint8_t *data, size_t len)
  {
-     /* We only advertise 1 auth scheme at a time, so client
-@@ -2163,17 +1707,19 @@ static int protocol_client_auth(VncState
+@@ -2172,17 +1716,19 @@ static int protocol_client_auth(VncState *vs, uint8_t *data, size_t len)
                 vnc_write_u32(vs, 0); /* Accept auth completion */
                 vnc_flush(vs);
             }
@@ -1415,7 +1467,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  #endif /* CONFIG_VNC_TLS */
  
         default: /* Should not be possible, but just in case */
-@@ -2226,7 +1772,7 @@ static int protocol_version(VncState *vs
+@@ -2235,7 +1781,7 @@ static int protocol_version(VncState *vs, uint8_t *version, size_t len)
              VNC_DEBUG("Tell client auth none\n");
              vnc_write_u32(vs, vs->vd->auth);
              vnc_flush(vs);
@@ -1424,7 +1476,7 @@ Index: qemu-kvm-0.10.4/vnc.c
         } else if (vs->vd->auth == VNC_AUTH_VNC) {
              VNC_DEBUG("Tell client VNC auth\n");
              vnc_write_u32(vs, vs->vd->auth);
-@@ -2328,61 +1874,6 @@ void vnc_display_init(DisplayState *ds)
+@@ -2337,61 +1883,6 @@ void vnc_display_init(DisplayState *ds)
      register_displaychangelistener(ds, dcl);
  }
  
@@ -1486,7 +1538,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  
  void vnc_display_close(DisplayState *ds)
  {
-@@ -2402,7 +1893,7 @@ void vnc_display_close(DisplayState *ds)
+@@ -2411,7 +1902,7 @@ void vnc_display_close(DisplayState *ds)
      vs->auth = VNC_AUTH_INVALID;
  #ifdef CONFIG_VNC_TLS
      vs->subauth = VNC_AUTH_INVALID;
@@ -1495,7 +1547,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  #endif
  }
  
-@@ -2458,7 +1949,7 @@ int vnc_display_open(DisplayState *ds, c
+@@ -2467,7 +1958,7 @@ int vnc_display_open(DisplayState *ds, const char *display)
  	    char *start, *end;
  	    x509 = 1; /* Require x509 certificates */
  	    if (strncmp(options, "x509verify", 10) == 0)
@@ -1504,7 +1556,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  
  	    /* Now check for 'x509=/some/path' postfix
  	     * and use that to setup x509 certificate/key paths */
-@@ -2469,7 +1960,7 @@ int vnc_display_open(DisplayState *ds, c
+@@ -2478,7 +1969,7 @@ int vnc_display_open(DisplayState *ds, const char *display)
  		char *path = qemu_strndup(start + 1, len);
  
  		VNC_DEBUG("Trying certificate path '%s'\n", path);
@@ -1513,10 +1565,10 @@ Index: qemu-kvm-0.10.4/vnc.c
  		    fprintf(stderr, "Failed to find x509 certificates/keys in %s\n", path);
  		    qemu_free(path);
  		    qemu_free(vs->display);
-Index: qemu-kvm-0.10.4/vnc.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.h
-+++ qemu-kvm-0.10.4/vnc.h
+diff --git a/vnc.h b/vnc.h
+index eb33643..d69b295 100644
+--- a/vnc.h
++++ b/vnc.h
 @@ -32,13 +32,16 @@
  #include "audio/audio.h"
  #include <zlib.h>
@@ -1539,7 +1591,7 @@ Index: qemu-kvm-0.10.4/vnc.h
  /*****************************************************************************
   *
   * Core data structures
-@@ -72,6 +75,11 @@ typedef void VncSendHextileTile(VncState
+@@ -72,6 +75,11 @@ typedef void VncSendHextileTile(VncState *vs,
  
  typedef struct VncDisplay VncDisplay;
  
@@ -1642,3 +1694,6 @@ Index: qemu-kvm-0.10.4/vnc.h
 +void start_auth_vnc(VncState *vs);
 +
  #endif /* __QEMU_VNC_H */
+-- 
+1.6.2.2
+

06-vnc-sasl.patch:

Index: 06-vnc-sasl.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/06-vnc-sasl.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 06-vnc-sasl.patch	13 May 2009 08:35:55 -0000	1.2
+++ 06-vnc-sasl.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,7 +1,94 @@
-Index: qemu-kvm-0.10.4/Makefile
-===================================================================
---- qemu-kvm-0.10.orig/qemu/Makefile
-+++ qemu-kvm-0.10.4/Makefile
+From 95b704fb6b2a9a7f62bbbfd1b9fd2e23d1c428a5 Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:28 +0000
+Subject: [PATCH 06/18] Add SASL authentication support ("Daniel P. Berrange")
+
+This patch adds the new SASL authentication protocol to the VNC server.
+
+It is enabled by setting the 'sasl' flag when launching VNC. SASL can
+optionally provide encryption via its SSF layer, if a suitable mechanism
+is configured (eg, GSSAPI/Kerberos, or Digest-MD5).  If an SSF layer is
+not available, then it should be combined with the x509 VNC authentication
+protocol which provides encryption.
+
+eg, if using GSSAPI
+
+   qemu -vnc localhost:1,sasl
+
+eg if using  TLS/x509 for encryption
+
+   qemu -vnc localhost:1,sasl,tls,x509
+
+By default the Cyrus SASL library will look for its configuration in
+the file /etc/sasl2/qemu.conf.  For non-root users, this can be overridden
+by setting the SASL_CONF_PATH environment variable, eg to make it look in
+$HOME/.sasl2.  NB unprivileged users may not have access to the full range
+of SASL mechanisms, since some of them require some administrative privileges
+to configure. The patch includes an example SASL configuration file which
+illustrates config for GSSAPI and Digest-MD5, though it should be noted that
+the latter is not really considered secure any more.
+
+Most of the SASL authentication code is located in a separate source file,
+vnc-auth-sasl.c.  The main vnc.c file only contains minimal integration
+glue, specifically parsing of command line flags / setup, and calls to
+start the SASL auth process, to do encoding/decoding for data.
+
+There are several possible stacks for reading & writing of data, depending
+on the combo of VNC authentication methods in use
+
+ - Clear.    read/write straight to socket
+ - TLS.      read/write via GNUTLS helpers
+ - SASL.     encode/decode via SASL SSF layer, then read/write to socket
+ - SASL+TLS. encode/decode via SASL SSF layer, then read/write via GNUTLS
+
+Hence, the vnc_client_read & vnc_client_write methods have been refactored
+a little.
+
+   vnc_client_read:  main entry point for reading, calls either
+
+       - vnc_client_read_plain   reading, with no intermediate decoding
+       - vnc_client_read_sasl    reading, with SASL SSF decoding
+
+   These two methods, then call vnc_client_read_buf(). This decides
+   whether to write to the socket directly or write via GNUTLS.
+
+The situation is the same for writing data. More extensive comments
+have been added in the code / patch. The vnc_client_read_sasl and
+vnc_client_write_sasl method implementations live in the separate
+vnc-auth-sasl.c file.
+
+The state required for the SASL auth mechanism is kept in a separate
+VncStateSASL struct, defined in vnc-auth-sasl.h and included in the
+main VncState.
+
+The configure script probes for SASL and automatically enables it
+if found, unless --disable-vnc-sasl was given to override it.
+
+(cherry picked from commit 2f9606b3736c3be4dbd606c46525c7b770ced119)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ Makefile            |    7 +-
+ Makefile.target     |    5 +
+ configure           |   34 +++
+ qemu-doc.texi       |   97 ++++++++
+ qemu.sasl           |   34 +++
+ vnc-auth-sasl.c     |  626 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ vnc-auth-sasl.h     |   67 ++++++
+ vnc-auth-vencrypt.c |   12 +-
+ vnc.c               |  249 ++++++++++++++++++---
+ vnc.h               |   31 +++-
+ 10 files changed, 1129 insertions(+), 33 deletions(-)
+ create mode 100644 qemu.sasl
+ create mode 100644 vnc-auth-sasl.c
+ create mode 100644 vnc-auth-sasl.h
+
+diff --git a/Makefile b/Makefile
+index 7a3cad5..f5de0b6 100644
+--- a/Makefile
++++ b/Makefile
 @@ -152,6 +152,9 @@ OBJS+=vnc.o d3des.o
  ifdef CONFIG_VNC_TLS
  OBJS+=vnc-tls.o vnc-auth-vencrypt.o
@@ -30,10 +117,10 @@ Index: qemu-kvm-0.10.4/Makefile
  curses.o: curses.c keymaps.h curses_keys.h
  
  bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS)
-Index: qemu-kvm-0.10.4/Makefile.target
-===================================================================
---- qemu-kvm-0.10.orig/qemu/Makefile.target
-+++ qemu-kvm-0.10.4/Makefile.target
+diff --git a/Makefile.target b/Makefile.target
+index a8b198c..e2e23bf 100644
+--- a/Makefile.target
++++ b/Makefile.target
 @@ -613,6 +613,11 @@ CPPFLAGS += $(CONFIG_VNC_TLS_CFLAGS)
  LIBS += $(CONFIG_VNC_TLS_LIBS)
  endif
@@ -46,11 +133,11 @@ Index: qemu-kvm-0.10.4/Makefile.target
  ifdef CONFIG_BLUEZ
  LIBS += $(CONFIG_BLUEZ_LIBS)
  endif
-Index: qemu-kvm-0.10.4/configure
-===================================================================
---- qemu-kvm-0.10.orig/qemu/configure
-+++ qemu-kvm-0.10.4/configure
-@@ -164,6 +164,7 @@ fmod_lib=""
+diff --git a/configure b/configure
+index 23ac0ef..e3522f2 100755
+--- a/configure
++++ b/configure
+@@ -175,6 +175,7 @@ fmod_lib=""
  fmod_inc=""
  oss_lib=""
  vnc_tls="yes"
@@ -58,7 +145,7 @@ Index: qemu-kvm-0.10.4/configure
  bsd="no"
  linux="no"
  solaris="no"
-@@ -404,6 +405,8 @@ for opt do
+@@ -417,6 +418,8 @@ for opt do
    ;;
    --disable-vnc-tls) vnc_tls="no"
    ;;
@@ -67,7 +154,7 @@ Index: qemu-kvm-0.10.4/configure
    --disable-slirp) slirp="no"
    ;;
    --disable-vde) vde="no"
-@@ -563,6 +566,7 @@ echo "                           Availab
+@@ -578,6 +581,7 @@ echo "                           Available cards: $audio_possible_cards"
  echo "  --enable-mixemu          enable mixer emulation"
  echo "  --disable-brlapi         disable BrlAPI"
  echo "  --disable-vnc-tls        disable TLS encryption for VNC server"
@@ -75,7 +162,7 @@ Index: qemu-kvm-0.10.4/configure
  echo "  --disable-curses         disable curses output"
  echo "  --disable-bluez          disable bluez stack connectivity"
  echo "  --disable-kvm            disable KVM acceleration support"
-@@ -890,6 +894,25 @@ EOF
+@@ -919,6 +923,25 @@ EOF
  fi
  
  ##########################################
@@ -101,7 +188,7 @@ Index: qemu-kvm-0.10.4/configure
  # vde libraries probe
  if test "$vde" = "yes" ; then
    cat > $TMPC << EOF
-@@ -1224,6 +1247,11 @@ if test "$vnc_tls" = "yes" ; then
+@@ -1240,6 +1263,11 @@ if test "$vnc_tls" = "yes" ; then
      echo "    TLS CFLAGS    $vnc_tls_cflags"
      echo "    TLS LIBS      $vnc_tls_libs"
  fi
@@ -113,7 +200,7 @@ Index: qemu-kvm-0.10.4/configure
  if test -n "$sparc_cpu"; then
      echo "Target Sparc Arch $sparc_cpu"
  fi
-@@ -1467,6 +1495,12 @@ if test "$vnc_tls" = "yes" ; then
+@@ -1483,6 +1511,12 @@ if test "$vnc_tls" = "yes" ; then
    echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
    echo "#define CONFIG_VNC_TLS 1" >> $config_h
  fi
@@ -126,11 +213,11 @@ Index: qemu-kvm-0.10.4/configure
  qemu_version=`head $source_path/VERSION`
  echo "VERSION=$qemu_version" >>$config_mak
  echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
-Index: qemu-kvm-0.10.4/qemu-doc.texi
-===================================================================
---- qemu-kvm-0.10.orig/qemu/qemu-doc.texi
-+++ qemu-kvm-0.10.4/qemu-doc.texi
-@@ -624,6 +624,21 @@ path following this option specifies whe
+diff --git a/qemu-doc.texi b/qemu-doc.texi
+index 1cb3318..3ba727e 100644
+--- a/qemu-doc.texi
++++ b/qemu-doc.texi
+@@ -624,6 +624,21 @@ path following this option specifies where the x509 certificates are to
  be loaded from. See the @ref{vnc_security} section for details on generating
  certificates.
  
@@ -152,7 +239,7 @@ Index: qemu-kvm-0.10.4/qemu-doc.texi
  @end table
  
  @end table
-@@ -2069,7 +2084,10 @@ considerations depending on the deployme
+@@ -2069,7 +2084,10 @@ considerations depending on the deployment scenarios.
  * vnc_sec_certificate::
  * vnc_sec_certificate_verify::
  * vnc_sec_certificate_pw::
@@ -256,10 +343,11 @@ Index: qemu-kvm-0.10.4/qemu-doc.texi
  @node gdb_usage
  @section GDB usage
  
-Index: qemu-kvm-0.10.4/qemu.sasl
-===================================================================
+diff --git a/qemu.sasl b/qemu.sasl
+new file mode 100644
+index 0000000..cf19cf8
 --- /dev/null
-+++ qemu-kvm-0.10.4/qemu.sasl
++++ b/qemu.sasl
 @@ -0,0 +1,34 @@
 +# If you want to use the non-TLS socket, then you *must* include
 +# the GSSAPI or DIGEST-MD5 mechanisms, because they are the only
@@ -295,10 +383,11 @@ Index: qemu-kvm-0.10.4/qemu.sasl
 +
 +auxprop_plugin: sasldb
 +
-Index: qemu-kvm-0.10.4/vnc-auth-sasl.c
-===================================================================
+diff --git a/vnc-auth-sasl.c b/vnc-auth-sasl.c
+new file mode 100644
+index 0000000..2882a35
 --- /dev/null
-+++ qemu-kvm-0.10.4/vnc-auth-sasl.c
++++ b/vnc-auth-sasl.c
 @@ -0,0 +1,626 @@
 +/*
 + * QEMU VNC display driver: SASL auth protocol
@@ -926,10 +1015,11 @@ Index: qemu-kvm-0.10.4/vnc-auth-sasl.c
 +}
 +
 +
-Index: qemu-kvm-0.10.4/vnc-auth-sasl.h
-===================================================================
+diff --git a/vnc-auth-sasl.h b/vnc-auth-sasl.h
+new file mode 100644
+index 0000000..a72973a
 --- /dev/null
-+++ qemu-kvm-0.10.4/vnc-auth-sasl.h
++++ b/vnc-auth-sasl.h
 @@ -0,0 +1,67 @@
 +/*
 + * QEMU VNC display driver: SASL auth protocol
@@ -998,11 +1088,11 @@ Index: qemu-kvm-0.10.4/vnc-auth-sasl.h
 +
 +#endif /* __QEMU_VNC_AUTH_SASL_H__ */
 +
-Index: qemu-kvm-0.10.4/vnc-auth-vencrypt.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc-auth-vencrypt.c
-+++ qemu-kvm-0.10.4/vnc-auth-vencrypt.c
-@@ -43,8 +43,15 @@ static void start_auth_vencrypt_subauth(
+diff --git a/vnc-auth-vencrypt.c b/vnc-auth-vencrypt.c
+index 1f113a7..9ed642c 100644
+--- a/vnc-auth-vencrypt.c
++++ b/vnc-auth-vencrypt.c
+@@ -43,8 +43,15 @@ static void start_auth_vencrypt_subauth(VncState *vs)
         start_auth_vnc(vs);
         break;
  
@@ -1019,7 +1109,7 @@ Index: qemu-kvm-0.10.4/vnc-auth-vencrypt
         vnc_write_u8(vs, 1);
         if (vs->minor >= 8) {
             static const char err[] = "Unsupported authentication type";
-@@ -105,7 +112,8 @@ static void vnc_tls_handshake_io(void *o
+@@ -105,7 +112,8 @@ static void vnc_tls_handshake_io(void *opaque) {
  #define NEED_X509_AUTH(vs)			      \
      ((vs)->vd->subauth == VNC_AUTH_VENCRYPT_X509NONE ||   \
       (vs)->vd->subauth == VNC_AUTH_VENCRYPT_X509VNC ||    \
@@ -1029,11 +1119,11 @@ Index: qemu-kvm-0.10.4/vnc-auth-vencrypt
  
  
  static int protocol_client_vencrypt_auth(VncState *vs, uint8_t *data, size_t len)
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
-@@ -68,7 +68,8 @@ static char *addr_to_string(const char *
+diff --git a/vnc.c b/vnc.c
+index f1c2d61..33671fd 100644
+--- a/vnc.c
++++ b/vnc.c
+@@ -68,7 +68,8 @@ static char *addr_to_string(const char *format,
      return addr;
  }
  
@@ -1043,7 +1133,7 @@ Index: qemu-kvm-0.10.4/vnc.c
      struct sockaddr_storage sa;
      socklen_t salen;
  
-@@ -79,7 +80,8 @@ static char *vnc_socket_local_addr(const
+@@ -79,7 +80,8 @@ static char *vnc_socket_local_addr(const char *format, int fd) {
      return addr_to_string(format, &sa, salen);
  }
  
@@ -1053,7 +1143,7 @@ Index: qemu-kvm-0.10.4/vnc.c
      struct sockaddr_storage sa;
      socklen_t salen;
  
-@@ -125,12 +127,18 @@ static const char *vnc_auth_name(VncDisp
+@@ -125,12 +127,18 @@ static const char *vnc_auth_name(VncDisplay *vd) {
  	    return "vencrypt+x509+vnc";
  	case VNC_AUTH_VENCRYPT_X509PLAIN:
  	    return "vencrypt+x509+plain";
@@ -1072,7 +1162,7 @@ Index: qemu-kvm-0.10.4/vnc.c
      }
      return "unknown";
  }
-@@ -278,7 +286,7 @@ static void vnc_framebuffer_update(VncSt
+@@ -278,7 +286,7 @@ static void vnc_framebuffer_update(VncState *vs, int x, int y, int w, int h,
      vnc_write_s32(vs, encoding);
  }
  
@@ -1081,7 +1171,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  {
      if ((buffer->capacity - buffer->offset) < len) {
  	buffer->capacity += (len + 1024);
-@@ -290,22 +298,22 @@ static void buffer_reserve(Buffer *buffe
+@@ -290,22 +298,22 @@ static void buffer_reserve(Buffer *buffer, size_t len)
      }
  }
  
@@ -1118,7 +1208,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  {
      if (ret == 0 || ret == -1) {
          if (ret == -1) {
-@@ -847,6 +856,9 @@ static int vnc_client_io_error(VncState 
+@@ -847,6 +856,9 @@ static int vnc_client_io_error(VncState *vs, int ret, int last_errno)
  #ifdef CONFIG_VNC_TLS
  	vnc_tls_client_cleanup(vs);
  #endif /* CONFIG_VNC_TLS */
@@ -1237,7 +1327,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  }
  
  void vnc_read_when(VncState *vs, VncReadEvent *func, size_t expecting)
-@@ -913,16 +994,28 @@ void vnc_read_when(VncState *vs, VncRead
+@@ -913,16 +994,28 @@ void vnc_read_when(VncState *vs, VncReadEvent *func, size_t expecting)
      vs->read_handler_expect = expecting;
  }
  
@@ -1329,7 +1419,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  
      while (vs->read_handler && vs->input.offset >= vs->read_handler_expect) {
  	size_t len = vs->read_handler_expect;
-@@ -1722,6 +1855,13 @@ static int protocol_client_auth(VncState
+@@ -1731,6 +1864,13 @@ static int protocol_client_auth(VncState *vs, uint8_t *data, size_t len)
             break;
  #endif /* CONFIG_VNC_TLS */
  
@@ -1343,7 +1433,7 @@ Index: qemu-kvm-0.10.4/vnc.c
         default: /* Should not be possible, but just in case */
             VNC_DEBUG("Reject auth %d\n", vs->vd->auth);
             vnc_write_u8(vs, 1);
-@@ -1923,6 +2063,10 @@ int vnc_display_open(DisplayState *ds, c
+@@ -1932,6 +2072,10 @@ int vnc_display_open(DisplayState *ds, const char *display)
  #ifdef CONFIG_VNC_TLS
      int tls = 0, x509 = 0;
  #endif
@@ -1354,7 +1444,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  
      if (!vnc_display)
          return -1;
-@@ -1942,6 +2086,10 @@ int vnc_display_open(DisplayState *ds, c
+@@ -1951,6 +2095,10 @@ int vnc_display_open(DisplayState *ds, const char *display)
  	    reverse = 1;
  	} else if (strncmp(options, "to=", 3) == 0) {
              to_port = atoi(options+3) + 5900;
@@ -1365,7 +1455,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  #ifdef CONFIG_VNC_TLS
  	} else if (strncmp(options, "tls", 3) == 0) {
  	    tls = 1; /* Require TLS */
-@@ -1978,6 +2126,22 @@ int vnc_display_open(DisplayState *ds, c
+@@ -1987,6 +2135,22 @@ int vnc_display_open(DisplayState *ds, const char *display)
  	}
      }
  
@@ -1388,7 +1478,7 @@ Index: qemu-kvm-0.10.4/vnc.c
      if (password) {
  #ifdef CONFIG_VNC_TLS
  	if (tls) {
-@@ -1990,13 +2154,34 @@ int vnc_display_open(DisplayState *ds, c
+@@ -1999,13 +2163,34 @@ int vnc_display_open(DisplayState *ds, const char *display)
  		vs->subauth = VNC_AUTH_VENCRYPT_TLSVNC;
  	    }
  	} else {
@@ -1425,7 +1515,7 @@ Index: qemu-kvm-0.10.4/vnc.c
      } else {
  #ifdef CONFIG_VNC_TLS
  	if (tls) {
-@@ -2018,6 +2203,16 @@ int vnc_display_open(DisplayState *ds, c
+@@ -2027,6 +2212,16 @@ int vnc_display_open(DisplayState *ds, const char *display)
  #endif
      }
  
@@ -1442,10 +1532,10 @@ Index: qemu-kvm-0.10.4/vnc.c
      if (reverse) {
          /* connect to viewer */
          if (strncmp(display, "unix:", 5) == 0)
-Index: qemu-kvm-0.10.4/vnc.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.h
-+++ qemu-kvm-0.10.4/vnc.h
+diff --git a/vnc.h b/vnc.h
+index d69b295..ca39c23 100644
+--- a/vnc.h
++++ b/vnc.h
 @@ -79,6 +79,10 @@ typedef struct VncDisplay VncDisplay;
  #include "vnc-tls.h"
  #include "vnc-auth-vencrypt.h"
@@ -1501,7 +1591,7 @@ Index: qemu-kvm-0.10.4/vnc.h
  
  /* Protocol I/O functions */
  void vnc_write(VncState *vs, const void *data, size_t len);
-@@ -274,8 +285,22 @@ uint32_t read_u32(uint8_t *data, size_t 
+@@ -274,8 +285,22 @@ uint32_t read_u32(uint8_t *data, size_t offset);
  
  /* Protocol stage functions */
  void vnc_client_error(VncState *vs);
@@ -1524,3 +1614,6 @@ Index: qemu-kvm-0.10.4/vnc.h
 +char *vnc_socket_remote_addr(const char *format, int fd);
 +
  #endif /* __QEMU_VNC_H */
+-- 
+1.6.2.2
+

07-vnc-monitor-authinfo.patch:

Index: 07-vnc-monitor-authinfo.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/07-vnc-monitor-authinfo.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 07-vnc-monitor-authinfo.patch	13 May 2009 08:35:55 -0000	1.2
+++ 07-vnc-monitor-authinfo.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,8 +1,46 @@
-Index: qemu-kvm-0.10.4/vnc-tls.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc-tls.c
-+++ qemu-kvm-0.10.4/vnc-tls.c
-@@ -241,6 +241,22 @@ int vnc_tls_validate_certificate(struct 
+From 9e9226fb865ada61b8b0a6c2c5526fdedfd4d608 Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:32 +0000
+Subject: [PATCH 07/18] Include auth credentials in 'info vnc' ("Daniel P. Berrange")
+
+This patch extends the 'info vnc' monitor output to include information
+about the VNC client authentication credentials.
+
+For clients authenticated using SASL, this will output the username.
+
+For clients authenticated using x509 certificates, this will output
+the x509 distinguished name.
+
+Auth can be stacked, so both username & x509 dname may be shown.
+
+    Server:
+         address: 0.0.0.0:5902
+            auth: vencrypt+x509+sasl
+    Client:
+         address: 10.33.6.67:38621
+      x509 dname: C=GB,O=ACME,L=London,ST=London,CN=localhost
+        username: admin
+    Client:
+         address: 10.33.6.63:38620
+      x509 dname: C=GB,O=ACME,L=London,ST=London,CN=localhost
+        username: admin
+
+(cherry picked from commit 1263b7d6131cdaed2c460cf03757aaaf5696ec47)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ vnc-tls.c |   17 +++++++++++++++++
+ vnc-tls.h |    3 +++
+ vnc.c     |   19 +++++++++++++++++--
+ 3 files changed, 37 insertions(+), 2 deletions(-)
+
+diff --git a/vnc-tls.c b/vnc-tls.c
+index 666aa07..a37a0b4 100644
+--- a/vnc-tls.c
++++ b/vnc-tls.c
+@@ -241,6 +241,22 @@ int vnc_tls_validate_certificate(struct VncState *vs)
  	    return -1;
  	}
  
@@ -25,7 +63,7 @@ Index: qemu-kvm-0.10.4/vnc-tls.c
  	gnutls_x509_crt_deinit (cert);
      }
  
-@@ -347,6 +363,7 @@ void vnc_tls_client_cleanup(struct VncSt
+@@ -347,6 +363,7 @@ void vnc_tls_client_cleanup(struct VncState *vs)
  	vs->tls.session = NULL;
      }
      vs->tls.wiremode = VNC_WIREMODE_CLEAR;
@@ -33,10 +71,10 @@ Index: qemu-kvm-0.10.4/vnc-tls.c
  }
  
  
-Index: qemu-kvm-0.10.4/vnc-tls.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc-tls.h
-+++ qemu-kvm-0.10.4/vnc-tls.h
+diff --git a/vnc-tls.h b/vnc-tls.h
+index cda95b9..fd0a2d9 100644
+--- a/vnc-tls.h
++++ b/vnc-tls.h
 @@ -55,6 +55,9 @@ struct VncStateTLS {
      /* Whether data is being TLS encrypted yet */
      int wiremode;
@@ -47,11 +85,11 @@ Index: qemu-kvm-0.10.4/vnc-tls.h
  };
  
  int vnc_tls_client_setup(VncState *vs, int x509Creds);
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
-@@ -156,6 +156,21 @@ static void do_info_vnc_client(VncState 
+diff --git a/vnc.c b/vnc.c
+index 33671fd..da68842 100644
+--- a/vnc.c
++++ b/vnc.c
+@@ -156,6 +156,21 @@ static void do_info_vnc_client(VncState *client)
      term_puts("Client:\n");
      term_puts(clientAddr);
      free(clientAddr);
@@ -73,7 +111,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  }
  
  void do_info_vnc(void)
-@@ -1823,7 +1838,7 @@ static int protocol_client_auth(VncState
+@@ -1832,7 +1847,7 @@ static int protocol_client_auth(VncState *vs, uint8_t *data, size_t len)
      /* We only advertise 1 auth scheme at a time, so client
       * must pick the one we sent. Verify this */
      if (data[0] != vs->vd->auth) { /* Reject auth */
@@ -82,7 +120,7 @@ Index: qemu-kvm-0.10.4/vnc.c
         vnc_write_u32(vs, 1);
         if (vs->minor >= 8) {
             static const char err[] = "Authentication failed";
-@@ -1863,7 +1878,7 @@ static int protocol_client_auth(VncState
+@@ -1872,7 +1887,7 @@ static int protocol_client_auth(VncState *vs, uint8_t *data, size_t len)
  #endif /* CONFIG_VNC_SASL */
  
         default: /* Should not be possible, but just in case */
@@ -91,3 +129,6 @@ Index: qemu-kvm-0.10.4/vnc.c
             vnc_write_u8(vs, 1);
             if (vs->minor >= 8) {
                 static const char err[] = "Authentication failed";
+-- 
+1.6.2.2
+

08-vnc-acl-mgmt.patch:

Index: 08-vnc-acl-mgmt.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/08-vnc-acl-mgmt.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- 08-vnc-acl-mgmt.patch	13 May 2009 08:35:55 -0000	1.2
+++ 08-vnc-acl-mgmt.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,7 +1,96 @@
-Index: qemu-kvm-0.10.4/Makefile
-===================================================================
---- qemu-kvm-0.10.orig/qemu/Makefile
-+++ qemu-kvm-0.10.4/Makefile
+From 5fd8471df80cfd1e868ea50125065536c8fe900c Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Fri, 6 Mar 2009 20:27:37 +0000
+Subject: [PATCH 08/18] Support ACLs for controlling VNC access ("Daniel P. Berrange")
+
+This patch introduces a generic internal API for access control lists
+to be used by network servers in QEMU. It adds support for checking
+these ACL in the VNC server, in two places. The first ACL is for the
+SASL authentication mechanism, checking the SASL username. This ACL
+is called 'vnc.username'. The second is for the TLS authentication
+mechanism, when x509 client certificates are turned on, checking against
+the Distinguished Name of the client. This ACL is called 'vnc.x509dname'
+
+The internal API provides for an ACL with the following characteristics
+
+ - A unique name, eg  vnc.username, and vnc.x509dname.
+ - A default policy, allow or deny
+ - An ordered series of match rules, with allow or deny policy
+
+If none of the match rules apply, then the default policy is
+used.
+
+There is a monitor API to manipulate the ACLs, which I'll describe via
+examples
+
+  (qemu) acl show vnc.username
+  policy: allow
+  (qemu) acl policy vnc.username denya
+  acl: policy set to 'deny'
+  (qemu) acl allow vnc.username fred
+  acl: added rule at position 1
+  (qemu) acl allow vnc.username bob
+  acl: added rule at position 2
+  (qemu) acl allow vnc.username joe 1
+  acl: added rule at position 1
+  (qemu) acl show vnc.username
+  policy: deny
+  0: allow fred
+  1: allow joe
+  2: allow bob
+
+  (qemu) acl show vnc.x509dname
+  policy: allow
+  (qemu) acl policy vnc.x509dname deny
+  acl: policy set to 'deny'
+  (qemu) acl allow vnc.x509dname C=GB,O=ACME,L=London,CN=*
+  acl: added rule at position 1
+  (qemu) acl allow vnc.x509dname C=GB,O=ACME,L=Boston,CN=bob
+  acl: added rule at position 2
+  (qemu) acl show vnc.x509dname
+  policy: deny
+  0: allow C=GB,O=ACME,L=London,CN=*
+  1: allow C=GB,O=ACME,L=Boston,CN=bob
+
+By default the VNC server will not use any ACLs, allowing access to
+the server if the user successfully authenticates. To enable use of
+ACLs to restrict user access, the ',acl' flag should be given when
+starting QEMU. The initial ACL activated will be a 'deny all' policy
+and should be customized using monitor commands.
+
+eg enable SASL auth and ACLs
+
+    qemu ....  -vnc localhost:1,sasl,acl
+
+The next patch will provide a way to load a pre-defined ACL when
+starting up
+
+(cherry picked from commit 76655d6dece88bd00e190956e8e4285b682edcbb)
+
+Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ Makefile        |    6 +-
+ acl.c           |  185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ acl.h           |   74 ++++++++++++++++++++++
+ configure       |   18 +++++
+ monitor.c       |   96 ++++++++++++++++++++++++++++
+ qemu-doc.texi   |   49 +++++++++++++++
+ vnc-auth-sasl.c |   16 ++++-
+ vnc-auth-sasl.h |    7 ++
+ vnc-tls.c       |   19 ++++++
+ vnc-tls.h       |    3 +
+ vnc.c           |   21 ++++++
+ vnc.h           |    3 +
+ 12 files changed, 492 insertions(+), 5 deletions(-)
+ create mode 100644 acl.c
+ create mode 100644 acl.h
+
+diff --git a/Makefile b/Makefile
+index f5de0b6..2af4c06 100644
+--- a/Makefile
++++ b/Makefile
 @@ -148,7 +148,7 @@ endif
  ifdef CONFIG_CURSES
  OBJS+=curses.o
@@ -24,10 +113,11 @@ Index: qemu-kvm-0.10.4/Makefile
  
  vnc.o: CFLAGS += $(CONFIG_VNC_TLS_CFLAGS)
  
-Index: qemu-kvm-0.10.4/acl.c
-===================================================================
+diff --git a/acl.c b/acl.c
+new file mode 100644
+index 0000000..173bf95
 --- /dev/null
-+++ qemu-kvm-0.10.4/acl.c
++++ b/acl.c
 @@ -0,0 +1,185 @@
 +/*
 + * QEMU access control list management
@@ -214,10 +304,11 @@ Index: qemu-kvm-0.10.4/acl.c
 + *  tab-width: 8
 + * End:
 + */
-Index: qemu-kvm-0.10.4/acl.h
-===================================================================
+diff --git a/acl.h b/acl.h
+new file mode 100644
+index 0000000..62a5e56
 --- /dev/null
-+++ qemu-kvm-0.10.4/acl.h
++++ b/acl.h
 @@ -0,0 +1,74 @@
 +/*
 + * QEMU access control list management
@@ -293,11 +384,11 @@ Index: qemu-kvm-0.10.4/acl.h
 + *  tab-width: 8
 + * End:
 + */
-Index: qemu-kvm-0.10.4/configure
-===================================================================
---- qemu-kvm-0.10.orig/qemu/configure
-+++ qemu-kvm-0.10.4/configure
-@@ -913,6 +913,21 @@ EOF
+diff --git a/configure b/configure
+index e3522f2..e00893f 100755
+--- a/configure
++++ b/configure
+@@ -942,6 +942,21 @@ EOF
  fi
  
  ##########################################
@@ -319,7 +410,7 @@ Index: qemu-kvm-0.10.4/configure
  # vde libraries probe
  if test "$vde" = "yes" ; then
    cat > $TMPC << EOF
-@@ -1501,6 +1516,9 @@ if test "$vnc_sasl" = "yes" ; then
+@@ -1517,6 +1532,9 @@ if test "$vnc_sasl" = "yes" ; then
    echo "CONFIG_VNC_SASL_LIBS=$vnc_sasl_libs" >> $config_mak
    echo "#define CONFIG_VNC_SASL 1" >> $config_h
  fi
@@ -329,10 +420,10 @@ Index: qemu-kvm-0.10.4/configure
  qemu_version=`head $source_path/VERSION`
  echo "VERSION=$qemu_version" >>$config_mak
  echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
-Index: qemu-kvm-0.10.4/monitor.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/monitor.c
-+++ qemu-kvm-0.10.4/monitor.c
+diff --git a/monitor.c b/monitor.c
+index 49091e4..022697c 100644
+--- a/monitor.c
++++ b/monitor.c
 @@ -39,6 +39,7 @@
  #include "qemu-timer.h"
  #include "migration.h"
@@ -448,7 +539,7 @@ Index: qemu-kvm-0.10.4/monitor.c
      { NULL, NULL, },
  };
  
-@@ -2995,3 +3082,12 @@ int monitor_read_bdrv_key(BlockDriverSta
+@@ -2995,3 +3082,12 @@ int monitor_read_bdrv_key(BlockDriverState *bs)
      }
      return -EPERM;
  }
@@ -461,11 +552,11 @@ Index: qemu-kvm-0.10.4/monitor.c
 + *  tab-width: 8
 + * End:
 + */
-Index: qemu-kvm-0.10.4/qemu-doc.texi
-===================================================================
---- qemu-kvm-0.10.orig/qemu/qemu-doc.texi
-+++ qemu-kvm-0.10.4/qemu-doc.texi
-@@ -639,6 +639,19 @@ ensures a data encryption preventing com
+diff --git a/qemu-doc.texi b/qemu-doc.texi
+index 3ba727e..0cccddd 100644
+--- a/qemu-doc.texi
++++ b/qemu-doc.texi
+@@ -639,6 +639,19 @@ ensures a data encryption preventing compromise of authentication
  credentials. See the @ref{vnc_security} section for details on using
  SASL authentication.
  
@@ -528,11 +619,11 @@ Index: qemu-kvm-0.10.4/qemu-doc.texi
  @item screendump @var{filename}
  Save screen into PPM image @var{filename}.
  
-Index: qemu-kvm-0.10.4/vnc-auth-sasl.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc-auth-sasl.c
-+++ qemu-kvm-0.10.4/vnc-auth-sasl.c
-@@ -120,22 +120,32 @@ static int vnc_auth_sasl_check_access(Vn
+diff --git a/vnc-auth-sasl.c b/vnc-auth-sasl.c
+index 2882a35..4b4aca9 100644
+--- a/vnc-auth-sasl.c
++++ b/vnc-auth-sasl.c
+@@ -120,22 +120,32 @@ static int vnc_auth_sasl_check_access(VncState *vs)
  {
      const void *val;
      int err;
@@ -568,10 +659,10 @@ Index: qemu-kvm-0.10.4/vnc-auth-sasl.c
  }
  
  static int vnc_auth_sasl_check_ssf(VncState *vs)
-Index: qemu-kvm-0.10.4/vnc-auth-sasl.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc-auth-sasl.h
-+++ qemu-kvm-0.10.4/vnc-auth-sasl.h
+diff --git a/vnc-auth-sasl.h b/vnc-auth-sasl.h
+index a72973a..fd9b18a 100644
+--- a/vnc-auth-sasl.h
++++ b/vnc-auth-sasl.h
 @@ -30,6 +30,9 @@
  #include <sasl/sasl.h>
  
@@ -593,11 +684,11 @@ Index: qemu-kvm-0.10.4/vnc-auth-sasl.h
  void vnc_sasl_client_cleanup(VncState *vs);
  
  long vnc_client_read_sasl(VncState *vs);
-Index: qemu-kvm-0.10.4/vnc-tls.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc-tls.c
-+++ qemu-kvm-0.10.4/vnc-tls.c
-@@ -255,6 +255,25 @@ int vnc_tls_validate_certificate(struct 
+diff --git a/vnc-tls.c b/vnc-tls.c
+index a37a0b4..2d62ac9 100644
+--- a/vnc-tls.c
++++ b/vnc-tls.c
+@@ -255,6 +255,25 @@ int vnc_tls_validate_certificate(struct VncState *vs)
  			  gnutls_strerror (ret));
  		return -1;
  	    }
@@ -623,10 +714,10 @@ Index: qemu-kvm-0.10.4/vnc-tls.c
  	}
  
  	gnutls_x509_crt_deinit (cert);
-Index: qemu-kvm-0.10.4/vnc-tls.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc-tls.h
-+++ qemu-kvm-0.10.4/vnc-tls.h
+diff --git a/vnc-tls.h b/vnc-tls.h
+index fd0a2d9..2b93633 100644
+--- a/vnc-tls.h
++++ b/vnc-tls.h
 @@ -31,6 +31,8 @@
  #include <gnutls/gnutls.h>
  #include <gnutls/x509.h>
@@ -644,10 +735,10 @@ Index: qemu-kvm-0.10.4/vnc-tls.h
  
      /* Paths to x509 certs/keys */
      char *x509cacert;
-Index: qemu-kvm-0.10.4/vnc.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.c
-+++ qemu-kvm-0.10.4/vnc.c
+diff --git a/vnc.c b/vnc.c
+index da68842..44a7746 100644
+--- a/vnc.c
++++ b/vnc.c
 @@ -28,6 +28,7 @@
  #include "sysemu.h"
  #include "qemu_socket.h"
@@ -656,7 +747,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  
  #define VNC_REFRESH_INTERVAL (1000 / 30)
  
-@@ -2082,6 +2083,7 @@ int vnc_display_open(DisplayState *ds, c
+@@ -2091,6 +2092,7 @@ int vnc_display_open(DisplayState *ds, const char *display)
      int sasl = 0;
      int saslErr;
  #endif
@@ -664,7 +755,7 @@ Index: qemu-kvm-0.10.4/vnc.c
  
      if (!vnc_display)
          return -1;
-@@ -2138,9 +2140,28 @@ int vnc_display_open(DisplayState *ds, c
+@@ -2147,9 +2149,28 @@ int vnc_display_open(DisplayState *ds, const char *display)
  		return -1;
  	    }
  #endif
@@ -693,10 +784,10 @@ Index: qemu-kvm-0.10.4/vnc.c
      /*
       * Combinations we support here:
       *
-Index: qemu-kvm-0.10.4/vnc.h
-===================================================================
---- qemu-kvm-0.10.orig/qemu/vnc.h
-+++ qemu-kvm-0.10.4/vnc.h
+diff --git a/vnc.h b/vnc.h
+index ca39c23..6a60f8d 100644
+--- a/vnc.h
++++ b/vnc.h
 @@ -98,6 +98,9 @@ struct VncDisplay
      int subauth; /* Used by VeNCrypt */
      VncDisplayTLS tls;
@@ -707,3 +798,6 @@ Index: qemu-kvm-0.10.4/vnc.h
  };
  
  struct VncState
+-- 
+1.6.2.2
+

kvm-upstream-ppc.patch:

Index: kvm-upstream-ppc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/kvm-upstream-ppc.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- kvm-upstream-ppc.patch	13 May 2009 08:35:55 -0000	1.4
+++ kvm-upstream-ppc.patch	24 Jun 2009 16:43:44 -0000	1.5
@@ -1,7 +1,7 @@
-From 796d42657fb238cf23a78620051f533662557e2b Mon Sep 17 00:00:00 2001
+From a103fc3415c6efcd04a73ca928482fc3467e9400 Mon Sep 17 00:00:00 2001
 From: Glauber Costa <glommer at redhat.com>
-Date: Fri, 13 Feb 2009 13:00:31 -0500
-Subject: [PATCH] use KVM_UPSTREAM for ppc.
+Date: Wed, 24 Jun 2009 14:22:57 +0100
+Subject: [PATCH 09/18] use KVM_UPSTREAM for ppc.
 
 ppc should compile with upstream qemu code, so, put these
 defines in ppc specific code that references kvm functions.
@@ -11,17 +11,18 @@ files (like vl.c) that includes both kvm
 and would break compilation.
 
 Signed-off-by: Glauber Costa <glommer at redhat.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
 ---
  hw/ppc440.c            |    1 +
  hw/ppc440_bamboo.c     |    1 +
  hw/ppce500_mpc8544ds.c |    1 +
- target-ppc/helper.c    |    2 +-
- 4 files changed, 4 insertions(+), 1 deletion(-)
+ target-ppc/helper.c    |    1 +
+ 4 files changed, 4 insertions(+), 0 deletions(-)
 
-Index: qemu-kvm-0.10.4/hw/ppc440.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/hw/ppc440.c
-+++ qemu-kvm-0.10.4/hw/ppc440.c
+diff --git a/hw/ppc440.c b/hw/ppc440.c
+index 00d82e4..164c326 100644
+--- a/hw/ppc440.c
++++ b/hw/ppc440.c
 @@ -18,6 +18,7 @@
  #include "ppc440.h"
  #include "ppc405.h"
@@ -30,10 +31,10 @@ Index: qemu-kvm-0.10.4/hw/ppc440.c
  #include "kvm.h"
  
  #define PPC440EP_PCI_CONFIG     0xeec00000
-Index: qemu-kvm-0.10.4/hw/ppc440_bamboo.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/hw/ppc440_bamboo.c
-+++ qemu-kvm-0.10.4/hw/ppc440_bamboo.c
+diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
+index fbd447c..60ddaf4 100644
+--- a/hw/ppc440_bamboo.c
++++ b/hw/ppc440_bamboo.c
 @@ -21,6 +21,7 @@
  #include "boards.h"
  #include "sysemu.h"
@@ -42,10 +43,10 @@ Index: qemu-kvm-0.10.4/hw/ppc440_bamboo.
  #include "kvm.h"
  #include "kvm_ppc.h"
  #include "device_tree.h"
-Index: qemu-kvm-0.10.4/hw/ppce500_mpc8544ds.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/hw/ppce500_mpc8544ds.c
-+++ qemu-kvm-0.10.4/hw/ppce500_mpc8544ds.c
+diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c
+index 8fa0383..47e35e6 100644
+--- a/hw/ppce500_mpc8544ds.c
++++ b/hw/ppce500_mpc8544ds.c
 @@ -16,6 +16,7 @@
  
  #include <dirent.h>
@@ -54,10 +55,10 @@ Index: qemu-kvm-0.10.4/hw/ppce500_mpc854
  #include "config.h"
  #include "qemu-common.h"
  #include "net.h"
-Index: qemu-kvm-0.10.4/target-ppc/helper.c
-===================================================================
---- qemu-kvm-0.10.orig/qemu/target-ppc/helper.c
-+++ qemu-kvm-0.10.4/target-ppc/helper.c
+diff --git a/target-ppc/helper.c b/target-ppc/helper.c
+index e02dcb0..027c8e7 100644
+--- a/target-ppc/helper.c
++++ b/target-ppc/helper.c
 @@ -29,6 +29,7 @@
  #include "exec-all.h"
  #include "helper_regs.h"
@@ -66,3 +67,6 @@ Index: qemu-kvm-0.10.4/target-ppc/helper
  #include "kvm.h"
  
  //#define DEBUG_MMU
+-- 
+1.6.2.2
+

qemu-avoid-harmless-msr-warnings.patch:

Index: qemu-avoid-harmless-msr-warnings.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-avoid-harmless-msr-warnings.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- qemu-avoid-harmless-msr-warnings.patch	3 Jun 2009 15:04:28 -0000	1.1
+++ qemu-avoid-harmless-msr-warnings.patch	24 Jun 2009 16:43:44 -0000	1.2
@@ -1,7 +1,7 @@
-From d283d5a65a2bdcc570065267be21848bd6fe3d78 Mon Sep 17 00:00:00 2001
+From 319ef9346bb0d1786ca6f77c6510731d7f764ff1 Mon Sep 17 00:00:00 2001
 From: Marcelo Tosatti <mtosatti at redhat.com>
-Date: Thu, 7 May 2009 15:48:48 -0300
-Subject: [PATCH 1/1] Avoid harmless unhandled wrmsr 0xc0010117 messages
+Date: Wed, 24 Jun 2009 14:38:34 +0100
+Subject: [PATCH 17/18] Avoid harmless unhandled wrmsr 0xc0010117 messages
 
 Olders kernel which don't contain kvm.git commit
 61a6bd672bda3b9468bf5895c1be085c4e481138 display the following message:
@@ -15,12 +15,13 @@ how MSR_STAR is handled.
 
 Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
 Signed-off-by: Avi Kivity <avi at redhat.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
 ---
  qemu-kvm-x86.c |   15 +++++++++++----
  1 files changed, 11 insertions(+), 4 deletions(-)
 
 diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
-index 98aa530..1096e65 100644
+index 838ae18..8e0f0b2 100644
 --- a/qemu-kvm-x86.c
 +++ b/qemu-kvm-x86.c
 @@ -25,6 +25,7 @@
@@ -69,5 +70,5 @@ index 98aa530..1096e65 100644
      if (lm_capable_kernel) {
          msrs[n++].index = MSR_CSTAR;
 -- 
-1.6.0.6
+1.6.2.2
 

qemu-bios-bigger-roms.patch:

Index: qemu-bios-bigger-roms.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-bios-bigger-roms.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- qemu-bios-bigger-roms.patch	13 May 2009 08:35:55 -0000	1.2
+++ qemu-bios-bigger-roms.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,3 +1,26 @@
+From 664484dc8aa91fff6c8906ede14ce492b7904129 Mon Sep 17 00:00:00 2001
+From: Glauber Costa <glommer at redhat.com>
+Date: Wed, 24 Jun 2009 14:31:41 +0100
+Subject: [PATCH 13/18] compute checksum for roms bigger than a segment
+
+Some option roms (e1000 provided by gpxe project as an example)
+are bigger than a segment. The current algorithm to compute the
+checksum fails in such case. To proper compute the checksum, this
+patch deals with the possibility of the rom's size crossing a
+segment border.
+
+We don't need to worry about it crossing more than one segment
+border, since the option roms format only save one byte to store
+the image size (thus, maximum size = 0xff = 128k = 2 segments)
+
+[ including improvements suggested by malc ]
+
+Signed-off-by: Glauber Costa <glommer at redhat.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+---
+ kvm/bios/rombios.c |   33 +++++++++++++++++++++++++++------
+ 1 files changed, 27 insertions(+), 6 deletions(-)
+
 diff --git a/kvm/bios/rombios.c b/kvm/bios/rombios.c
 index c4f6ccd..c4bfe60 100644
 --- a/kvm/bios/rombios.c
@@ -50,3 +73,8 @@ index c4f6ccd..c4bfe60 100644
 +  pop  ds
 +  popa 
    ret
+ 
+ 
+-- 
+1.6.2.2
+

qemu-fix-debuginfo.patch:

Index: qemu-fix-debuginfo.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-fix-debuginfo.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- qemu-fix-debuginfo.patch	13 May 2009 08:35:55 -0000	1.2
+++ qemu-fix-debuginfo.patch	24 Jun 2009 16:43:44 -0000	1.3
@@ -1,23 +1,42 @@
-From: Riku Voipio <riku.voipio at iki.fi>
-Subject: [Qemu-devel] [PATCH] Make binary stripping conditional
+From 7fe411e73b6e6c7f8cc3eb9c3202b7c575a7670c Mon Sep 17 00:00:00 2001
+From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
+Date: Sun, 5 Apr 2009 17:41:02 +0000
+Subject: [PATCH 10/18] Make binary stripping conditional (Riku Voipio)
 
 Currently qemu unconditionally strips binaries on install. This
 is a problem for packagers who may want to store/ship debug symbols
 of compiled packages for debugging purposes.
 
 Keep stripping as default for the oldtimers and add a
---disable-strip flag to override.
+ --disable-strip flag to override.
+
+(cherry picked from commit 1625af873aa8c9e4d22ad50a08e877110bf40623)
 
 Signed-off-by: Riku Voipio <riku.voipio at iki.fi>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
 ---
- Makefile        |    2 +-
- Makefile.target |    2 +-
- configure       |    9 ++++++++-
- 3 files changed, 10 insertions(+), 3 deletions(-)
-
-diff -urNp qemu-kvm-0.10.4.orig/configure qemu-kvm-0.10.4/configure
---- qemu-kvm-0.10.4.orig/configure	2009-05-12 21:40:25.000000000 +0100
-+++ qemu-kvm-0.10.4/configure	2009-05-12 21:42:34.000000000 +0100
+ Makefile  |    2 +-
+ configure |    9 ++++++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 2af4c06..1162f35 100644
+--- a/Makefile
++++ b/Makefile
+@@ -256,7 +256,7 @@ endif
+ install: all $(if $(BUILD_DOCS),install-doc)
+ 	mkdir -p "$(DESTDIR)$(bindir)"
+ ifneq ($(TOOLS),)
+-	$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
++	$(INSTALL) -m 755 $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
+ endif
+ ifneq ($(BLOBS),)
+ 	mkdir -p "$(DESTDIR)$(datadir)"
+diff --git a/configure b/configure
+index e00893f..2fed692 100755
+--- a/configure
++++ b/configure
 @@ -165,6 +165,7 @@ kvm_version() {
  
  gprof="no"
@@ -35,7 +54,7 @@ diff -urNp qemu-kvm-0.10.4.orig/configur
    --disable-vnc-tls) vnc_tls="no"
    ;;
    --disable-vnc-sasl) vnc_sasl="no"
-@@ -571,6 +574,7 @@ echo "  --install=INSTALL        use spe
+@@ -571,6 +574,7 @@ echo "  --install=INSTALL        use specified install [$install]"
  echo "  --static                 enable static build [$static]"
  echo "  --enable-sparse          enable sparse checker"
  echo "  --disable-sparse         disable sparse checker (default)"
@@ -69,50 +88,6 @@ diff -urNp qemu-kvm-0.10.4.orig/configur
  if test "$bigendian" = "yes" ; then
    echo "WORDS_BIGENDIAN=yes" >> $config_mak
    echo "#define WORDS_BIGENDIAN 1" >> $config_h
-diff -urNp qemu-kvm-0.10.4.orig/configure.orig qemu-kvm-0.10.4/configure.orig
---- qemu-kvm-0.10.4.orig/configure.orig	2009-05-12 21:40:25.000000000 +0100
-+++ qemu-kvm-0.10.4/configure.orig	2009-05-12 21:40:25.000000000 +0100
-@@ -942,6 +942,21 @@ EOF
- fi
- 
- ##########################################
-+# fnmatch() probe, used for ACL routines
-+fnmatch="no"
-+cat > $TMPC << EOF
-+#include <fnmatch.h>
-+int main(void)
-+{
-+    fnmatch("foo", "foo", 0);
-+    return 0;
-+}
-+EOF
-+if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
-+   fnmatch="yes"
-+fi
-+
-+##########################################
- # vde libraries probe
- if test "$vde" = "yes" ; then
-   cat > $TMPC << EOF
-@@ -1517,6 +1532,9 @@ if test "$vnc_sasl" = "yes" ; then
-   echo "CONFIG_VNC_SASL_LIBS=$vnc_sasl_libs" >> $config_mak
-   echo "#define CONFIG_VNC_SASL 1" >> $config_h
- fi
-+if test "$fnmatch" = "yes" ; then
-+  echo "#define HAVE_FNMATCH_H 1" >> $config_h
-+fi
- qemu_version=`head $source_path/VERSION`
- echo "VERSION=$qemu_version" >>$config_mak
- echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
-diff -urNp qemu-kvm-0.10.4.orig/Makefile qemu-kvm-0.10.4/Makefile
---- qemu-kvm-0.10.4.orig/Makefile	2009-05-12 21:40:25.000000000 +0100
-+++ qemu-kvm-0.10.4/Makefile	2009-05-12 21:42:34.000000000 +0100
-@@ -256,7 +256,7 @@ endif
- install: all $(if $(BUILD_DOCS),install-doc)
- 	mkdir -p "$(DESTDIR)$(bindir)"
- ifneq ($(TOOLS),)
--	$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
-+	$(INSTALL) -m 755 $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
- endif
- ifneq ($(BLOBS),)
- 	mkdir -p "$(DESTDIR)$(datadir)"
+-- 
+1.6.2.2
+

qemu-fix-net-socket-list-init.patch:

Index: qemu-fix-net-socket-list-init.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-fix-net-socket-list-init.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- qemu-fix-net-socket-list-init.patch	3 Jun 2009 15:04:28 -0000	1.1
+++ qemu-fix-net-socket-list-init.patch	24 Jun 2009 16:43:44 -0000	1.2
@@ -1,23 +1,23 @@
-From ea053add700d8abe203cd79a9ffb082aee4eabc0 Mon Sep 17 00:00:00 2001
+From 16eed05e9fe61c502fc2f936a68c252693804541 Mon Sep 17 00:00:00 2001
 From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
 Date: Tue, 21 Apr 2009 19:56:11 +0000
-Subject: [PATCH 1/1] net: Fix -net socket,listen (Jan Kiszka)
+Subject: [PATCH 15/18] net: Fix -net socket,listen (Jan Kiszka)
 
 In case no symbolic name is provided when requesting VLAN connection via
 listening TCP socket ('-net socket,listen=...'), qemu crashes. This
 fixes the cause.
 
+(cherry picked from commit ea053add700d8abe203cd79a9ffb082aee4eabc0)
+
 Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
 Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
-
-
-git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7196 c046a42c-6fe2-441c-8c8c-71466251a162
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
 ---
  net.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/net.c b/net.c
-index 7a1b2df..ff6230c 100644
+index ef3a965..fee02b8 100644
 --- a/net.c
 +++ b/net.c
 @@ -1658,7 +1658,7 @@ static int net_socket_listen_init(VLANState *vlan,
@@ -30,5 +30,5 @@ index 7a1b2df..ff6230c 100644
      qemu_set_fd_handler(fd, net_socket_accept, NULL, s);
      return 0;
 -- 
-1.6.0.6
+1.6.2.2
 

qemu-kvm-fix-kerneldir-includes.patch:

Index: qemu-kvm-fix-kerneldir-includes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-kvm-fix-kerneldir-includes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- qemu-kvm-fix-kerneldir-includes.patch	13 May 2009 08:35:55 -0000	1.1
+++ qemu-kvm-fix-kerneldir-includes.patch	24 Jun 2009 16:43:44 -0000	1.2
@@ -1,7 +1,7 @@
-From cff8aa984290fc74c39f39e17fbca0f0feab6bc4 Mon Sep 17 00:00:00 2001
+From 3b56420544e3b40486d7dc0f8823c20af72256e3 Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc at redhat.com>
-Date: Wed, 13 May 2009 09:29:56 +0100
-Subject: [PATCH] kvm: user: include arch specific headers from $(KERNELDIR)
+Date: Wed, 24 Jun 2009 14:34:36 +0100
+Subject: [PATCH 14/18] kvm: user: include arch specific headers from $(KERNELDIR)
 
 Currently we only include $(KERNELDIR)/include in CFLAGS,
 but we also have $(KERNELDIR)/arch/$(arch)/include or else
@@ -76,5 +76,5 @@ index b50b540..d88f54c 100644
  tests = $(TEST_DIR)/access.flat $(TEST_DIR)/irq.flat $(TEST_DIR)/sieve.flat \
        $(TEST_DIR)/simple.flat $(TEST_DIR)/stringio.flat \
 -- 
-1.6.0.6
+1.6.2.2
 

qemu-ppc-on-ppc.patch:

Index: qemu-ppc-on-ppc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-ppc-on-ppc.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- qemu-ppc-on-ppc.patch	17 Jun 2009 12:02:48 -0000	1.1
+++ qemu-ppc-on-ppc.patch	24 Jun 2009 16:43:44 -0000	1.2
@@ -1,7 +1,7 @@
-From d19076faca944c31bb051b95d285e75ec67902f7 Mon Sep 17 00:00:00 2001
+From 739f7adcf6eeb8486e60fabc7816fff75fac63f9 Mon Sep 17 00:00:00 2001
 From: malc <malc at c046a42c-6fe2-441c-8c8c-71466251a162>
 Date: Thu, 2 Apr 2009 01:16:39 +0000
-Subject: [PATCH 1/1] Temporary workaround for ppc on ppc
+Subject: [PATCH 18/18] Temporary workaround for ppc on ppc
 
 target-ppc/translate.c puts values of type opcode_t into .opcodes
 section, using GCC extension to do so, and hoping that this will make
@@ -13,13 +13,15 @@ certain platforms (gcc 4.3.0, -O and PPC
 The workaround consists of adding -fno-unit-at-a-time to the list of
 GCC command line options while building PPC translate.o on a PPC.
 
-git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6967 c046a42c-6fe2-441c-8c8c-71466251a162
+(cherry picked from commit d19076faca944c31bb051b95d285e75ec67902f7)
+
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
 ---
  Makefile.target |    4 ++++
  1 files changed, 4 insertions(+), 0 deletions(-)
 
 diff --git a/Makefile.target b/Makefile.target
-index 046427d..e855dc3 100644
+index e2e23bf..7e18719 100644
 --- a/Makefile.target
 +++ b/Makefile.target
 @@ -91,6 +91,10 @@ ifeq ($(ARCH),i386)
@@ -34,5 +36,5 @@ index 046427d..e855dc3 100644
    CFLAGS+=-ffixed-g2 -ffixed-g3
    ifneq ($(CONFIG_SOLARIS),yes)
 -- 
-1.6.0.6
+1.6.2.2
 

qemu-prevent-cdrom-media-eject-while-device-is-locked.patch:

Index: qemu-prevent-cdrom-media-eject-while-device-is-locked.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-prevent-cdrom-media-eject-while-device-is-locked.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- qemu-prevent-cdrom-media-eject-while-device-is-locked.patch	3 Jun 2009 15:04:28 -0000	1.1
+++ qemu-prevent-cdrom-media-eject-while-device-is-locked.patch	24 Jun 2009 16:43:44 -0000	1.2
@@ -1,5 +1,7 @@
+From 1941d978942be058aab8df4fafe3a5a444ee17c8 Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc at redhat.com>
-Subject: [PATCH] Prevent CD-ROM media eject while device is locked
+Date: Wed, 27 May 2009 10:06:11 +0100
+Subject: [PATCH 16/18] Prevent CD-ROM media eject while device is locked
 
 Section 10.8.25 ("START/STOP UNIT Command") of SFF-8020i states that
 if the device is locked we should refuse to eject if the device is
@@ -13,7 +15,10 @@ if the drive has been previously locked.
 
 See also https://bugzilla.redhat.com/501412
 
+(cherry picked from commit aea2a33c73f28ecd8f10b242ecadddcc79c1c28b)
+
 Signed-off-by: Mark McLoughlin <markmc at redhat.com>
+Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
 ---
  block.c  |    9 ++++++++-
  block.h  |    2 +-

qemu-roms-more-room-fix-vga-align.patch:

Index: qemu-roms-more-room-fix-vga-align.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-roms-more-room-fix-vga-align.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- qemu-roms-more-room-fix-vga-align.patch	31 May 2009 14:42:34 -0000	1.3
+++ qemu-roms-more-room-fix-vga-align.patch	24 Jun 2009 16:43:44 -0000	1.4
@@ -1,5 +1,7 @@
+From 803934e62dc6394df92ef08fc8df9e49c0c834e7 Mon Sep 17 00:00:00 2001
 From: Glauber Costa <glommer at redhat.com>
-Subject: [PATCH] align vga rom to 4k boundary.
+Date: Wed, 24 Jun 2009 14:28:30 +0100
+Subject: [PATCH 12/18] align vga rom to 4k boundary.
 
 Instead of aligning to 2k boundary, as required by the bios,
 align to 4k boundary, as required by kvm memory functions. Without
@@ -14,14 +16,15 @@ It does not fail with cirrus vga, becaus
 This problem does not seem to affect upstream qemu.
 
 Signed-off-by: Glauber Costa <glommer at redhat.com>
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
 ---
- qemu/hw/pc.c |    2 +-
+ hw/pc.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
-Index: qemu-kvm-0.10.5/hw/pc.c
-===================================================================
---- qemu-kvm-0.10.5.orig/hw/pc.c
-+++ qemu-kvm-0.10.5/hw/pc.c
+diff --git a/hw/pc.c b/hw/pc.c
+index 413da6f..fb6edf4 100644
+--- a/hw/pc.c
++++ b/hw/pc.c
 @@ -925,7 +925,7 @@ vga_bios_error:
              exit(1);
          }
@@ -31,3 +34,6 @@ Index: qemu-kvm-0.10.5/hw/pc.c
  	option_rom_start = 0xc0000 + vga_bios_size;
  
          /* setup basic memory access */
+-- 
+1.6.2.2
+

qemu-roms-more-room.patch:

Index: qemu-roms-more-room.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu-roms-more-room.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- qemu-roms-more-room.patch	17 Jun 2009 13:03:00 -0000	1.6
+++ qemu-roms-more-room.patch	24 Jun 2009 16:43:44 -0000	1.7
@@ -1,7 +1,7 @@
-From 34b39c2ba6cc08239a707b52bfb2886df2aa8dec Mon Sep 17 00:00:00 2001
+From 0a61b11b0e5e5a39598e7edc900ba272fd407877 Mon Sep 17 00:00:00 2001
 From: aliguori <aliguori at c046a42c-6fe2-441c-8c8c-71466251a162>
 Date: Sat, 28 Mar 2009 17:28:45 +0000
-Subject: [PATCH] get roms more room. (Glauber Costa)
+Subject: [PATCH 11/18] get roms more room. (Glauber Costa)
 
 This patch increases by 50 % the size available for option roms.
 The main motivator is that some roms grew bigger than the 64k we
@@ -22,19 +22,20 @@ urgent need to do it.
 
 [ fix case for vgabioses smaller than 30k, by Carl-Daniel Hailfinger ]
 
+(cherry picked from commit 34b39c2ba6cc08239a707b52bfb2886df2aa8dec)
+
 Signed-off-by: Glauber Costa <glommer at redhat.com>
 Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
-
-
-git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6896 c046a42c-6fe2-441c-8c8c-71466251a162
+Signed-off-by: Mark McLoughlin <markmc at redhat.com>
 ---
- hw/pc.c |   29 +++++++++++++++++++----------
- 1 files changed, 19 insertions(+), 10 deletions(-)
+ hw/pc.c |   33 +++++++++++++++++++++------------
+ 1 files changed, 21 insertions(+), 12 deletions(-)
 
-diff -up qemu-kvm-0.10.5/hw/pc.c.roms-more-room qemu-kvm-0.10.5/hw/pc.c
---- qemu-kvm-0.10.5/hw/pc.c.roms-more-room	2009-06-17 12:54:43.000000000 +0100
-+++ qemu-kvm-0.10.5/hw/pc.c	2009-06-17 12:55:43.000000000 +0100
-@@ -818,7 +818,7 @@ static void pc_init1(ram_addr_t ram_size
+diff --git a/hw/pc.c b/hw/pc.c
+index 1b8d47a..413da6f 100644
+--- a/hw/pc.c
++++ b/hw/pc.c
+@@ -818,7 +818,7 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size,
  {
      char buf[1024];
      int ret, linux_boot, i;
@@ -43,7 +44,7 @@ diff -up qemu-kvm-0.10.5/hw/pc.c.roms-mo
      ram_addr_t below_4g_mem_size, above_4g_mem_size = 0;
      int bios_size, isa_bios_size, vga_bios_size;
      int pci_option_rom_offset;
-@@ -830,6 +830,7 @@ static void pc_init1(ram_addr_t ram_size
+@@ -830,6 +830,7 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size,
      int index;
      BlockDriverState *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
      BlockDriverState *fd[MAX_FD];
@@ -51,7 +52,7 @@ diff -up qemu-kvm-0.10.5/hw/pc.c.roms-mo
  
      if (ram_size >= 0xe0000000 ) {
          above_4g_mem_size = ram_size - 0xe0000000;
-@@ -905,7 +906,7 @@ static void pc_init1(ram_addr_t ram_size
+@@ -905,7 +906,7 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size,
          exit(1);
      }
  
@@ -130,3 +131,6 @@ diff -up qemu-kvm-0.10.5/hw/pc.c.roms-mo
              offset += size;
          }
          pci_option_rom_offset = offset;
+-- 
+1.6.2.2
+


--- qemu-fix-x86-feature-modifications-for-features-that-set.patch DELETED ---


--- qemu-make-x86-cpuid-feature-names-available-in-file-scope.patch DELETED ---




More information about the Fedora-virt-maint mailing list