Statistics
| Branch: | Revision:

root / ui / vnc.h @ bd5c51ee

History | View | Annotate | Download (17.5 kB)

# Date Author Comment
0057a0d5 05/03/2013 08:04 pm Tim Hardeck

TLS support for VNC Websockets

Added TLS support to the VNC QEMU Websockets implementation.
VNC-TLS needs to be enabled for this feature to be used.

The required certificates are specified as in case of VNC-TLS
with the VNC parameter "x509=<path>".

If the server certificate isn't signed by a rooth authority it needs to...

ab99e5c1 04/29/2013 04:28 pm Lei Li

vnc: Support for LED state extension

Signed-off-by: Lei Li <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

0f7b2864 04/16/2013 10:03 am Gerd Hoffmann

console: gui timer fixes

Make gui update rate adaption code in gui_update() actually work.
Sprinkle in a tracepoint so you can see the code at work. Remove
the update rate adaption code in vnc and make vnc simply use the
generic bits instead.

Signed-off-by: Gerd Hoffmann <>

21ef45d7 03/18/2013 11:21 am Gerd Hoffmann

console: kill DisplayState->opaque

It's broken by design. There can be multiple DisplayChangeListener
instances, so they simply can't store state in the (single) DisplayState
struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn.

With DisplayChangeListenerOps having a more sane interface now we can...

d39fa6d8 03/18/2013 11:21 am Gerd Hoffmann

vnc: stop using DisplayState

Rework DisplayStateListener callbacks to not use the DisplayState
any more.

Signed-off-by: Gerd Hoffmann <>

32ed2680 01/21/2013 09:33 pm Tim Hardeck

vnc: added buffer_advance function

Following Anthony Liguori's Websocket implementation I have added the
buffer_advance function to VNC and replaced all related buffer memmove
operations with it.

Signed-off-by: Tim Hardeck <>
Reviewed-by: Anthony Liguori <>...

7536ee4b 01/21/2013 09:33 pm Tim Hardeck

vnc: added initial websocket protocol support

This patch adds basic Websocket Protocol version 13 - RFC 6455 - support
to QEMU VNC. Binary encoding support on the client side is mandatory.

Because of the GnuTLS requirement the Websockets implementation is...

6fd8e79a 01/21/2013 09:33 pm Tim Hardeck

vnc: fix possible uninitialized removals

Some VncState values are not initialized before the Websocket handshake.
If it fails QEMU segfaults during the cleanup. To prevent this behavior
intialization checks are added.

Signed-off-by: Tim Hardeck <>...

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

83c9089e 12/19/2012 09:31 am Paolo Bonzini

monitor: move include files to include/monitor/

Signed-off-by: Paolo Bonzini <>

28ecbaee 12/19/2012 09:31 am Paolo Bonzini

ui: move files to ui/ and include/ui/

Signed-off-by: Paolo Bonzini <>

ef84755e 11/03/2012 02:55 pm Blue Swirl

Merge branch 'trivial-patches' of git://github.com/stefanha/qemu

  • 'trivial-patches' of git://github.com/stefanha/qemu:
    pc: Drop redundant test for ROM memory region
    exec: make some functions static
    target-ppc: make some functions static
    ppc: add missing static...
71a8cdec 11/01/2012 08:49 pm Blue Swirl

vnc: add missing static

Add missing 'static' qualifiers.

Signed-off-by: Blue Swirl <>
Signed-off-by: Stefan Hajnoczi <>

9f64916d 11/01/2012 03:00 pm Gerd Hoffmann

pixman/vnc: use pixman images in vnc.

The vnc code uses three DisplaySurfaces:

First is the surface of the actual QemuConsole, usually the guest
screen, but could also be a text console (monitor/serial reachable via
Ctrl-Alt-<nr> keys). This is left as-is....

2624bab8 06/28/2012 12:27 am Daniel P. Berrange

Remove support for non-threaded VNC server

QEMU now has a fundamental requirement for pthreads, so there
is no compelling reason to retain support for the non-threaded
VNC server. Remove the --{enable,disable}-vnc-thread configure
arguments, and all CONFIG_VNC_THREAD conditionals...

175b2a6e 03/14/2012 11:22 pm Corentin Chary

vnc: don't mess up with iohandlers in the vnc thread

The threaded VNC servers messed up with QEMU fd handlers without
any kind of locking, and that can cause some nasty race conditions.

Using qemu_mutex_lock_iothread() won't work because vnc_dpy_cpy(),
which will wait for the current job queue to finish, can be called with...

8cf36489 02/10/2012 10:58 am Gerd Hoffmann

vnc: implement shared flag handling.

VNC clients send a shared flag in the client init message. Up to now
qemu completely ignores this. This patch implements shared flag
handling. It comes with three policies: By default qemu behaves as one
would expect: Asking for a exclusive access grants exclusive access to...

7e7e2ebc 07/23/2011 07:19 pm Daniel P. Berrange

Store VNC auth scheme per-client as well as per-server

A future patch will introduce a situation where different
clients may have different authentication schemes set.
When a new client arrives, copy the 'auth' and 'subauth'
fields from VncDisplay into the client's VncState, and...

23bfe28f 03/11/2011 12:12 am Stefan Weil

vnc: Fix stack corruption and other bitmap related bugs

Commit bc2429b9174ac2d3c56b7fd35884b0d89ec7fb02 introduced
a severe bug (stack corruption).

bitmap_clear was called with a wrong argument
which caused out-of-bound writes to the local variable width_mask....

bc2429b9 02/24/2011 12:28 am Corentin Chary

vnc: use the new generic bitmap functions

Switch to bitmap.h and bitops.h instead of redefining our own bitmap
helpers.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

80e0c8c3 02/24/2011 12:28 am Corentin Chary

vnc: add a non-adaptive option

This option allow to disable adaptive behaviors in some encodings.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

999342a0 02/24/2011 12:28 am Corentin Chary

vnc: add a way to get the update frequency for a given region

This patch compute the update frequency (in Hz) for each 64x64 rects.
Any adaptive encoding can get this value using vnc_update_freq(), and
switch to a lossy encoding if the value is too high....

7d964c9d 02/24/2011 12:28 am Corentin Chary

vnc: refresh lossy rect after a given timeout

If an adaptive encoding has choosen to send a lossy update
based on the result of vnc_update_freq(), then it should advertise
it with vnc_sent_lossy_rect(). This will allow to automatically refresh
this rect once it's static again....

148954fa 02/24/2011 12:28 am Corentin Chary

vnc: Add ZRLE and ZYWRLE encodings.

Add ZRLE [1] and ZYWRLE [2] encodings. The code is inspire^W stolen
from libvncserver (again), but have been rewriten to match QEMU coding
style.

[1] http://www.realvnc.com/docs/rfbproto.pdf
[2] http://micro-vnc.jp/research/remote_desktop_ng/ZYWRLE/publications/...

3c9405a0 12/09/2010 03:23 pm Gerd Hoffmann

vnc: support password expire

This patch adds support for expiring passwords to vnc. It adds a new
vnc_display_pw_expire() function which specifies the time when the
password will expire.

Signed-off-by: Gerd Hoffmann <>

efe556ad 07/27/2010 01:36 am Corentin Chary

vnc: tight add PNG encoding

Introduce a new encoding: VNC_ENCODING_TIGHT_PNG [1] (-269) with a new
tight filter VNC_TIGHT_PNG (0x0A). When the client tells it supports the Tight PNG
encoding, the server will use tight, but will always send encoding pixels using...

d1af0e05 07/27/2010 01:36 am Corentin Chary

vnc: encapsulate encoding members

This will allow to implement the threaded VNC server in a
more cleaner way.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

bd023f95 07/27/2010 01:36 am Corentin Chary

vnc: threaded VNC server

Implement a threaded VNC server using the producer-consumer model.
The main thread will push encoding jobs (a list a rectangles to update)
in a queue, and the VNC worker thread will consume that queue and send
framebuffer updates to the output buffer....

3e230dd2 07/27/2010 01:35 am Corentin Chary

ui: move all ui components in ui/

Move sdl, vnc, curses and cocoa UI into ui/ to cleanup
the root directory. Also remove some unnecessary explicit
targets from Makefile.

aliguori: fix build when srcdir != objdir

Signed-off-by: Corentin Chary <>...