- Jan 16, 2019
-
-
Lukáš Hrázký authored
Adds the graphics device info from the streaming device(s) to the VDAgentGraphicsDeviceInfo message sent to the vd_agent. Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com>
-
Lukáš Hrázký authored
Receives the GraphicsDeviceInfo message from the streaming agent and stores the data in a list on the streaming device. Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com>
-
- Jan 14, 2019
-
-
Lukáš Hrázký authored
Sends the device address and device display IDs to the vdagent. The message is sent either in reaction to the SPICE_MSGC_MAIN_AGENT_START message or when the graphics device info changes. Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com>
-
- Jan 11, 2019
-
-
Lukáš Hrázký authored
Replace it by spice_qxl_set_device_info. Note we can't use monitors_count for what's stored in max_monitors, because monitors_count denotes the length of the device_display_ids array, which spice_qxl_set_max_monitors doesn't touch. Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com>
-
Lukáš Hrázký authored
Adds a function to let QEMU provide information to identify graphics devices and their monitors in the guest. The function (spice_qxl_set_device_info) sets the device address (e.g. a PCI path) and monitor ID -> device display ID mapping of displays exposed by given QXL interface. Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com>
-
- Jan 03, 2019
-
-
Frediano Ziglio authored
Due to previous commit "make syntax-check" command reports: prohibit_signal_without_use server/tests/test-display-base.c maint.mk: the above files include signal.h but don't use it make: *** [maint.mk:639: sc_prohibit_signal_without_use] Error 1 Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
-
Frediano Ziglio authored
Use GLib function to launch and wait process exit. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-
Frediano Ziglio authored
If input contains the binary record we can't have it modified during read. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-
- Dec 25, 2018
-
-
Frediano Ziglio authored
Split level computation, make clear is a sine wave on both channels. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Uri Lublin <uril@redhat.com>
-
Frediano Ziglio authored
Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Uri Lublin <uril@redhat.com>
-
Frediano Ziglio authored
We are waiting for a client connection, channel is already there Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Uri Lublin <uril@redhat.com>
-
Frediano Ziglio authored
We just fill it up, can't be NULL. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Uri Lublin <uril@redhat.com>
-
- Dec 23, 2018
-
-
Frediano Ziglio authored
-1 is not much portable and standard. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Snir Sheriber <ssheribe@redhat.com>
-
Frediano Ziglio authored
Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Snir Sheriber <ssheribe@redhat.com>
-
- Dec 07, 2018
-
-
Frediano Ziglio authored
This changes tests/pki/server-cert.pem and tests/pki/ca-cert.pem to have 2048 bits. These certificates were generated using the instructions on https://www.spice-space.org/spice-user-manual.html The -subj args were omitted, and the defaults suggested by openssl used. The -days parameter was changed to -days 10950, the bits to 2048. This fixes spice/spice#27 . Some distros are starting to use stricter settings for their openssl configuration, which forbids 1024 bit keys, and causes test suite failures. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
-
- Dec 06, 2018
-
-
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Now that we have a refcounted RedSurfaceCmd, we can store the command itself in DisplayChannel rather than copying QXLReleaseInfoExt. This will let us move the release of the QXL guest resources in red-parse-qxl in the next commit. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Currently, RedWorker is using stack-allocated variables for RedSurfaceCmd. Surface commands are rare enough that we can dynamically allocate them instead, and make the API in red-parse-qxl.h consistent with how other QXL commands are handled. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Currently, RedUpdateCmd are allocated on the stack, and then initialized/uninitialized with red_{get,put}_update_cmd This makes the API inconsistent with what is being done for RedDrawable, RedCursor and RedMessage. QXLUpdateCmd are not occurring very often, we can dynamically allocate them instead, and get a consistent API. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Currently, RedMessage are allocated on the stack, and then initialized/uninitialized with red_{get,put}_message This makes the API inconsistent with what is being done for RedDrawable and RedCursor. Since QXLMessage is just a (mostly unused/unsecure) debugging tool, we can dynamically allocate it instead, and get a consistent API. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Currently, the cursor channel is allocating RedCursorCmd instances itself, and then calling into red-parse-qxl.h to initialize it, and doing something similar when releasing the data. This commit moves this common code to red-parse-qxl.[ch] The ref/unref are not strictly needed, red_cursor_cmd_free() would currently be enough, but this makes the API consistent with red_drawable_{new,ref,unref}. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
At the moment, we'll unconditionally release the guest QXL resources in red_put_drawable() even if red_get_drawable() failed and did not initialize drawable->release_info_ext properly. This commit only sets RedDrawable::qxl once the guest resource have been successfully retrieved, and only free the guest QXL resources when RedDrawable::qxl is set. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Rather than needing to call red_drawable_new() and then initialize it with red_get_drawable(), we can improve slightly red_drawable new so that red_drawable_{new,ref,unref} is all which is used by code out of red-parse-qxl.c. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
RedDrawable really is a RedDrawCmd which is parsed by red-parse-qxl.h Moreover, red_drawable_ref() is already defined inline in red-parse-qxl.h, and red_drawable_unref() is declared there too even if its code is still in red-worker.c This commit moves them close to the other functions creating/unref'ing QXL commands parsed by red-parse-qxl.h. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- Dec 04, 2018
-
-
Frediano Ziglio authored
Just a style change, on more recent GLib would print a more friendly error report. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Uri Lublin <uril@redhat.com> Acked-by: Victor Toso <victortoso@redhat.com>
-
- Dec 03, 2018
-
-
Follow all other char devices implementation (spicevmc, agent, stream-device) and set the char device state when connected/disconnected. This allows qemu to discard writes, optimize a bit the source polling, and will trigger HUP events. See related qemu "char/spice: discard write() if backend is disconnected". Note: sif->state() should probably be handled at the char-device level. I am not sure what the smartcard channel really brings over plain spicevmc... Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- Nov 26, 2018
-
-
Without this it's not obvious that a compression setting took effect. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- Nov 16, 2018
-
-
Frediano Ziglio authored
Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
-
Frediano Ziglio authored
Is possible that port 5913 is already in use as tests that uses test_new will attempt to use ports from 5912 to 5921 so use a port not in that range. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
-
Frediano Ziglio authored
test_new function attempts to detect attempts to listen to tcp ports already in listening state detecting some messages during spice_server_init. However the check is wrong (broken in recent 34a44d3e "test-display-base: Avoid spurious errors due to listen failures") and incomplete (missing message). To better test this conditions put some of the ports in listening state (like with a "nc -l 5912 & nc -l 5913 &" command) and run tests in parallel (like with a "make check -j" command). Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
-
Frediano Ziglio authored
Fix Fedora 29 one-time leak. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
-
Frediano Ziglio authored
Merge from GLib master repository. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
-
Frediano Ziglio authored
Spice log functions already add an end of line. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Victor Toso <victortoso@redhat.com>
-
- Nov 10, 2018
-
-
Frediano Ziglio authored
To set up a listening socket usually you call in sequence: - socket; - bind; - listen. If you try to bind() to a port when another socket is already listening on that port, the bind() will fail. However, it is possible that the bind() may succeed and the listen() will fail, as demonstrated in the following sequence: - socket() create socket 1; - bind() to port N on socket 1; - socket() create socket 2; - bind() to port N on socket 2; - listen() on socket 1; - listen() on socket 2 <-- failure. When running tests (especially multiple tests running in parallel), it may sometimes happen that there are other tests already listening on the port that we are trying to use. In this case, we want to ignore this error and simply try to listen on a different port. We already attempted to handle this scenario, but we were only ignoring bind() errors and not listen() errors. So in the scenario mentioned above, the listen() error was causing the entire test to fail instead of allowing us to try to listen on another port. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
-
- Nov 08, 2018
-
-
Frediano Ziglio authored
Is not more necessary to downgrade asciidoc, the issue was fixed in Fedora 29, now used by CI. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
-
Frediano Ziglio authored
Just cosmetic changes, the static function had underscores to distinguish from the exported one which was recently renamed. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Lukáš Hrázký <lhrazky@redhat.com>
-
Adds a function to create a write buffer for sending a message to vdagent from the server to prevent code duplication. Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Instead of having a single red_char_device_write_buffer_get function to get both client and server buffers and decide by testing client == NULL, have separate function for a client and for a server. The situation should always be clear (you're either on the client or on the server side) and you shouldn't need to parametrize that. For the server case, add a use_token parameter instead of a separate red_char_device_write_buffer_get_server_no_token function, as you may want to parametrize that. Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-