[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
- Previous message (by thread): [fedora-virt-maint] rpms/libguestfs/F-11 .cvsignore, 1.20, 1.21 libguestfs.spec, 1.32, 1.33 sources, 1.20, 1.21
- Next message (by thread): [fedora-virt-maint] rpms/qemu/devel kvm-upstream-ppc.patch, 1.5, 1.6 qemu-bios-bigger-roms.patch, 1.3, 1.4 qemu.spec, 1.98, 1.99 sources, 1.16, 1.17 qemu-avoid-harmless-msr-warnings.patch, 1.2, NONE qemu-disable-preadv.patch, 1.3, NONE qemu-fix-arm-framebuffer-build.patch, 1.3, NONE qemu-fix-cpuid-trimming.patch, 1.2, NONE qemu-prevent-cdrom-media-eject-while-device-is-locked.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
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 ---
- Previous message (by thread): [fedora-virt-maint] rpms/libguestfs/F-11 .cvsignore, 1.20, 1.21 libguestfs.spec, 1.32, 1.33 sources, 1.20, 1.21
- Next message (by thread): [fedora-virt-maint] rpms/qemu/devel kvm-upstream-ppc.patch, 1.5, 1.6 qemu-bios-bigger-roms.patch, 1.3, 1.4 qemu.spec, 1.98, 1.99 sources, 1.16, 1.17 qemu-avoid-harmless-msr-warnings.patch, 1.2, NONE qemu-disable-preadv.patch, 1.3, NONE qemu-fix-arm-framebuffer-build.patch, 1.3, NONE qemu-fix-cpuid-trimming.patch, 1.2, NONE qemu-prevent-cdrom-media-eject-while-device-is-locked.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Fedora-virt-maint
mailing list