| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
When vm state changes (started/stopped), we notify all the
attached SpiceCharDeviceStates about the change. This is mainly required
for avoiding writing/reading to/from the device during the non-live
stage of migration.
spice version will be bumped in one of the following patches.
|
|
|
|
|
|
| |
The list of attached char_devices will be used in the next patch
for notifying each instance of SpiceCharDeviceState when the vm
is started or stopped.
|
|
|
|
|
| |
if vdi_port_read_buf_process failes, we detach the agent and also release
the read buffer. We shouldn't try reading from the device afterwards.
|
|
|
|
| |
send SPICE_MSG_MAIN_AGENT_CONNECTED_TOKENS
|
|
|
|
| |
for checking if all the channel clients connected support the cap
|
|
|
|
|
|
| |
All the real work is being done in spice-common, so this patch is just
hooking up the virtual calls and adding the SPICE_DISPLAY_CAP_COMPOSITE
capability.
|
|
|
|
|
|
| |
In red-parse-qxl.c add support for parsing QXLComposite into
SpiceComposite. In red-worker.c add support for marshalling
SpiceComposite onto the wire.
|
|
|
|
|
|
| |
Graduality is irrelevant for A8 images, so instead of using RGB-ness
as a short-cut, add a new macro BITMAP_FMT_HAS_GRADUALITY() that
returns true for the existing RGB images, but false for A8.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After marshalling MSG_STREAM_CREATE, there is no need to ref and
unref stream->current before and after completing the sending of the
message (correspondingly). The referencing is unnecessary because all
the data that is required from the drawable (the clipping), is copied
during marshalling, and no field in the drawable is referenced (see
spice_marshall_msg_display_stream_create).
Moreover, the referencing was bugous:
While display_channel_hold_pipe_item and
display_channel_client_release_item_after_push referenced and
dereferenced, correspondingly, stream->current, stream->current might
have changed in between these calls, and then we ended up with one drawable
leaking, and one drawable released before its time has come (which
of course led to critical errors).
|
|
|
|
|
| |
bump current and age since only additions where done.
new server library is libspice-server.so.1.2.0 .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a SpiceMsgDisplayMonitorsConfig is sent on two occasions:
* as a result of a spice_qxl_monitors_config_async
* whenever a client connects and there is a previously set monitors
config
Sending the new message is protected by a new cap,
SPICE_DISPLAY_CAP_MONITORS_CONFIG
More elaborately:
spice_qxl_monitors_config_async receives a QXLPHYSICAL address of a
QXLMonitorsConfig struct and reads it, caching it in the RedWorker, and
sending it to all clients. Whenever a new client connects it receives
a SpiceMsgDisplayMonitorsConfig message as well.
|
| |
|
| |
|
|
|
|
|
|
| |
prevents division by zero later (SIGFPE, Arithmetic exception) in
spice-common code, at spice-common/common/canvas_base.c:646
for both client and server (server only upon rendering).
|
|
|
|
| |
introduced by 2ec2dbc78a660ee4e3315f50c881d9e31a8e4fe2
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
TODO: some day, switch to git.mk
|
|
|
|
|
|
|
|
|
|
|
|
| |
The spicec client is no longer actively maintained.
By removing cegui from distcheck, we can avoid extra build time and
dependencies (>150Mb extra cegui/boost on fedora)
Slirp is not available in most distributions, afaict, making it hard
to build consistantly accross various systems.
The client is still build if the dependencies are present.
|
|
|
|
| |
The server too can use opengl, independently from client.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rules for replacing spice_printerr:
* if it's a client drop / agent drop, spice_error
* if it's important, spice_warning
* else, spice_info.
The fourth rule is spice_debug if it's going to fill up the log, but
nothing of the sort here.
Other things this patch does:
* changed reds_show_new_channel to reds_info_new_channel in an attempt to
advertise it doesn't always show anything, unless SPICE_DEBUG_LOG_LEVEL
>= SPICE_DEVUG_LOG_INFO (==3)
* removes two lines of whitespace.
* added "crashy" to multiple client warning (only warning introduced,
the rest are errors).
|
|
|
|
|
|
| |
Specifically all those that the previous patch converted to spice_debug.
spice_debug contains very verbose stuff like update_area that drowns out
those relatively rare (client connect / disconnect generated) messages.
|
| |
|
| |
|
|
|
|
|
| |
Replaced mostly with spice_debug, but spice_warning & spice_error as
well where appropriate.
|
| |
|
|
|
|
| |
The original definition is in spice.h
|
|
|
|
| |
In addition, I also removed the no longer used wakeup callback
|
|
|
|
|
|
| |
With SpiceCharDeviceState, the smartcard code now supports partial writes,
and storing data that is received from the client after the device is
stopped, instead of attempting to write it to the guest.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The lifetime of the channel is not necessarily correlated to the life
time of the device. In the next patch, we need to keep a reference
to SpiceCharDeviceWriteBuffer, which might be in use even if the
SpiceCharDeviceState is destroyed, but the channel is still connected.
The next patch keeps this reference inside SmartCardChannelClient.
This patch also removes the routine smartcard_readers_detach_all(rcc), which
is unnecessary since we don't support multiple readers; even when
we do support them, each channel client should be associated with only
one reader (i.e., we will have different channels for different
readers).
|
|
|
|
|
|
|
| |
This patch and the following one do not introduce tokening to the smartcard
channel. But this can be done easily later, by setting the appropriate
variables in SpiceCharDeviceState (after adding the appropriate protocol messages,
and implementing this in the client side).
|
|
|
|
|
|
| |
With SpiceCharDeviceState, spicevmc now supports partial writes,
and storing data that is received from the client after the device is
stopped, instead of attempting to write it to the guest.
|
|
|
|
|
|
|
|
| |
This patch and the following one do not introduce tokening to the
spicevmc channel. But this can be done easily later, by setting the appropriate
variables in SpiceCharDeviceState (after adding
the appropriate protocol messages, and implementing this in the client
side).
|
| |
|
|
|
|
|
| |
This is an intermediate patch. The next patch will actually
push the buffer to the device, instead of copying it.
|
| |
|
|
|
|
|
|
|
| |
This code is never called, it was relevant for seamless migration.
Most of the data that needs to be migrated was moved to
SpiceCharDeviceState. When we implement seamless migration,
we will have routines in char_device.c for migrating the relevant data.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Allow sending tokens to a specific client.
- Do not ignore tokens that are sent from the client to the server.
The tokens support for multiple clients and for server side tokens
is still broken in reds. It will be fixed in following patches, when
the server-side agent code will use the SpiceCharDeviceState api.
Notice that ignoring the server-side tokens didn't introduce a problem
since both the client and the server set it to ~0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SpiceCharDeviceState manages the (1) write-to-device queue
(2) wakeup and reading from the device (3) client tokens (4)
sending messages from the device to the client/s, considering the
available tokens.
SpiceCharDeviceState can be also stopped and started. When the device
is stopped, no reading or writing is done from/to the device. Messages
addressed from the client to the device are being queued.
Later, an api for stop/start will be added to spice.h and it should
be called from qemu.
This patch does not yet remove the wakeup callback from
SpiceCharDeviceState, but once all the char devices (agent/spicevmc/smartcard)
code will switch to the new implementation, SpiceCharDeviceState
will be moved to the c file and its reference to the wakeup callback will be removed.
|
| |
|
|
|
|
| |
from the device
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Includes using the same spice.proto as spice-gtk now, with smartcard
fixes, more verbose output when SSL verification fails, and some
warnings fixes. shortlog:
Alon Levy (6):
python_modules/ptypes.py/EnumBaseType.c_enumname: add missing return to fix broken enums generation
smartcard: build fixes for spice server
updated spice-protocol for smartcard enums non conflict with libcacard
Makefile.am: fix .gitignore not being generated in spice-protocol/spice
Makefile.am: now that spice_codegen.py is used add *.pyc to ignored files in root
update spice-protocol for smartcard enums fix
Christophe Fergeau (1):
ssl: more verbose output when SSL verification fails
Marc-André Lureau (3):
ssl-verify: add a bit of run-time checks
Fix invalid macro usage
Fix a gcc warning
|
|
|
|
| |
(cherry picked from commit dd5c995c32cf595d31e59975bd1b3216cf996656)
|
|
|
|
|
|
| |
support"
This reverts commit 3baf290be79cfb1872b90f7724efa50aa343d74b.
|
|
|
|
| |
This reverts commit dd5c995c32cf595d31e59975bd1b3216cf996656.
|