Statistics
| Branch: | Revision:

root / vnc.c @ 72249e34

History | View | Annotate | Download (67.9 kB)

# Date Author Comment
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...

452b4d88 02/11/2009 11:00 pm aliguori

monitor: Don't change VNC server when disabled (Jan Kiszka)

[ As requested, broken out of the monitor rework series. ]

Avoid a segfault when the user issues 'change vnc' without having vnc
enabled on startup.

Signed-off-by: Jan Kiszka <>...

1eec614b 02/06/2009 12:06 am aliguori

toplevel: remove error handling from qemu_malloc() callers (Avi Kivity)

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6531 c046a42c-6fe2-441c-8c8c-71466251a162

059cef40 02/02/2009 05:58 pm aliguori

Add zlib encoding support (Alexander Graf)

This patch adds zlib encoding support for VNC. It basically runs
the raw traffic through zlib, providing a pretty good compression
ratio.

Signed-off-by: Alexander Graf <>
Signed-off-by: Anthony Liguori <>...

d2a0102a 02/02/2009 05:58 pm aliguori

Move the framebuffer update package out (Alexander Graf)

Currently the send_framebuffer_update_raw and send_framebuffer_update_hextile
respectively send a send_framebuffer_update packet themselves. We need to reuse
send_framebuffer_update_raw for zlib encoding though, so let's move it out....

89064286 02/02/2009 05:58 pm aliguori

Move buffer functions up (Alexander Graf)

We will need to use buffer functions in code that will end up being
below the current buffer functions. In order to not introduce any
function stub defines, let's just move them up.

Signed-off-by: Alexander Graf <>...

fb437313 02/02/2009 05:58 pm aliguori

Add some tight awareness to vnc.c (Alexander Graf)

This patch enables the vnc server to understand fundamental tight extensions.
It changes from a "Hextile or not" scheme when sending framebuffer updates to
a "preferred encoding", namely the last one set....

26f8b9cc 02/02/2009 05:58 pm aliguori

Fix invalid #if in vnc.c when debugging is enabled (Alexander Graf)

While running with debugging enabled, I found an #if testing for
an undefined value, not defined(value). This patch fixes that.

Signed-off-by: Alexander Graf <>
Signed-off-by: Anthony Liguori <>...

29fa4ed9 02/02/2009 05:58 pm aliguori

Use VNC protocol defines (Alexander Graf)

Now that we have nice defines for all sorts of constants, let's
use them!

This patch also takes the "feature variables", currently called has_*
into a single feature int. This way adding new features is a lot
easier and doesn't clutter the VncState struct....

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

90a1e3c0 01/26/2009 05:37 pm aliguori

vnc fixes and improvements (Stefano Stabellini)

this patch fixes a bug and improves the generic pixel conversion
function in vnc.c.
The bug is that when a new vnc client connects we need to reset the flag
has_WMVi but currently we don't.
The generic pixel conversion function is vnc_convert_pixel and currently...

6cec5487 01/16/2009 12:17 am aliguori

exploiting the new interface in vnc.c (Stefano Stabellini)

This patch exploits the new DisplaySurface and PixelFormat structures in
vnc, making the code easier to read allowing further improvements.

Compared to the last version I fixed a bug that prevented the hextile...

7d957bd8 01/16/2009 12:14 am aliguori

DisplayState interface change (Stefano Stabellini)

This patch changes the DisplayState interface adding support for
multiple frontends at the same time (sdl and vnc) and implements most
of the benefit of the shared_buf patch without the added complexity....

bc575e95 01/14/2009 08:34 pm blueswir1

Fix some more warnings

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6300 c046a42c-6fe2-441c-8c8c-71466251a162

69dd5c9f 12/22/2008 11:06 pm aliguori

Properly handle the case of SetPixelEncodings with a length of zero.

This commit addresses CORE-2008-1210/CVE-2008-2382.

Signed-off-by: Anthony Liguori <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6121 c046a42c-6fe2-441c-8c8c-71466251a162

13412c9d 12/13/2008 08:57 pm aurel32

vnc: Fix crash on 'info vnc' after 'change vnc none'

vnc_state->display is set to NULL after "change vnc none" but vnc_state itself
is still valid.

(James Ko)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6010 c046a42c-6fe2-441c-8c8c-71466251a162

1ea879e5 12/04/2008 12:48 am malc

Make audio violate POSIX less

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5864 c046a42c-6fe2-441c-8c8c-71466251a162

4a55bfdf 12/02/2008 10:02 pm aliguori

Exclude unix: from vnc call to unix_listen() (Ryan Harper)

When using an existing unix socket like:

-vnc unix:/tmp/file1Y2nY2

qemu fails to bind a unix socket because the vnc call to unix_listen includes
the unix: prefix and stores that in the unix.sun_path. The fix is to not pass...

53762ddb 12/01/2008 10:57 pm malc

Reset the key modifiers upon client connect

VNC should not maintain modifer state upon reconnects With some window
managers/vnc clients it will only see a key down event for a modifier
followed by immediate disconnect(think Alt-F4), with a net effect of
subsequently connected clients operating as if the modifier was never...

429a8ed3 12/01/2008 10:57 pm malc

Add basic audio functionality to vnc.c

This allows among other things to capturing A/V of running
guests. Ad-hoc client that does this (via script that invokes ffmpeg)
can be found at:
http://repo.or.cz/w/qemu/malc.git?a=tree;f=vcap;hb=capture3

Thanks to Anthony Liguori for comments and review....

d0513623 12/01/2008 03:48 am balrog

Don't try to select on an invalid VNC socket when init fails.

Otherwise we get a segfault.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5840 c046a42c-6fe2-441c-8c8c-71466251a162

0e1f5a0c 11/24/2008 09:29 pm aliguori

Introduce accessors for DisplayState (Stefano Stabellini)

Introducing some accessors:

ds_get_linesize
ds_get_bits_per_pixel
ds_get_width
ds_get_height
ds_get_data

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

be351261 11/12/2008 06:50 pm balrog

r5531 made x509 certs not loadable (original patch from Henrik Holst).

The patch in r5531 which replaced a bunch of strncpy with pstrcpy causes
the x509 credentials from the -vnc parameter to be one character shorter
than entered meaning that there is currently no way to enter x509...

9712ecaf 11/11/2008 10:51 pm aliguori

sockets: switch vnc to new code, support vnc port auto-allocation (Gerd Hoffman)

This patch switches the vnc code ofer to the new socket helper
functions.

It adds support IPv6 support and for automatically allocating an unused
vnc display port. The latter is handled ising a to= option, specifying...

be15b141 10/25/2008 02:21 pm blueswir1

Replace uses of strncpy (a GNU extension) with Qemu pstrcpy

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5531 c046a42c-6fe2-441c-8c8c-71466251a162

234c9bcd 09/24/2008 06:17 pm ths

Fix compiler warning when _VNC_DEBUG isn't defined.

Signed-off-by: Thiemo Seufer <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5312 c046a42c-6fe2-441c-8c8c-71466251a162

ca4cca4d 09/15/2008 07:05 pm aliguori

WMVi extension support (Stefano Stabellini)

Signed-off-by: Stefano Stabellini <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5230 c046a42c-6fe2-441c-8c8c-71466251a162

7eac3a87 09/15/2008 07:03 pm aliguori

vnc dynamic resolution (Stefano Stabellini)

Signed-off-by: Stefano Stabellini <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5229 c046a42c-6fe2-441c-8c8c-71466251a162

eb38c52c 09/06/2008 08:47 pm blueswir1

Fix most warnings that would be caused by gcc flag -Wundef

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5173 c046a42c-6fe2-441c-8c8c-71466251a162

5bfd5521 09/06/2008 07:31 pm aurel32

Some little fixes on QEMU

- some vectors can be declared as "const"
- test on CONFIG_VNC_TLS is done for two times while just one is enough.

(Carlo Bramini)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5172 c046a42c-6fe2-441c-8c8c-71466251a162

9ca313aa 08/24/2008 02:27 am aliguori

VNC: Support for ExtendedKeyEvent client message

This patch adds support for the ExtendedKeyEvent client message. This message
allows a client to send raw scan codes directly to the server. If the client
and server are using the same keymap, then it's unnecessary to use the '-k'...

bcfad70f 08/21/2008 11:08 pm aliguori

add DisplayState->idle (Samuel Thibault)

Add idle field to DisplayState struct, so drivers can figure
the display is idle and take advantage of that.

The xen framebuffer driver will use this to communicate the
idle state to the guest, so it knows it can stop doing updates...

2137b4cc 08/06/2008 11:37 am ths

Add qemu_realloc(), by Gerd Hoffmann.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4986 c046a42c-6fe2-441c-8c8c-71466251a162

b94eb43f 06/02/2008 04:40 am balrog

Don't forget to save VNC FB dimensions after resize (Brad Campbell).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4644 c046a42c-6fe2-441c-8c8c-71466251a162

731dd637 05/25/2008 03:38 am balrog

Fix VNC update regoin height.

'h' actually is the coordinate of bottom of the rectangle and not height.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4571 c046a42c-6fe2-441c-8c8c-71466251a162

8bba5c81 05/25/2008 03:14 am balrog

Invalidate VNC framebuffer on every resize.

On a resize, vncviewer keeps the image in the upper-left part of the screen
unmodified and fills the right end of the lines with black colour. vnc.c keeps the first n bytes of the framebuffer unmodified instead - meaning that...

788abf8e 05/20/2008 03:07 am balrog

Prevent SEGV in VNC server for old clients (Anthony Liguori).

If the client does not support the DesktopResize pseudo-encoding, then
vs->{width,height} may be smaller than ds->{width,height}. dirty_row is
sized according to vs->{width,height}, not ds->{width,height}....

ea01e5fd 04/25/2008 02:40 am balrog

Fix spurious VNC disconnects on Win32 (Hervé Poussineau).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4251 c046a42c-6fe2-441c-8c8c-71466251a162

b94ed577 03/10/2008 09:34 pm aurel32

Let the USB tablet reach the far bottom and right pixels

(Samuel Thibault)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4036 c046a42c-6fe2-441c-8c8c-71466251a162

4d3b6f6e 02/10/2008 06:33 pm balrog

Add an ncurses UI.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3976 c046a42c-6fe2-441c-8c8c-71466251a162

3aa3eea3 02/03/2008 04:54 am balrog

Add VNC reverse connections, by Eddie Kohler.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3951 c046a42c-6fe2-441c-8c8c-71466251a162

9f60ad50 01/14/2008 11:45 pm balrog

Add a missing vga_hw_update() when accepting a connection (Anders Melchiorsen).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3919 c046a42c-6fe2-441c-8c8c-71466251a162

a0ecfb73 01/14/2008 01:51 am balrog

Reduce redundant timer ticks in VNC, by Anders Melchiorsen.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3904 c046a42c-6fe2-441c-8c8c-71466251a162

60fe76f3 12/16/2007 05:02 am ths

Fix wrong signedness, by Andre Przywara.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3815 c046a42c-6fe2-441c-8c8c-71466251a162

0486e8a7 12/12/2007 12:31 am balrog

Fix fragments due to incomplete dirty tracking in CGA mode (Anthony Liguori).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3809 c046a42c-6fe2-441c-8c8c-71466251a162

9596ebb7 11/18/2007 03:44 am pbrook

Add statics and missing #includes for prototypes.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3683 c046a42c-6fe2-441c-8c8c-71466251a162

87ecb68b 11/17/2007 07:14 pm pbrook

Break up vl.h.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3674 c046a42c-6fe2-441c-8c8c-71466251a162

a26c97ad 10/31/2007 03:58 am balrog

Handle 3.7 VNC clients authentication correctly (Dan Kenigsberg).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3498 c046a42c-6fe2-441c-8c8c-71466251a162

a528b80c 10/31/2007 12:38 am balrog

Miscellaneous VNC related fixes from Xen forwarded by Matthew Kent.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3489 c046a42c-6fe2-441c-8c8c-71466251a162

b0566f4f 09/30/2007 04:01 pm ths

Support UltraVNC clients, by Eduardo Felipe.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3288 c046a42c-6fe2-441c-8c8c-71466251a162

3b46e624 09/17/2007 11:09 am ths

find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162

5fafdf24 09/17/2007 12:08 am ths

find -type f | xargs sed -i 's/[\t ]$//g' # on most files

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162

baa7666c 09/13/2007 03:41 pm ths

Fix infinite loop in VNC support, by Marc Bevand.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3169 c046a42c-6fe2-441c-8c8c-71466251a162

6f43024c 08/25/2007 04:39 am ths

Custom location for x509 cert paths, by Daniel P. Berrange.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3139 c046a42c-6fe2-441c-8c8c-71466251a162

469b15c6 08/25/2007 04:39 am ths

x509 client certificate verification, by Daniel P. Berrange.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3138 c046a42c-6fe2-441c-8c8c-71466251a162

3a702699 08/25/2007 04:38 am ths

x509 certificate for server, by Daniel P. Berrange.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3137 c046a42c-6fe2-441c-8c8c-71466251a162

8d5d2d4c 08/25/2007 04:37 am ths

VeNCrypt basic TLS support, by Daniel P. Berrange.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3136 c046a42c-6fe2-441c-8c8c-71466251a162

70848515 08/25/2007 04:37 am ths

VNC password authentication, by Daniel P. Berrange.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3135 c046a42c-6fe2-441c-8c8c-71466251a162

e25a5822 08/25/2007 04:36 am ths

Extend monitor 'change' command for VNC, by Daniel P. Berrange.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3134 c046a42c-6fe2-441c-8c8c-71466251a162

71cab5ca 08/25/2007 04:35 am ths

Refactor VNC server setup API, by Daniel P. Berrange.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3133 c046a42c-6fe2-441c-8c8c-71466251a162

cf2d385c 04/29/2007 04:53 am ths

Crop VNC update requests to avoid segfaults, by Thomas Tuttle.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2741 c046a42c-6fe2-441c-8c8c-71466251a162

c35734b2 03/19/2007 05:17 pm ths

Add -name option, by Anthony Liguori.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2505 c046a42c-6fe2-441c-8c8c-71466251a162

a9ce8590 02/05/2007 10:20 pm bellard

info vnc command (Anthony Liguori)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2391 c046a42c-6fe2-441c-8c8c-71466251a162

564c337e 02/05/2007 10:14 pm bellard

Mouse relative offset VNC extension (Anthony Liguori)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2390 c046a42c-6fe2-441c-8c8c-71466251a162

73fc9742 12/22/2006 04:09 am ths

Unix domain socket support for VNC, by Anthony Liguori.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2260 c046a42c-6fe2-441c-8c8c-71466251a162

73e14b62 12/14/2006 03:36 pm ths

Reduce VNC resize traffic, thanks Eduardo Felipe.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2245 c046a42c-6fe2-441c-8c8c-71466251a162

64f5a135 08/24/2006 11:36 pm bellard

signed fixes - VNC console switch (initial patch by Andrzej Zaborowski)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2137 c046a42c-6fe2-441c-8c8c-71466251a162

99589bdc 06/13/2006 07:35 pm bellard

support for higher resolutions

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1956 c046a42c-6fe2-441c-8c8c-71466251a162

3512779a 05/14/2006 09:11 pm bellard

support for all VNC pixel formats

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1923 c046a42c-6fe2-441c-8c8c-71466251a162

ceb5caaf 05/04/2006 12:18 am bellard

removed ssize_t for win32 compatibility

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1900 c046a42c-6fe2-441c-8c8c-71466251a162

bdbd7676 05/02/2006 12:44 am bellard

uppercase fix (Anthony Liguori)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1889 c046a42c-6fe2-441c-8c8c-71466251a162

7d510b8c 05/01/2006 01:38 pm bellard

copyright

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1878 c046a42c-6fe2-441c-8c8c-71466251a162

6ca957f0 05/01/2006 01:53 am bellard

win32 socket fixes

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1876 c046a42c-6fe2-441c-8c8c-71466251a162

24236869 05/01/2006 12:28 am bellard

VNC server (Anthony Liguori)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1869 c046a42c-6fe2-441c-8c8c-71466251a162