| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
On migration, destroy_surfaces is called from qxl (qxl_hard_reset), before the device was loaded (on destination).
handle_dev_destroy_surfaces led to red_process_commands, which read the qxl command ring
(which appeared to be not empty), and then when processing the command
it accessed unmapped memory.
|
|
|
|
|
| |
In addition (1) make handle_dev_destroy_surfaces call red_release_cursor
(2) call red_wait_outgoing_item(cursor_channel) only after adding msgs to pipe
|
|
|
|
|
|
|
|
|
|
|
| |
When the worker was stoped, the cursor was copied from guest ram to the host ram,
and its corresponding qxl command was released.
This is unecessary, since the qxl ram still exists (we keep references
to the surfaces in the same manner).
It also led to BSOD on guest upon migration: the device tracks cursor set commands and it stores
a reference to the last one. Then, it replays it to the destination server when migrating to it.
However, the command the qxl replayed has already been released from the pci by the original
worker, upon STOP.
|
|
|
|
|
|
|
|
|
| |
Most helpful change is that it prints help if you do --help.
It can take --image parameter, and --client parameter, defaults to spicy.
Incidentally, spicy switch host seems broken - if you run with --client spicec
(assuming spicec is in the PATH), it works fine, but using the default spicy (or
--client spicy) it fails after a single switch.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 456ff9f8d5d27ac763e89e67a100661084695dc5.
That patch just disabled the smartcard channel completely because
the check was done *before* the initialization of the qemu smartcard
devices, not after.
|
|
|
|
|
| |
red_worker was using some share/unshare stream_buf functions whose
body is empty. This commit removes them and their use.
|
| |
|
|
|
|
|
|
| |
According to spice.proto the smartcard channel can receive acks and any
other message defined in BaseChannel. While the spicec implementation didn't
send an ACK spice-gtk does, so handle it.
|
|
|
|
|
|
|
|
| |
7e30572ab adds a #include <config.h> to the beginning of generated
files. It also does this for generated headers and enums files,
which is not wanted, especially if it's an installed file. This
commit only adds this include for the non-header non-enum case
(hopefully, enums are only generated for use in a .h file).
|
|
|
|
|
| |
The C specification reserves use of identifiers starting with __
to the compiler so we shouldn't use one such symbol.
|
|
|
|
|
|
| |
Check both in configure.ac (after checking if we need to rebuild
the marshalling files) and in the python script using pyparsing
(for people modifying .proto files in tarballs)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These messages allow the guest to send the audio device volume to the
client. It uses an arbitrary scale of 16bits, which works good enough
for now.
Save VolumeState in {Playback,Record}State, so that we can send the
current volume on channel connection.
Note about future improvements:
- add exact dB support
- add client to guest volume change
Updated since v2:
- bumped record and playback interface minor version to allow
conditional compilation
Updated since v1:
- sync record volume on connection too
|
| |
|
|
|
|
|
|
|
| |
Commit 9d5ef9beeca722b2ceff7d15aaa3aaaaf07ecfbf in spice-protocol
introduced a typedef manually in the generated enums.h header.
This patch adds them automatically to all enums during enums.h generation.
|
|
|
|
|
|
|
|
|
|
|
| |
After shift+F11, both in Windows 7 and xp clients, WM_KEYUP events were missing for
SHIFT and F11. For F11 it was less important since unpress_all was preformed for all keys.
However, we perform sync for all the keyboard modifiers and the GetKeyboardState returns "down" for shift.
In windows7 client, we sometimes received afterwards a F11 KEYDOWN event repetition, and this caused SHIFT+F11 to be called again.
Not performing hiding of the windows while changing client resolutions, solved the problem of missing events, and I don't see any difference
in how spice looks while toggling to full screen.
Using GetAsyncKeyState, returns "UP" for shift in windows 7, and helps avoid performing shift+f11 again, if there is an F11 repetition
before we receive the KEYUP event for shift.
|
|
|
|
|
|
| |
Enable image randomized base address, hindering some types of
security attacks by making it more difficult for an attacker
to predict target addresses.
|
|
|
|
| |
otherwise x64 is built in root if REDC_BUILD_DIR is not defined
|
| |
|
|
|
|
|
|
|
|
| |
debug build)
-Release currently doesn't use precompiled headers at all
-Debug is broken since common/*.c files don't include common.h
-PCH can be enabled for all but specifically-chosen c-files
|
|
|
|
|
| |
inline __asm is not supported in x64, so use the naive implementation
until x64 asm implemented.
|
|
|
|
|
|
| |
Video streams from Linux guests are oriented top-down, where gdi_canvas_put_image always
received display context for down-top oriented bitmap. I fixed create_bitmap
to consider the stream orientation.
|
|
|
|
|
|
| |
needed for spice/common files used by the client, server & qxl driver.
in windows _inline works for both c/c++, while inline is c++ only.
compiling the client with mixed c/c++ code required this define.
|
|
|
|
| |
eliminating redefinition warning
|
| |
|
|
|
|
| |
disable WarnAsError, due to c/c++ warnings
|
| |
|
|
|
|
|
| |
in windows, we set PACKAGE_VERSION to the binary version
since we don't have config.h as generated by linux configure
|
| |
|
|
|
|
| |
static, remove inline, add (void), and empty line after function variables.
|
| |
|
| |
|
|
|
|
| |
SASL functions will be released with 0.9.0
|
| |
|
|
|
|
|
|
| |
CC test_playback.o
test_playback.c: In function ‘playback_timer_cb’:
test_playback.c:56:5: warning: implicit declaration of function ‘gettimeofday’
|
|
|
|
|
|
|
| |
Fixed since v1:
- don't include C code, rather use the common lib
- add missing spice_openssl_verify_free() call
- keep the extra-parsing of subject for error reporting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code adapter from RedPeer::ssl_verify_callback() and used by
spice-gtk.
Since v1:
- fixed Makefile.am
- added config.h include
- autoconf alloca added in patch series
- moved int escape inside for loop
- added a failed case when missing assignment
- replaced strlen () by -1
- skip spaces after comma
- c++ guards
I didn't use bool, because openSSL uses int, and it is more future
proof for error reporting.
|
|
|
|
|
| |
Please notice it has a "static" modifier, like the rest of the inlined
functions in ring.h, so it won't warn if it isn't used.
|
|
|
|
|
| |
We don't support the autoconf ALLOCA/C_ALLOC fallback. If one day,
someone cares for a weird platform, he can fix it.
|
|
|
|
| |
(this patch is not to solve a crash fix, but to align with glib API)
|
|
|
|
|
| |
This patch has not been verified with VS/brew. It should be safe
hopefully. Compilation is fine with mingw32/spice-gtk.
|
|
|
|
| |
Because we use c99: stdbool.h, inttypes.h, bool, variadic macros, // comments, ...
|
|
|
|
|
| |
There is only one user of get_time_stamp from spice_common.h so
it's not really useful to keep it there.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
spice_common.h provides an ASSERT macro, no need to duplicate it
in many places. For now client/debug.h keeps its own copy since
debug.h and spice_common.h have clashes on other macros which are
trickier to unify.
|
| |
|