Statistics
| Branch: | Revision:

root / vnc.h @ 8135aeed

History | View | Annotate | Download (13.1 kB)

# Date Author Comment
5862d195 06/01/2010 09:30 pm Gerd Hoffmann

vnc: keep track of client desktop size

Add two new variables to keep track of the vnc clients desktop size.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

b05ad290 06/01/2010 08:53 pm Corentin Chary

vnc: only use a single zlib stream

According to http://tigervnc.org/cgi-bin/rfbproto#zlib-encoding
zlib encoding only uses a single stream. Current implementation defines
4 streams but only uses the first one. Remove them and only use a single
stream.

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

9f643ec0 06/01/2010 08:53 pm Corentin Chary

vnc: adjust compression zstream level

Adjust zlib compression level if needed by calling deflateParams.

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

78c98c78 06/01/2010 08:53 pm Corentin Chary

vnc: don't clear zlib stream on set_encoding

On init, values are already NULL, but we shouldn't try
to reset them each time a client send a set encoding
command because this break everything. For example,
libvncclient re-send a set encoding command if the...

5d418e3b 06/01/2010 08:53 pm Corentin Chary

vnc: add buffer_free()

Add a buffer_free() helper to free vnc buffers and
remove some duplicated code in vnc_disconnect_finish().

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

161c4f20 06/01/2010 08:53 pm Corentin Chary

vnc: remove a memory leak in zlib

Makes sure we free all ressources used in zlib encoding (zlib stream
and buffer).

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

a885211e 06/01/2010 08:53 pm Corentin Chary

vnc: return the number of rectangles

Some encodings like tight supports tiling (spliting in
multiple sub-rectangles). So we needed a way to tell
vnc_update_client() how much rectangles are in the buffer.

zlib, raw and hextile always send a full rectangle....

380282b0 06/01/2010 08:53 pm Corentin Chary

vnc: add basic tight support

Add support for tight encoding [1]. This patch only add support
for "basic" tight compression without any filter.

[1] http://tigervnc.org/cgi-bin/rfbproto#tight-encoding.

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

d467b679 05/24/2010 11:18 pm Gerd Hoffmann

vnc: rich cursor support.

Uses VNC_ENCODING_RICH_CURSOR. Adding XCURSOR support should be
possible without much trouble. Shouldn't be needed though as
RICH_CURSOR is a superset of XCURSOR.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

70a4568f 05/03/2010 08:09 pm Corentin Chary

vnc: split encoding in specific files

This will allow to implement new encodings (tight, zrle, ..)
in a cleaner way. This may hurt performances, because some
functions like vnc_convert_pixel are not static anymore, but
should not be a problem with gcc 4.5 and the new -flto....

46a183da 04/09/2010 10:59 pm Daniel P. Berrange

Remove magic numbers for VNC message IDs from code

The code processing incoming & sending outgoing messages from/to
clients used embedded magic numbers for all message IDs. This
made the code a little hard to follow. Add constants in the vnc.h
header file for all message IDs and use them in the code...

37c34d9d 03/19/2010 10:27 pm Anthony Liguori

input: make vnc use mouse mode notifiers

When we switch to absolute mode, we send out a notification (if the client
supports it). Today, we only send this notification when the client sends us
a mouse event and we're in the wrong mode.

Signed-off-by: Anthony Liguori <>

3a0558b5 03/17/2010 06:16 pm Gerd Hoffmann

vnc: add no-lock-key-sync option

Add an option to disable the heuristics which try to keep
capslock and numlock state for guest and host in sync.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

7ffb82ca 03/09/2010 04:47 pm Gerd Hoffmann

kbd keds: vnc

Use led status notification support in vnc.

The qemu vnc server keeps track of the capslock and numlock states based
on the key presses it receives from the vnc client. But this fails in
case the guests idea of the capslock and numlock state changes for other...

3f54bfbf 02/10/2010 10:00 pm Brian Jackson

Increase VNC_MAX_WIDTH

Increase VNC_MAX_WIDTH to match "commonly available" consumer level monitors
available these days.

This also closes KVM bug 2907597

Signed-off-by: Brian Jackson <>
Signed-off-by: Anthony Liguori <>

41b4bef6 02/10/2010 08:45 pm Amit Shah

vnc: Migrate to using QTAILQ instead of custom implementation

Just a 1-1 conversion for now.

Signed-off-by: Amit Shah <>
Signed-off-by: Anthony Liguori <>

4a80dba3 01/20/2010 12:31 am Luiz Capitulino

VNC: Cache client info at connection time

When a disconnection happens the client's socket on QEMU
side may become invalid, this way it won't be possible
to query it to get client information, which is going to
be needed by the future QMP VNC_DISCONNECTED event....

c227f099 10/02/2009 12:12 am Anthony Liguori

Revert "Get rid of _t suffix"

In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem. Something
like this must be presented on the list first so people can provide input...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time
being.

Signed-off-by: malc <>

2430ffe4 08/10/2009 09:05 pm Stefano Stabellini

variable timer intervals

This patch introduces dynamic timer intervals: we slow down the refresh
rate when there in no much activity but we get back to a fast refresh
rate when the activity resume.

Please note that qemu_timer_expired is not an inline function any more...

703bc68f 08/10/2009 09:05 pm Stefano Stabellini

a single vnc timer to refresh the screen

This patch removes the timer per vnc client connected and adds a single
timer to update all the possible clients.
We call vga_hw_update only once in the timer handler.

Signed-off-by: Stefano Stabellini <>...

1fc62412 08/10/2009 09:05 pm Stefano Stabellini

single vnc server surface

This patch removes the server surface from VncState and adds a single
server surface to VncDisplay for all the possible clients connected.
Each client maintains a different dirty bitmap in VncState.
The guest surface is moved to VncDisplay as well because we don't need...

c522d0e2 03/20/2009 05:59 pm aliguori

vnc: throttle screen updates. (Gerd Hoffmann)

This patch makes the vnc server code skip screen refreshes in case
there is data in the output buffer. This reduces the refresh rate to
throttle the bandwidth needed in case the network link is saturated.

Signed-off-by: Gerd Hoffmann <>...

6baebed7 03/20/2009 05:59 pm aliguori

vnc: cleanup surface handling, fix screen corruption bug. (Gerd Hoffmann)

This patch killes the old_data hack in the qemu server and replaces
it with a clean separation of the guest-visible display surface and
the vnc server display surface. Both guest and server surface have...

76655d6d 03/06/2009 10:27 pm aliguori

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...

2f9606b3 03/06/2009 10:27 pm aliguori

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...

5fb6c7a8 03/06/2009 10:27 pm aliguori

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....
19a490bf 03/06/2009 10:27 pm aliguori

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.
...

753b4053 02/16/2009 04:59 pm aliguori

Support multiple VNC clients (Brian Kress)

Change structure associated with a display from VncState to a new structure
VncDisplay. Remove client specific fields from VncDisplay. Remove display
specific fields from VncState. Maintain a linked list of VncStates per...

e06679fb 02/02/2009 05:58 pm aliguori

Split VNC defines to vnc.h (Alexander Graf)

The VNC protocol contains quite some constants, some of which are
currently hardcoded in the vnc.c code. This is not exactly pretty.

Let's move all those constants out to vnc.h, so they are clearly
separated. While at it, I also included other defines that will be...