vnc: don't set the quality if lossy encoding are disabled
This should not change the current behavior, but if any newencoding try to use the tight quality, it will always be setto -1 when lossy encodings are disabled.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>...
ui/sdl: Fix handling of caps lock and num lock keys
Starting with SDL version 1.2.14, caps lock and num lock keyswill send a SDL_KEYUP when SDL_DISABLE_LOCK_KEYS=1 is set inthe environment.
The new code sets the environment unconditionally(it won't harm old versions which do not know it)....
vnc: qemu can die if the client is disconnected while updating screen
agraf reported that qemu_mutex_destroy(vs->output_mutex) while failingin vnc_disconnect_finish().
It's because vnc_worker_thread_loop() tries to unlock the mutex whilenot locked. The unlocking call doesn't fail (pthread bug ?), but...
Merge remote branch 'spice/spice.v29.pull' into staging
Conflicts: trace-events
Merge remote branch 'spice/usb.5' into staging
vnc: Fix password expiration through 'change vnc ""' (v2)
commit 52c18be9e99dabe295321153fda7fce9f76647ac introduced a regression in thechange vnc password command that changed the behavior of setting the VNCpassword to an empty string from disabling login to disabling authentication....
sdl: remove unused variable
Variable rec is not used, remove it. Spotted by GCC 4.6.0: CC ui/sdl.o/src/qemu/ui/sdl.c: In function 'sdl_setdata':/src/qemu/ui/sdl.c:90:14: error: variable 'rec' set but not used [-Werror=unused-but-set-variable]
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
vnc: fix numlock+capslock tracking
This patch makes the numlock+capslock tracking logic only look atkeydown events. Without this patch the vnc server will insertbogous capslock keypress in case it sees the following key sequence:
shift down --- 'A' down --- shift up --- 'A' up...
spice: add chardev (v5)
Adding a chardev backend for spice, where spice determines whatto do with it based on the name attribute given during chardev creation.For usage by spice vdagent in conjunction with a properly namedvirtio-serial device, and future smartcard channel usage....
spice/vnc: client migration.
Handle spice client migration, i.e. inform a spice client connectedabout the new host and connection parameters, so it can move over theconnection automatically.
The monitor command has a not-yet used protocol argument simliar to...
Delete useless 'extern' qualifiers for functions
'extern' qualifier is useless for function declarations. Deletethem.
vnc-auth-sasl: fix a memory leak
Fix a memory leak reported by cppcheck:[/src/qemu/ui/vnc-auth-sasl.c:448]: (error) Memory leak: mechname
vnc/spice: add set_passwd monitor command.
This patch adds new set_password and expire_password monitor commandswhich allows to change and expire the password for spice and vncconnections. See the doc update patch chunk for details.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
spice: add qxl device
qxl is a paravirtual graphics card. The qxl device is the bridgebetween the guest and the spice server (aka libspice-server). Thespice server will send the rendering commands to the spice client, whichwill actually render them....
spice: connection events.
This patch adds support for connection events to spice. The events arequite simliar to the vnc events. Unlike vnc spice uses multiple tcpchannels though. qemu will report every single tcp connection (akaspice channel). If you want track spice sessions only you can filter...
spice: add qmp 'query-spice' and hmp 'info spice' commands.
The patch adds a 'query-spice' monitor command which returnsinformations about the spice server configuration and also a list ofchannel connections.
vnc: auth reject cleanup
protocol_client_auth_vnc() has two places where the auth can fail,with identical code sending the reject message to the client.Move the common code to the end of the function and make botherror paths jump there. No functional change....
vnc: support password expire
This patch adds support for expiring passwords to vnc. It adds a newvnc_display_pw_expire() function which specifies the time when thepassword will expire.
Merge remote branch 'spice/bugfix.2' into staging
spice: add audio
Add support for the spice audio interface. With this patch appliedaudio can be forwarded over the network from/to the spice client. Bothrecording and playback is supported.
The driver is first in the driver list, but the can_be_default flag is...
spice-display: replace private lock with qemu mutex.
qemu_spice_create_update() must aquire the global qemu mutex tomake sure DisplayState doesn't change while we are accessing it.
Once this is in place the private lock is pretty pointless aseverything it protects is covered by the global qemu mutex now....
spice-core: fix warning when building with spice < 0.6.0
spice-core: fix watching for write events
Merge remote branch 'spice/config.2' into staging
Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)
Replace the remaining format attribute printf by macroGCC_FMT_ATTR which uses gnu_printf (if supported).
curses: Fix control-{@[\]^_} and ESC
control-{@[\]^_} shouldn't get the 'a' - 'A' offset for correcttranslation. ESC is better simulated as escape key.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>Signed-off-by: Andrew Zaborowski <balrogg@gmail.com>
vnc: avoid write only variables
Compiling with GCC 4.6.0 20100925 produced warnings:/src/qemu/ui/vnc.c: In function 'vnc_client_cache_auth':/src/qemu/ui/vnc.c:217:12: error: variable 'qdict' set but not used [-Werror=unused-but-set-variable]/src/qemu/ui/vnc.c: In function 'vnc_display_open':...
spice: tls support
Add options to the -spice command line switch to setup tls.
spice: make compression configurable.
This patch adds options to the -spice command line switch toconfigure image compression.
[ v2: speling fix in the documentation ]
spice: add config options for channel security.
This allows to enforce tls or plaintext usage for certain spicechannels.
[ v2: code style fixup ]
spice: add config options for the listening address
Make listening address configurable. Also add options toforce using IPv4 or IPv6.
spice: add misc config options
This patch adds a few more options to tweak spice server behavior.The documentation update chunk has the details ;)
Merge remote branch 'spice/submit.6' into staging
Conflicts: configure
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Fix spelling in comments
multifuction -> multifunctionsuccessfull -> successful.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
spice: simple display
With that patch applied you'll actually see the guests screen in thespice client. This does not bring qxl and full spice support though.This is basically the qxl vga mode made more generic, so it playstogether with any qemu-emulated gfx card. You can display stdvga or...
spice: add tablet support
Add support for the spice tablet interface. The tablet interface willbe registered (and then used by the spice client) as soon as a absolutepointing device is available and used by the guest, i.e. you'll have toconfigure your guest with '-usbdevice tablet'.
spice: core bits
Add -spice command line switch. Has support setting passwd and port fornow. With this patch applied the spice client can successfully connectto qemu. You can't do anything useful yet though.
spice: add keyboard
Open keyboard channel. Now you can type into the spice client and thekeyboard events are sent to your guest. You'll need some other displaylike vnc to actually see the guest responding to them though.
spice: add mouse
Open mouse channel. Now you can move the guests mouse pointer.No tablet / absolute positioning (yet) though.
vnc: use bswapNN() rather than bswap_NN()
bswap_NN() variants are not always available in CONFIG_MACHINE_BSWAP_H caseand bswapNN() are public APIs in "bswap.h".
Signed-off-by: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
vnc: tight: remove unused variable
Signed-off-by: Serge Ziryukin <ftrvxmtrx@gmail.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
size_t is unsigned, change to ssize_t to handle errors from tight_compress_data()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
vnc: check fd before calling qemu_set_fd_handler2() in vnc_client_write()
Setting fd = -1 to qemu_set_fd_handler2() causes bus error at FD_SETin main_loop_wait().
Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
win32: Avoid compiler warning (WIN32_LEAN_AND_MEAN redefined)
configure adds the macro WIN32_LEAN_AND_MEAN toQEMU_CFLAGS, and SDL_syswm.h defines it, too.
This results in a compiler warning (redefinition ofWIN32_LEAN_AND_MEAN in SDL_syswm.h. That warning prevents...
Initialize a variable in all cases
Commit d167f9bc06a577d6c85b8ed6991c1efe175aae7d missed this one:/src/qemu/ui/vnc-enc-tight.c:1483: warning: 'ret' may be used uninitialized in this function
Fix uint8_t comparison with negative value
Commit 7bccf57383cca60a778d5c543ac80c9f62d89ef2 missed this one:/src/qemu/ui/vnc-enc-tight.c: In function 'send_sub_rect':/src/qemu/ui/vnc-enc-tight.c:1527: warning: comparison is always true due to limited range of data type...
Fix mingw32 build
Fix mingw32 build errors like/src/qemu/ui/vnc-enc-tight.c: In function 'tight_detect_smooth_image24':/src/qemu/ui/vnc-enc-tight.c:119: error: 'uint' undeclared (first use in this function)
Replace 'uint' with proper 'unsigned int'.
Fix a warning with some GCCs:/src/qemu/ui/vnc-enc-tight.c: In function `send_sub_rect_nojpeg':/src/qemu/ui/vnc-enc-tight.c:1458: warning: `ret' might be used uninitialized in this function
Fix uint8_t comparisons with negative values
Fix the following warnings:/src/qemu/hw/ide/core.c: In function `ide_drive_pio_post_load':/src/qemu/hw/ide/core.c:2767: warning: comparison is always false due to limited range of data type
/src/qemu/ui/vnc-enc-tight.c: In function `tight_detect_smooth_image':...
vnc: tight: don't forget do at the last color
While using indexed colors, the last color was never added to the palette.Triggered with ubuntu livecd.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vnc: tight: remove a memleak in send_jpeg_rect()
buf was never freed.
vnc: tight add PNG encoding
Introduce a new encoding: VNC_ENCODING_TIGHT_PNG [1] (-269) with a newtight filter VNC_TIGHT_PNG (0x0A). When the client tells it supports the Tight PNGencoding, the server will use tight, but will always send encoding pixels using...
vnc: tight: specific zlib level and filters for each compression level
Disable png filters for lower compression levels. This should lowerthe CPU consumption and reduce encoding time.
vnc: tight: stop using qdict for palette stuff
Profiling with callgrind seems to show that a lot of time is spentin the palette code (mostly due to memory allocation and qdict to intconversion).
This patch adds a VncPalette implementation. The palette is stored...
vnc: encapsulate encoding members
This will allow to implement the threaded VNC server in amore cleaner way.
vnc: fix tight png memory leak
The tight.png buffer was never released.
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 sendframebuffer updates to the output buffer....
vnc: add missing lock for vnc_cursor_define()
All vnc_write() calls must be locked (except the ones present beforethe protocol initialization).
vnc: tight: fix rgb_prepare_row
rgb_prepare_row bpp depends on the server display surface, notthe client.
vnc: tight: split send_sub_rect
Split send_sub_rect in send_sub_rect_jpeg and send_sub_rect_nojpeg toremove all these #ifdef CONFIG_JPEG.
vnc: rename vnc-encoding-* vnc-enc-*
For the same reason that we don't use vnc-authentication-sasl.c butvnc-auth-sals.c. Because it's tooooo long.
ui: move all ui components in ui/
Move sdl, vnc, curses and cocoa UI into ui/ to cleanupthe root directory. Also remove some unnecessary explicittargets from Makefile.
aliguori: fix build when srcdir != objdir