- 22 Oct, 2020 1 commit
-
-
Frediano Ziglio authored
After commit 3e20f17b (cfr "usb-redir: extend USB backend to support emulated devices") this option stopped working, as devices are not redirected. Data for device to guest were not written during initialisation. With this fix both spice-usbredir-redirect-on-connect and spice-share-cd are working (even together). This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1874740 . Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Uri Lublin <uril@redhat.com>
-
- 05 Oct, 2020 1 commit
-
-
Frediano Ziglio authored
Document a behaviour in the code asked a couple of times. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- 21 Sep, 2020 1 commit
-
-
Bump meson requirement to >= 0.53 for summary(). Remove some debug message() Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- 16 Sep, 2020 7 commits
-
-
Frediano Ziglio authored
host_data and cert_subject_data fields from SPICE messages could be not NUL terminated so using g_strdup can lead to some read overflow. This bug was discovered by Uri Lublin. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Uri Lublin <uril@redhat.com>
-
Frediano Ziglio authored
After commit ab42be2b ("channel-main: Copy SpiceMigrationDstInfo into spice_migrate") host_data and cert_subject_data fields in spice_migrate structure are proper terminated C strings so: - check pointer instead of related field; - you don't need to terminate again. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Uri Lublin <uril@redhat.com>
-
Frediano Ziglio authored
The message could disappear while the structure is used. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Uri Lublin <uril@redhat.com>
-
Frediano Ziglio authored
Don't use the stack, it will potentially disappear (see mig variable in main_migrate_connect). For instance channels use this structure when they are freed. As the free is done in delayed mode the initial coroutine could be ended releasing the stack and causing a segmentation fault. This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1867564 . Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Uri Lublin <uril@redhat.com>
-
Note that Gtk+ doesn't provide a convenient & reliable API to get the dimensions of a widget. See the gitlab issue in the comment. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- 15 Sep, 2020 2 commits
-
-
Frediano Ziglio authored
We already checked "data", no need to do it again. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com>
-
Partially revert commit 51ede38e ("build: Tell SPICE common the SPICE protocol version we require") as spice-gtk depends on specific spice-protocol version as well. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- 10 Sep, 2020 2 commits
-
-
Frediano Ziglio authored
"surface" parameters is normally attached to "surfaces" hash table but in case surface is reused the buffer is not freed. This problem was reported by Ding Fei. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
This reverts commit 4b9092b9 "session: make spice_session_get_webdav_server() public". Instead of publishing the function to access the PhodavServer from spice-gtk-session.c, install a new read-only property "webdav-server" and use g_object_get() to retrieve it. Signed-off-by:
Jakub Janků <jjanku@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- 09 Sep, 2020 6 commits
-
-
When an app advertises the "text/uri-list" target, the user probably wants to copy/move files. Spice-gtk then sends a grab message to the vdagent advertising the VD_AGENT_CLIPBOARD_FILE_LIST type. Vdagent can then request clipboard data in this type. Spice-gtk tries to talk to the app that owns the clipboard in its native format in order to determine the preferred file operation (copy X move). For GNOME Nautilus, that's simply "UTF8_TEXT", for KDE Dolphin, "application/x-kde-cutselection". Otherwise the generic "text/uri-list" is used that does not provide any additional information. Once the uri list is obtained from the app, spice-gtk creates a unique virtual dir in the ".spice-clipboard" directory that is designated for this purpose. Each file is attached inside this virtual dir using phodav_virtual_dir_attach_real_child(), see phodav API for details. A list of paths in the phodav server is then sent to vdagent, as specified in the spice-protocol. Such path can for example look like this: /.spice-clipboard/b8f0249c-082a-4da9-9a38-2de3237a66f0/file It is up to the vdagent to ensure that the spice shared folder is accessible and to set the clipboard data in a format that other apps understand. This requires new phodav with PhodavVirtualDir API. Signed-off-by:
Jakub Janků <jjanku@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
At the moment, spice-gtk only sends a grab message to the vdagent based on the retrieved atoms. With the upcoming changes, spice-gtk will have to know which targets were advertised outside of clipboard_get_targets() callback. We could use gtk_clipboard_wait_for_targets() or gtk_clipboard_wait_is_*_available(), but the targets are not cached by GTK+ on wayland for some reason. So let's cache them in spice-gtk to avoid having to talk to the clipboard owner. Signed-off-by:
Jakub Janků <jjanku@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
File copy&paste functionality will only be enabled when there is an open webdav channel. Signed-off-by:
Jakub Janků <jjanku@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
This adds g_uuid_string_random() which is necessary for the following file copy&paste functionality. Signed-off-by:
Jakub Janků <jjanku@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Phodav 2.5 brings PhodavVirtualDir API needed for the file copy and paste functionality. If the library version is not sufficient, this new feature will be disabled, but the standard shared folders can still be used. Signed-off-by:
Jakub Janků <jjanku@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
It will be necessary to access the webdav server from spice-gtk-session.c which isn't compiled with spice-session-priv.h, so make spice_session_get_webdav_server() public. Signed-off-by:
Jakub Janků <jjanku@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- 28 Aug, 2020 1 commit
-
-
Frediano Ziglio authored
This brings in the following changes: Frediano Ziglio (19): canvas_base: Format canvas_draw_blend similarly to canvas_draw_copy canvas_base: Rename blend to copy for canvas_draw_blend argument canvas_base: Remove canvas_draw_blend/canvas_draw_copy duplication build: Remove dependency to gio2 from common and server libraries build: Remove dependencies to libgthread test-utils: Add missing include file test-quic: Test fixed images test-quic: Different "more_space" function for decode and encode Reuse macros from spice-protocol rect: Avoid usage of "small" build: Remove -Werror from Meson build snd_codec: Use better types for snd_codec_is_capable snd_codec: Use better type for function result snd_codec: Use better type for snd_codec_create mode backtrace: Do not attempt to compile if spice_backtrace is empty Avoid usage of GCC extension for __VA_ARGS__ where possible helper-fuzzer-demarshallers: Provide replacement for ftello for MSVC quic_tmpl: Remove unused bpc parameter ssl_verify: Do not check IP if we fail to resolve it Haochen Tong (2): pixman_utils: fix clang "unused functions" warning marshal: fix clang "missing field initializer" warning on generated files Signed-off-by:
Frediano Ziglio <freddy77@gmail.com>
-
- 27 Aug, 2020 1 commit
-
-
Frediano Ziglio authored
qmp-port.c: warning: Although the value stored to 'node' is used in the enclosing expression, the value is never actually read from 'node' usb-backend.c: warning: Value stored to 'done' is never read warning: Use of memory after it is freed usb-device-cd.c: warning: Value stored to 'error' is never read Signed-off-by:
Frediano Ziglio <freddy77@gmail.com>
-
- 25 Aug, 2020 2 commits
-
-
Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Since commit 162531a1 , the channel/monitor IDs are already printed. Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- 22 Aug, 2020 3 commits
-
-
Instead of using ucontext and setjmp together just use setjmp and limit ucontext usage to initialise the initial jmp_buf context. This simplifies the code and reduce number of context operations done. In particular using _setjmp/_longjmp moving from a context to another does not require any system call. On x64 the continuation structure is reduced from 2176 to 248 bytes. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
Changing stack is not usually instrumentation friendly. Allows to enable the usage of Valgrind memcheck calling some valgrind macros. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
These files use tabs instead of spaces, fix indentation. Signed-off-by:
Frediano Ziglio <freddy77@gmail.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- 19 Aug, 2020 13 commits
-
-
Caps the minimum scale of the mouse cursor to 50% so that it is still visible even if the window is too small. This also workarounds a GDK warning when SpiceDisplay is used in remote-viewer. Upon its initialization there is a possible race condition, where update_mouse_cursor is called but the widget still has a size of 1x1. In such case, the calculated scale is very small and the mouse surface width and height are both zero, causing a warning: gdk_cursor_new_from_surface: assertion '0 <= x && x < cairo_image_surface_get_width (surface)' failed Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
This is the corresponding fix for EGL server mouse. Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Make mouse cursor size scale with the window size on Cairo/EGL client mouse and Cairo server mouse. The cursor size should always be the same as how big it really is inside the virtual machine. Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
GDK scales hotspot coordinates using screen scale factor on X11. We need to undo this to get the correct hotspot behavior, otherwise mouse selection becomes very inaccurate and difficult in the guest. See [1]. [1] https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.21/gdk/x11/gdkcursor-x11.c#L556-557 Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Fixes #127 . Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by:
Haochen Tong <i@hexchain.org> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-