History | View | Annotate | Download (13.1 kB)
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 <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vnc: only use a single zlib stream
According to http://tigervnc.org/cgi-bin/rfbproto#zlib-encodingzlib encoding only uses a single stream. Current implementation defines4 streams but only uses the first one. Remove them and only use a singlestream.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>...
vnc: adjust compression zstream level
Adjust zlib compression level if needed by calling deflateParams.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vnc: don't clear zlib stream on set_encoding
On init, values are already NULL, but we shouldn't tryto reset them each time a client send a set encodingcommand because this break everything. For example,libvncclient re-send a set encoding command if the...
vnc: add buffer_free()
Add a buffer_free() helper to free vnc buffers andremove some duplicated code in vnc_disconnect_finish().
vnc: remove a memory leak in zlib
Makes sure we free all ressources used in zlib encoding (zlib streamand buffer).
vnc: return the number of rectangles
Some encodings like tight supports tiling (spliting inmultiple sub-rectangles). So we needed a way to tellvnc_update_client() how much rectangles are in the buffer.
zlib, raw and hextile always send a full rectangle....
vnc: add basic tight support
Add support for tight encoding [1]. This patch only add supportfor "basic" tight compression without any filter.
[1] http://tigervnc.org/cgi-bin/rfbproto#tight-encoding.
vnc: rich cursor support.
Uses VNC_ENCODING_RICH_CURSOR. Adding XCURSOR support should bepossible without much trouble. Shouldn't be needed though asRICH_CURSOR is a superset of XCURSOR.
vnc: split encoding in specific files
This will allow to implement new encodings (tight, zrle, ..)in a cleaner way. This may hurt performances, because somefunctions like vnc_convert_pixel are not static anymore, butshould not be a problem with gcc 4.5 and the new -flto....
Remove magic numbers for VNC message IDs from code
The code processing incoming & sending outgoing messages from/toclients used embedded magic numbers for all message IDs. Thismade the code a little hard to follow. Add constants in the vnc.hheader file for all message IDs and use them in the code...
input: make vnc use mouse mode notifiers
When we switch to absolute mode, we send out a notification (if the clientsupports it). Today, we only send this notification when the client sends usa mouse event and we're in the wrong mode.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vnc: add no-lock-key-sync option
Add an option to disable the heuristics which try to keepcapslock and numlock state for guest and host in sync.
kbd keds: vnc
Use led status notification support in vnc.
The qemu vnc server keeps track of the capslock and numlock states basedon the key presses it receives from the vnc client. But this fails incase the guests idea of the capslock and numlock state changes for other...
Increase VNC_MAX_WIDTH
Increase VNC_MAX_WIDTH to match "commonly available" consumer level monitorsavailable these days.
This also closes KVM bug 2907597
Signed-off-by: Brian Jackson <iggy@theiggy.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vnc: Migrate to using QTAILQ instead of custom implementation
Just a 1-1 conversion for now.
Signed-off-by: Amit Shah <amit.shah@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
VNC: Cache client info at connection time
When a disconnection happens the client's socket on QEMUside may become invalid, this way it won't be possibleto query it to get client information, which is going tobe needed by the future QMP VNC_DISCONNECTED event....
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. Somethinglike this must be presented on the list first so people can provide input...
Get rid of _t suffix
Some not so obvious bits, slirp and Xen were left alone for the timebeing.
Signed-off-by: malc <av1474@comtv.ru>
variable timer intervals
This patch introduces dynamic timer intervals: we slow down the refreshrate when there in no much activity but we get back to a fast refreshrate when the activity resume.
Please note that qemu_timer_expired is not an inline function any more...
a single vnc timer to refresh the screen
This patch removes the timer per vnc client connected and adds a singletimer to update all the possible clients.We call vga_hw_update only once in the timer handler.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>...
single vnc server surface
This patch removes the server surface from VncState and adds a singleserver 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...
vnc: throttle screen updates. (Gerd Hoffmann)
This patch makes the vnc server code skip screen refreshes in casethere is data in the output buffer. This reduces the refresh rate tothrottle the bandwidth needed in case the network link is saturated.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>...
vnc: cleanup surface handling, fix screen corruption bug. (Gerd Hoffmann)
This patch killes the old_data hack in the qemu server and replacesit with a clean separation of the guest-visible display surface andthe vnc server display surface. Both guest and server surface have...
Support ACLs for controlling VNC access ("Daniel P. Berrange")
This patch introduces a generic internal API for access control liststo be used by network servers in QEMU. It adds support for checkingthese ACL in the VNC server, in two places. The first ACL is for the...
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 canoptionally provide encryption via its SSF layer, if a suitable mechanism...
Move TLS auth into separate file ("Daniel P. Berrange")
This patch refactors the existing TLS code to make the main VNC codemore 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....
Move VNC structs into header file ("Daniel P. Berrange")
This patch moves the definitions of VncState and VncDisplay structsout into a vnc.h header file. This is to allow the code for TLSand SASL auth mechanisms to be moved out of the main vnc.c file....
Support multiple VNC clients (Brian Kress)
Change structure associated with a display from VncState to a new structureVncDisplay. Remove client specific fields from VncDisplay. Remove displayspecific fields from VncState. Maintain a linked list of VncStates per...
Split VNC defines to vnc.h (Alexander Graf)
The VNC protocol contains quite some constants, some of which arecurrently hardcoded in the vnc.c code. This is not exactly pretty.
Let's move all those constants out to vnc.h, so they are clearlyseparated. While at it, I also included other defines that will be...