summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove tunneling supportChristophe Fergeau2013-10-2810-4575/+1
| | | | | | It's depending on an unmaintained package (slirp), and I don't think anyone uses that code. It's not tested upstream nor in fedora, so let's remove it.
* Silence gcc false positive with -WuninitializedChristophe Fergeau2013-10-281-0/+6
| | | | | | | | | | | | | | | | | Some versions of gcc warn about: red_channel.c: In function 'red_channel_client_wait_outgoing_item': red_channel.c:2331: error: 'end_time' may be used uninitialized in this function [-Wuninitialized] red_channel.c: In function 'red_channel_client_wait_pipe_item_sent': red_channel.c:2363: error: 'end_time' may be used uninitialized in this function [-Wuninitialized] red_channel.c: In function 'red_channel_wait_all_sent': red_channel.c:2401: error: 'end_time' may be used uninitialized in this function [-Wuninitialized] This is a false positive as end_time is unitialized when timeout is -1, and we will only try to use end_time if timeout is not -1. This commit initializes end_time to UINT64_MAX to avoid that warning. As the test involving end_time will never be reached, we ensure it's always TRUE so that it would be a noop even if it was reached.
* red_tunnel_worker: Fix build error due to missing monitor_latency argumentAxel Lin2013-10-181-1/+1
| | | | | | Fix missing monitor_latency argument in red_channel_client_create call. Signed-off-by: Axel Lin <axel.lin@ingics.com>
* Use latest warnings.m4 from gnulibChristophe Fergeau2013-10-101-20/+62
| | | | This fixes at least some issues when building with clang
* Use hardened linker flags if availableChristophe Fergeau2013-10-104-0/+71
| | | | | | This commit reuse several macros from libvirt to test for support for "-Wl,-z -Wl,relro", "-Wl,-z -Wl,now" and "-Wl,--no-copy-dt-needed-entries", and use them if available.
* Don't ignore all of m4/ in .gitignoreChristophe Fergeau2013-10-101-1/+5
| | | | | m4/ contains several files tracked in git, so we should not ignore the whole directory.
* Fix PlaybackeCommand typoChristophe Fergeau2013-10-091-1/+1
|
* Fix an overlooked x11 client case.Jeremy White2013-10-091-0/+2
| | | | Signed-off-by: Jeremy White <jwhite@codeweavers.com>
* reds: remove dead codeMarc-André Lureau2013-10-081-33/+0
|
* reds: Fix 'asyc' typoChristophe Fergeau2013-10-081-23/+23
|
* Fix 'recive' typo throughout the code baseChristophe Fergeau2013-10-084-63/+63
| | | | 'receive' was mispelt 'recive' in multiple places.
* Namespace RECEIVE_BUF_SIZEChristophe Fergeau2013-10-083-9/+9
|
* server: handle red_get_surface_cmd() error explicitelyMarc-André Lureau2013-10-071-24/+32
| | | | | Don't ignore red_get_surface_cmd() error, and explicitely interrupt and free cmd before processing.
* server: plug some leaks on errorMarc-André Lureau2013-10-071-2/+7
| | | | | Plug what looks like memory leaks, that could be potentially be triggered by a misbehaving guest.
* server: inputs s/relase/releaseMarc-André Lureau2013-10-071-2/+2
|
* server: release all pressed keys on client disconnectMarc-André Lureau2013-10-071-7/+35
| | | | | | | | | | | | | Releasing modifiers keys unconditionally on disconnect leads to unexpected guest wakeups. To improve the situation, the server can release only the pressed keys, which will prevent the wakeup in most cases. Furthermore, it's not sufficient to release only the modifiers keys. Any key should be released on client disconnect to avoid sticky key press across connections. https://bugzilla.redhat.com/show_bug.cgi?id=871240
* server: mark deprecated symbolsMarc-André Lureau2013-10-072-22/+30
|
* server/tests: avoid using deprecated symbolsMarc-André Lureau2013-10-071-7/+6
|
* server: set dispatcher before calling attache_workerMarc-André Lureau2013-10-073-7/+10
| | | | | This allows to call spice_qxl_add_memslot during attache_worker(), like done in the tests.
* Update spice-commonMarc-André Lureau2013-10-071-0/+0
|
* server: remove memslot unused functionsMarc-André Lureau2013-10-012-51/+0
|
* cleanup: remove GITVERSIONMarc-André Lureau2013-09-301-0/+0
| | | | This file is unneeded since d986fb46
* server: remove unused fill_rects_clipMarc-André Lureau2013-09-301-11/+0
| | | | Unused since 62d0c076eb2eb0f9954c3870f31b4dd685e5f95c.
* spicec: disable stencil test with primary fboMarc-André Lureau2013-09-302-1/+2
| | | | | | | The primary buffer doesn't use stencil test. However, this should be explicitely disabled, since the canvas might change stencil state, and this will affect primary stencil buffer, making some of further update operations clipped in unwanted ways.
* spicec: use pre/post copyMarc-André Lureau2013-09-301-0/+2
| | | | Ensure the GL state is appropriate for calling GCanvas::copy_pixels.
* spicec: add sw canvas diff checkMarc-André Lureau2013-09-304-24/+88
| | | | | | | | | | | | | Setting CHECKDIFF=1 environment variable will compare the rendering of the selected canvas with a software canvas. This is useful for debugging some rendering issues, however it is far from being perfect, since it's not able to tell whether one or the other is actually faulty. It's a strong indication though of which operations are incorrect. Ideally, all operations should be checked, however, a few of them are disabled by default because they fail all the time, and it looks like pixman is not very accurate for blending/compositing (at least visually, it seems gl has better rendering)
* spicec: do not abort if cache errorMarc-André Lureau2013-09-301-1/+2
|
* spicec: add SPICE_NOGRABMarc-André Lureau2013-09-301-0/+7
| | | | | Similar to spice-gtk, disable mouse and keyboard grab (useful when running under a debugger)
* spicec: remove dead GL codeMarc-André Lureau2013-09-302-34/+0
|
* spicec: use doublebuffer for openglMarc-André Lureau2013-09-305-3/+16
| | | | | | This visually reduces glitches without noticeable speed difference. It's also the traditionnal way of doing opengl.
* spicec: fix non-doublebuffer drawingMarc-André Lureau2013-09-303-0/+4
| | | | | | | | First, context must set it, then Draw/ReadBuffer must be set to FRONT, and then explicit Flush is needed. This patch is mostly for future reference, it is mostly discarded in following patch using double-buffer.
* spicec: use standard opengl 3.0 framebufferMarc-André Lureau2013-09-303-47/+50
|
* spicec: refresh the display after display resizeMarc-André Lureau2013-09-301-0/+4
|
* spicec: warn when throwing exceptionMarc-André Lureau2013-09-301-0/+3
| | | | This helps to identify the code location of exception
* update spice-commonMarc-André Lureau2013-09-301-0/+0
|
* red_worker: disconnect the channel instead of shutdown in case of a blocking ↵Yonit Halperin2013-09-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | method failure rhbz#1004443 The methods that trigger waitings on the client pipe require that the waiting will succeed in order to continue, or otherwise, that all the living pipe items will be released (e.g., when we must destroy a surface, we need that all its related pipe items will be released). Shutdown of the socket will eventually trigger red_channel_client_disconnect (*), which will empty the pipe. However, if the blocking method failed, we need to empty the pipe synchronously. It is not safe(**) to call red_channel_client_disconnect from ChannelCbs , but all the blocking calls in red_worker are done from callbacks that are triggered from the device. To summarize, calling red_channel_client_disconnect instead of calling red_channel_client_shutdown will immediately release all the pipe items that are held by the channel client (by calling red_channel_client_pipe_clear). If red_clear_surface_drawables_from_pipe timeouts, red_channel_client_disconnect will make sure that the surface we wish to release is not referenced by any pipe-item. (*) After a shutdown of a socket, we expect that later, when red_peer_handle_incoming is called, it will encounter a socket error and will call the channel's on_error callback which calls red_channel_client_disconnect. (**) I believe it was not safe before commit 2d2121a17038bc0 (before adding ref count to ChannelClient). However, I think it might still be unsafe, because red_channel_client_disconnect sets rcc->stream to NULL, and rcc->stream may be referred later inside a red_channel_client method unsafely. So instead of checking if (stream != NULL) after calling callbacks, we try to avoid calling red_channel_client_disconnect from callbacks.
* red_channel: cleanup of red_channel_client blocking methodsYonit Halperin2013-09-263-57/+93
| | | | | | (1) receive timeout as a parameter. (2) add a return value and pass the handling of failures to the calling routine.
* red_worker: cleanup red_clear_surface_drawables_from_pipesYonit Halperin2013-09-261-12/+18
| | | | | | (1) merge 'force' and 'wait_for_outgoing_item' to one parameter. 'wait_for_outgoing_item' is a derivative of 'force'. (2) move the call to red_wait_outgoing_item to red_clear_surface_drawables_from_pipe
* build-sys: fix some automake warningMarc-André Lureau2013-09-173-3/+3
| | | | | client/Makefile.am:199: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') server/tests/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
* Fix _FORTIFY_SOURCE redefine errorDunrong Huang2013-09-101-1/+1
| | | | | | | | | | | | If the _FORTIFY_SOURCE has been already defined, we shouldn't redefine it, or it will raise a build error as below: In file included from agent-msg-filter.c:21:0: ../config.h:17:0: error: "_FORTIFY_SOURCE" redefined [-Werror] agent-msg-filter.c:1:0: note: this is the location of the previous definition Suggested-by: Christophe Fergeau <cfergeau@redhat.com> Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
* red_parse_qxl: Change spice_error() to spice_warning()Christophe Fergeau2013-09-021-3/+4
| | | | | | | | After eb09c25c, red_parse_qxl.c still has some spice_error() which will kill the server even though the code is trying to return an error when the spice_error() is hit. This commit replaces these occurrences with a spice_warning() which will not kill spice-server.
* server: bitmap_consistent: replace spice_error with spice_warningUri Lublin2013-09-021-1/+1
| | | | | | | | | bitmap_consistent should return true or false. Currently it aborts instead of returning false, due to spice_error. Replacing spice_error with spice_warning, provides information and returns false, as expected. This fixes Fedora bz#997932
* client: add some missing USE_GUI define guardsAlon Levy2013-08-291-0/+4
|
* red_worker: fix call to dump_bitmap (too many args)Yonit Halperin2013-08-221-1/+1
|
* spice_bitmap_utils: fix dump_bitmapYonit Halperin2013-08-221-3/+3
|
* main_channel: monitoring client connection statusYonit Halperin2013-08-143-9/+23
| | | | | | | rhbz#994175 Start monitoring if the client connection is alive after completing the bit-rate test.
* red_channel: add option to monitor whether a channel client is aliveYonit Halperin2013-08-142-0/+133
| | | | | | | | | | rhbz#994175 When a client connection is closed surprisingly (i.e., without a FIN segment), we cannot identify it by a socket error (which is the only way by which we identified disconnections so far). This patch allows a channel client to periodically check the state of the connection and identify surprise disconnections.
* red_channel: add on_input callback for tracing incoming bytesYonit Halperin2013-08-142-0/+9
| | | | The callback will be used in the next patch.
* spice_timer_queue: don't call timers repeatedlyYonit Halperin2013-08-141-3/+1
| | | | | | | | | For channels that don't run as part of the main loop, we use spice_timer_queue, while for the other channels we use qemu timers support. The callbacks for setting timers are supplied to red_channel via SpiceCoreInterface, and their behavior should be consistent. qemu timers are called only once per each call to timer_start. This patch assigns the same behaviour to spice_timer_queue.
* server: split spice_image_cache from red_workerAlon Levy2013-08-144-157/+177
|