xemu/ui
Daniel P. Berrange 1366108981 Introduce a 'client_add' monitor command accepting an open FD
Allow client connections for VNC and socket based character
devices to be passed in over the monitor using SCM_RIGHTS.

One intended usage scenario is to start QEMU with VNC on a
UNIX domain socket. An unprivileged user which cannot access
the UNIX domain socket, can then connect to QEMU's VNC server
by passing an open FD to libvirt, which passes it onto QEMU.

 { "execute": "get_fd", "arguments": { "fdname": "myclient" } }
 { "return": {} }
 { "execute": "add_client", "arguments": { "protocol": "vnc",
                                           "fdname": "myclient",
                                           "skipauth": true } }
 { "return": {} }

In this case 'protocol' can be 'vnc' or 'spice', or the name
of a character device (eg from -chardev id=XXXX)

The 'skipauth' parameter can be used to skip any configured
VNC authentication scheme, which is useful if the mgmt layer
talking to the monitor has already authenticated the client
in another way.

* console.h: Define 'vnc_display_add_client' method
* monitor.c: Implement 'client_add' command
* qemu-char.c, qemu-char.h: Add 'qemu_char_add_client' method
* qerror.c, qerror.h: Add QERR_ADD_CLIENT_FAILED
* qmp-commands.hx: Declare 'client_add' command
* ui/vnc.c: Implement 'vnc_display_add_client' method

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-07-23 11:19:02 -05:00
..
cocoa.m cocoa: Avoid warning related to multiple handleEvent: definitions 2011-06-14 03:08:58 +02:00
curses.c Fix compilation warning due to missing header for sigaction (followup) 2011-06-08 09:04:29 +01:00
curses_keys.h curses: Fix control-{@[\]^_} and ESC 2010-10-21 18:31:28 +02:00
d3des.c ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
d3des.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
keymaps.c ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
keymaps.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
qemu-spice.h qemu-char: Print strerror message on failure 2011-07-23 11:18:57 -05:00
sdl.c Fix compilation warning due to missing header for sigaction (followup) 2011-06-08 09:04:29 +01:00
sdl_keysym.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
sdl_zoom.c ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
sdl_zoom.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
sdl_zoom_template.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
spice-core.c spice: add sanity check for spice ports 2011-07-20 10:08:53 +02:00
spice-display.c qxl: set mm_time in vga update 2011-07-04 15:35:12 +02:00
spice-display.h spice: don't call displaystate callbacks from spice server context. 2011-05-03 15:35:48 +02:00
spice-input.c spice: add tablet support 2010-09-21 18:36:43 +02:00
vnc-auth-sasl.c Store VNC auth scheme per-client as well as per-server 2011-07-23 11:19:02 -05:00
vnc-auth-sasl.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
vnc-auth-vencrypt.c Store VNC auth scheme per-client as well as per-server 2011-07-23 11:19:02 -05:00
vnc-auth-vencrypt.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
vnc-enc-hextile-template.h vnc: rename vnc-encoding-* vnc-enc-* 2010-07-26 17:36:13 -05:00
vnc-enc-hextile.c vnc: encapsulate encoding members 2010-07-26 17:36:14 -05:00
vnc-enc-tight.c vnc: Fix compilation with --enable-vnc-png 2011-06-27 10:21:34 -05:00
vnc-enc-tight.h vnc: tight add PNG encoding 2010-07-26 17:36:14 -05:00
vnc-enc-zlib.c vnc: tight: Fix crash after 2GB of output 2011-04-10 00:14:51 +02:00
vnc-enc-zrle-template.c vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zrle.c vnc: fix uint8_t comparisons with negative values 2011-02-23 16:28:28 -06:00
vnc-enc-zrle.h vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zywrle-template.c vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zywrle.h vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-jobs-async.c Refactor thread retrieval and check 2011-03-13 14:44:21 +00:00
vnc-jobs-sync.c vnc: threaded VNC server 2010-07-26 17:36:14 -05:00
vnc-jobs.h vnc: threaded VNC server 2010-07-26 17:36:14 -05:00
vnc-palette.c severe memory leak caused by broken palette_destroy() function 2011-03-25 07:28:24 -05:00
vnc-palette.h vnc: palette: and fill and color calls. 2011-02-23 16:28:28 -06:00
vnc-tls.c ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
vnc-tls.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
vnc.c Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
vnc.h Store VNC auth scheme per-client as well as per-server 2011-07-23 11:19:02 -05:00
vnc_keysym.h vnc: added missing name->keysym pairs for Polish national characters 2011-04-01 22:29:27 +02:00
x_keymap.c ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
x_keymap.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00