# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1175009032 -3600
# Node ID 3375391fb0c901f4d3edb73c02a1169b6bd3d7b4
# Parent a9a39cc52e7499b7cc1712b8a23234dd2e7cbdb2
hvm: Remove access to QEMU monitor in VNC server
This fixes a RHEL5 errata and CVE-2007-0998.
The monitor is still accessible in debug builds of ioemu (debug=y).
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
---
tools/ioemu/Makefile.target | 4 ++++
tools/ioemu/vnc.c | 13 +++++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff -r a9a39cc52e74 -r 3375391fb0c9 tools/ioemu/Makefile.target
--- a/tools/ioemu/Makefile.target Tue Mar 27 16:19:25 2007 +0100
+++ b/tools/ioemu/Makefile.target Tue Mar 27 16:23:52 2007 +0100
@@ -193,6 +193,10 @@ LIBS+=-lsocket -lnsl -lresolv
LIBS+=-lsocket -lnsl -lresolv
endif
+ifeq ($(debug),y)
+CFLAGS += -DQEMU_VNC_MONITOR_EXPORT
+endif
+
# profiling code
ifdef TARGET_GPROF
LDFLAGS+=-p
diff -r a9a39cc52e74 -r 3375391fb0c9 tools/ioemu/vnc.c
--- a/tools/ioemu/vnc.c Tue Mar 27 16:19:25 2007 +0100
+++ b/tools/ioemu/vnc.c Tue Mar 27 16:23:52 2007 +0100
@@ -113,8 +113,10 @@ struct VncState
int visible_w;
int visible_h;
+#ifdef QEMU_VNC_MONITOR_EXPORT
int ctl_keys; /* Ctrl+Alt starts calibration */
int shift_keys; /* Shift / CapsLock keys */
+#endif
int numlock;
};
@@ -895,6 +897,7 @@ static void do_key_event(VncState *vs, i
kbd_put_keycode(keycode & 0x7f);
else
kbd_put_keycode(keycode | 0x80);
+#ifdef QEMU_VNC_MONITOR_EXPORT
} else if (down) {
int qemu_keysym = 0;
@@ -922,8 +925,10 @@ static void do_key_event(VncState *vs, i
}
if (qemu_keysym != 0)
kbd_put_keysym(qemu_keysym);
- }
-
+#endif
+ }
+
+#ifdef QEMU_VNC_MONITOR_EXPORT
if (down) {
switch (sym) {
case XK_Control_L:
@@ -976,6 +981,10 @@ static void do_key_event(VncState *vs, i
break;
}
}
+#else
+ if (!down && sym == XK_Num_Lock)
+ vs->numlock = !vs->numlock;
+#endif
}
static void key_event(VncState *vs, int down, uint32_t sym)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|