Statistics
| Branch: | Revision:

root / vnc.c @ f58ae59c

History | View | Annotate | Download (76.2 kB)

# Date Author Comment
637503d1 06/01/2010 09:48 pm Luiz Capitulino

Monitor: Drop QMP documentation from code

Previous commit added QMP documentation to the qemu-monitor.hx
file, it's is a copy of this information.

While it's good to keep it near code, maintaining two copies of
the same information is too hard and has little benefit as we...

847ce6a1 06/01/2010 09:31 pm Gerd Hoffmann

vnc: don't send invalid screen updates.

Don't send updates for screen areas which are outside the clients
desktop. May happed with vnc clients which don't support the desktop
resize message.

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

1d4b638a 06/01/2010 09:31 pm Gerd Hoffmann

vnc: move size-changed check into the vnc_desktop_resize function.

This make sure we send a desktop resize message only in case we actually
have to, using the new variables which track the clients desktop size.

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

621aaeb9 06/01/2010 09:30 pm Gerd Hoffmann

vnc: factor out vnc_desktop_resize()

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

6356e472 06/01/2010 09:30 pm Gerd Hoffmann

vnc: send desktopresize event as reply to set encodings

In case the desktop did resize while the vnc connection setup was still
in progress the client isn't informed about it. Send a desktop resize
event as soon as the client told us it can handle deskop resize via set...

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

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

Revert "vnc: set the right prefered encoding"

This patch was wrong, because the loop was already reversed,
so the first encoding was correctly set at the end of the loopp.

This reverts commit 14eb8b6829ad9dee7035de729e083844a425f274.

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

8a0f0d0c 06/01/2010 08:53 pm Corentin Chary

vnc: explain why set_encodings loop is reversed

Add a small comment to explain why we need to start from
the end of the array to set the right prefered encoding.

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

780a049e 06/01/2010 08:53 pm Corentin Chary

vnc: really call zlib if we want zlib

send_framebuffer_update() was calling hextile instead of zlib
since commit 70a4568fe0c5a64adaa3da5030b7109e5199e692.

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

14eb8b68 05/10/2010 07:36 pm Corentin Chary

vnc: set the right prefered encoding

message is a hint by the client as to its preference (the first
encoding specified being most preferred)"

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

0684bf1b 05/04/2010 04:44 pm Anthony Liguori

vnc: make sure to send pointer type change event on SetEncodings

Commit 37c34d9d5d87ea9d51760310c8863b82cb8c055a introduced a regression when
using relative mouse mode with a client that understands the PointerTypeChange
pseudo-encoding.

Reported-by: Marcelo Tosatti <>...

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

9678d950 04/25/2010 09:35 pm Blue Swirl

Remove dead assignments in various common files, spotted by clang analyzer

Value stored is never read.

Signed-off-by: Blue Swirl <>

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

cc39a92c 03/17/2010 05:42 pm Chris Webb

Fix SIGFPE for vnc display of width/height = 1

During boot, the screen gets resized to height 1 and a mouse click at this
point will cause a division by zero when calculating the absolute pointer
position from the pixel (x, y). Return a click in the middle of the screen...

8631b608 03/16/2010 05:55 pm Markus Armbruster

monitor: Separate "default monitor" and "current monitor" cleanly

Commits 376253ec..731b0364 introduced global variable cur_mon, which
points to the "default monitor" (if any), except during execution of
monitor_read() or monitor_control_read() it points to the monitor from...

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

44bb61c8 03/07/2010 12:15 am Samuel Thibault

Fix curses interaction with keymaps

The combination of keymap support (-k option) and curses is currently
very broken. The patch below fixes it by first extending keymap support
to interpret the shift, ctrl, altgr and addupper keywords in keymaps,
and to fix curses into properly using keymaps....

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

bca403c8 02/05/2010 08:13 pm Paolo Bonzini

vnc.c: remove dead code

to= is handled in qemu-sockets.c inet_listen.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

6185c578 01/27/2010 01:08 am Stefano Stabellini

vnc_refresh: calling vnc_update_client might free vs

Hi all,
this patch fixes another bug in vnc_refresh: calling vnc_update_client
might cause vs to be free()ed, in this case we cannot access vs->next
right after to examine the next item on the list.

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

dc0d4efc 01/20/2010 04:25 pm Luiz Capitulino

vnc: Use inet_strfamily()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

0d2ed46a 01/20/2010 12:31 am Luiz Capitulino

QMP: Introduce VNC_INITIALIZED event

It's emitted when a VNC client session is activated by QEMU,
client's information such as port, IP and auth ID (if the
session is authenticated) are provided.

Event example:

{ "event": "VNC_INITIALIZED",
"timestamp": {"seconds": 1263475302, "microseconds": 150772},...

8950a950 01/20/2010 12:31 am Luiz Capitulino

VNC: Use 'enabled' key instead of 'status'

Currently the 'status' key is a string whose value can be
"disabled" or "enabled", change it to the QMP's standard
'enabled' key, which is a bool.

Note that 'status' in being dropped and this wouldn't be
allowed if QMP were stable....

a7789382 01/20/2010 12:31 am Luiz Capitulino

VNC: Make 'auth' key mandatory

There is no reason to have it as optional and the code
in the server and client gets slightly simpler if the
key is mandatory.

While there also do some cleanup on how the server info is
collected.

Signed-off-by: Luiz Capitulino <>...

76825067 01/20/2010 12:31 am Luiz Capitulino

VNC: Rename client's 'username' key

It's the SASL username, so it's better to call it 'sasl_username'
to be consistent.

Note that this change wouldn't be allowed if QMP were stable.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

5c7238c5 01/20/2010 12:31 am Luiz Capitulino

VNC: Add 'family' key

It contains the socket adress family name, like "ipv4" or
"ipv6".

This is useful for clients so that they can interpret the
'host' key reliably.

Signed-off-by: Luiz Capitulino <>
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....

586153d9 01/20/2010 12:31 am Luiz Capitulino

QMP: Introduce VNC_CONNECTED event

It's emitted when a VNC client connects to QEMU, client's information
such as port and IP address are provided.

Note that this event is emitted right when the connection is
established. This means that it happens before authentication...

0d72f3d3 01/20/2010 12:31 am Luiz Capitulino

QMP: Introduce VNC_DISCONNECTED event

It's emitted when a VNC client disconnects from QEMU, client's
information such as port and IP address are provided.

Event example:

{ "event": "VNC_DISCONNECTED",
"timestamp": { "seconds": 1262976601, "microseconds": 975795 },...

83755c17 01/12/2010 09:24 pm Stefano Stabellini

vnc_refresh: return if vd->timer is NULL

Hi all,
calling vnc_update_client in vnc_refresh might have the unlikely side
effect of setting vd->timer = NULL, if the last vnc client disconnected.
In this case we have to return from vnc_refresh without updating the...

d96fd29c 12/12/2009 03:59 pm Luiz Capitulino

VNC: Convert do_info_vnc() to QObject

Return a QDict with server information. Connected clients are returned
as a QList of QDicts.

The new functions (vnc_qdict_remote_addr(), vnc_qdict_local_addr() and
put_addr_qdict()) are used to insert 'host' and 'service' information...

4a93fe17 12/12/2009 03:59 pm Gerd Hoffmann

vnc: fix capslock tracking logic.

The capslock tracking logic added by commit
6b1325029d80455b9da7cd7bd84a88cb915b867c doesn't work correctly for vnc
clients without EXT_KEY_EVENT support. The reason is that qemu converts
keysyms for letters to lowercase for the keysym2scancode lookup. It...

40ff6d7e 12/03/2009 07:45 pm Kevin Wolf

Don't leak file descriptors

We're leaking file descriptors to child processes. Set FD_CLOEXEC on file
descriptors that don't need to be passed to children to stop this misbehaviour.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

6b132502 11/12/2009 07:23 pm Gerd Hoffmann

vnc: improve capslock handling.

When capslock is toggled while the vnc window hasn't the focus qemu
will miss the state change. Add sanity checks for the capslock state
and toggle it if needed, so hosts and guests idea of capslock state
stay in sync. Simliar logic for numlock is present in qemu already....

6c098407 10/05/2009 10:01 pm Stefan Weil

Win32: Fix vnc support.

Without this patch, qemu on windows crashes as soon
as a vnc client connects.

Signed-off-by: Stefan Weil <>
Signed-off-by: Anthony Liguori <>

fa0cfdf2 10/05/2009 05:32 pm Stefan Weil

vnc: Set invalid buffer pointers to NULL

After qemu_free, the pointers for input and output
buffers are no longer valid, so set them to NULL
(most other calls of qemu_free in vnc.c use this
pattern, too).

Signed-off-by: Stefan Weil <>...

5d95ac5b 09/25/2009 07:26 pm Glauber Costa

fix use after free

We are using the vs structure when it was just freed. Classic use after free,
fix it.

Signed-off-by: Glauber Costa <>
Signed-off-by: Aurelien Jarno <>

7ef92331 08/24/2009 04:01 pm Zachary Amsden

Don't segfault when changing VNC password on an SDL display.

Signed-off-by: Zachary Amsden <>
Signed-off-by: Anthony Liguori <>

52c18be9 08/24/2009 04:01 pm Zachary Amsden

When using stdio monitor and VNC display, one can set or clear a VNC password; this should set or turn off VNC authentication as well.

Signed-off-by: Zachary Amsden <>
Signed-off-by: Anthony Liguori <>

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

3e28c9ad 07/30/2009 05:50 pm Gerd Hoffmann

vnc: fix copyrect screen corruption

When sending a copyrect command to the vnc client, we must also update
the local server surface. Otherwise the server's and the client's idea
of the screen content run out of sync and screen updates don't work
correctly....

e2542fe2 07/27/2009 10:09 pm Juan Quintela

rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

bb0a18e1 06/16/2009 11:18 pm Gerd Hoffmann

vnc: improve numpad support for qemu console.

Reorganize qemu console emulation code. Make it look at the numlock
state and interpret numpad keys as arrow+friends (numlock off) or
digits (numlock on). While being at it also wind up the other numpad
keys....

198a0039 06/16/2009 11:18 pm Gerd Hoffmann

vnc: rework VncState release workflow.

Split socket closing and releasing of VncState into two steps. First
close the socket and set the variable to -1 to indicate shutdown in
progress. Do the actual release in a few places where we can be sure it
doesn't cause trouble in form of use-after-free. Add some checks for a...

70503264 06/13/2009 02:22 pm Stefan Weil

Win32: Don't remove const attribute in type casts.

Type casts removing the const attribute are bad because
they hide the fact that the argument remains const.

They also result in a compiler warning (at least with MS-C).

Signed-off-by: Stefan Weil <>

c5b76b38 06/13/2009 11:44 am Blue Swirl

Fix mingw32 build warnings

Work around buffer and ioctlsocket argument type signedness problems
Suppress a prototype which is unused on mingw32
Expand a macro to avoid warnings from some GCC versions

Signed-off-by: Blue Swirl <>

f425c278 06/06/2009 06:17 pm Stefan Weil

Fix spelling in comment.

Signed-off-by: Stefan Weil <>

afd32160 05/27/2009 05:45 pm Stefan Weil

VNC: Fix memory allocation (wrong structure size).

Pointer vs addresses a VncDisplay structure,
so it is sufficient to allocate sizeof(VncDisplay)
or sizeof(*vs) bytes instead of the much larger
sizeof(VncState).

Maybe the misleading name should be fixed, too:...

f92f8afe 05/21/2009 04:47 pm Anthony Liguori

Eliminate --disable-gfx-check and make VNC default when SDL not available

--disable-gfx-check predates VNC server support.  It made sense back then
because the only thing you could do without SDL was use -nographic mode or
similar tricks. Since this is a very advanced mode of operation, gfx-check...
1a7dafce 05/14/2009 02:20 am malc

Remove any pretense that there can be more than one AudioState

8563d5b3 05/01/2009 05:44 pm Gerd Hoffmann

vnc: kill leftover debug statement.

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

0fc8e0ec 05/01/2009 05:44 pm Gerd Hoffmann

vnc: windup keypad keys for qemu console emulation

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

bee1b010 05/01/2009 05:44 pm Gerd Hoffmann

vnc: fix segfault

Move down cmp_bytes initialization. Must be after vga_hw_update()
call, because that one might change the screen depth.

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

89ee676e 05/01/2009 05:44 pm Gerd Hoffmann

vnc: fix server surface pixel format.

Format must be identical to the guest surface, we can't work with
the 32 bpp used by the default surface allocator.

Without this patch vnc doesn't get the conversions right when sending
pixel data to the client. The bug triggers if...

24cf0a6e 05/01/2009 05:44 pm Gerd Hoffmann

vnc: no need to set force_update for incremental update requests.

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

3cded540 04/07/2009 10:57 pm aurel32

vnc: Fix incorrect attempt to clear a flag

In vnc.c in pixel_format_message, the code tries to clear the
QEMU_ALLOCATED_FLAG from the client display surface, however
it uses the wrong operator and ends up enabling all other
flags. Most notably this enables the big endian flag and...

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

23decc87 03/20/2009 05:59 pm aliguori

vnc: fix printf warnings showing up with VNC_DEBUG enabled. (Gerd Hoffmann)

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

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

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

d78f3995 03/16/2009 06:33 pm blueswir1

Delete some unused macros detected with -Wp,-Wunused-macros use

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

457772e6 03/13/2009 05:03 pm aliguori

Replace asprintf() with snprintf() in vnc.c ("Daniel P. Berrange")

As previously discussed, this patch removes the non-portable use of
asprintf(), replacing it with malloc+snprintf instead

Signed-off-by: Daniel P. Berrange &lt;&gt;
Signed-off-by: Anthony Liguori &lt;&gt;...
28a76be8 03/06/2009 10:27 pm aliguori

Remove tabs introduced from VNC ACL series

Signed-off-by: Anthony Liguori <>

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

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

1263b7d6 03/06/2009 10:27 pm aliguori

Include auth credentials in 'info vnc' ("Daniel P. Berrange")

This patch extends the 'info vnc' monitor output to include information
about the VNC client authentication credentials.

For clients authenticated using SASL, this will output the username.

For clients authenticated using x509 certificates, this will output...

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

0483755a 03/06/2009 10:27 pm aliguori

Refactor keymap code to avoid duplication ("Daniel P. Berrange")

Each of the graphical frontends #include a .c file, for keymap code
resulting in duplicated definitions & duplicated compiled code. A
couple of small changes allowed this to be sanitized, so instead of...

1ff7df1a 03/06/2009 10:27 pm aliguori

Enhance 'info vnc' monitor output ("Daniel P. Berrange")

The current 'info vnc' monitor output just displays the VNC server address
as provided by the -vnc command line flag. This isn't particularly useful
since it doesn't tell you what VNC is actually listening on. eg, if you...

adc5ec85 03/06/2009 10:27 pm aliguori

Fix bug in TLS authentication ("Daniel P. Berrange")

This patch was previously posted here:

http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00820.html

In the case where the TLS handshake does not block on I/O, QEMU
sends the next 'start sub-auth' message twice. This seriously confuses...

376253ec 03/06/2009 01:01 am aliguori

monitor: Rework API (Jan Kiszka)

Refactor the monitor API and prepare it for decoupled terminals:
term_print functions are renamed to monitor_* and all monitor services
gain a new parameter (mon) that will once refer to the monitor instance
the output is supposed to appear on. However, the argument remains...

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