| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Avoid overflows using its values.
The patch was originally written by Christophe Fergeau
Acked-by: Victor Toso <victortoso@redhat.com>
|
|
|
|
|
|
| |
The AudioVolume and AudioMute messages are not sent by the client, so
they do not need to appear in SpiceMessageMarshallers in
client_marshallers.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 7665dcf1bb2fa0b16b3d0015b28d7f5912664c3f.
Also revert the related build-sys changes to fix the build.
codegen generated code depends on spice-common code (marshaller,
messages etc), it makes more sense to keep the generator along
this. Otherwise a newer protocol release will fail to build older
projects.
*.proto files are required as well, since it generates code that parent
modules depend on unconditionnaly.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
|
|
|
| |
has_fd was not initialized.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Marc-André Lureau <mlureau@redhat.com>
|
|
|
|
|
|
|
|
|
| |
In some cases, it might be worth to be able to send a message with a -1
fd, has the protocol permits. Change add_fd/get_fd in order to track
if the caller wanted to send -1.
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
|
|
|
|
|
|
|
| |
Code is in the slow path, this reduce space needed for data+code.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
| |
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
| |
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
| |
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
| |
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
|
|
| |
avoid to compute the string length twice and use memcpy instead of
strcpy which is faster not having to check for terminator.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
|
|
| |
Actually not causing problems as when used is always followed by another
terminator but better to fix the definition.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
| |
It's redundant with spice_warn_if_fail(), and can even be confusing.
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
spice-common has been duplicating glib logging methods for a long while.
Now that spice-common is depending on glib, it's more consistent to use
glib logging too. However, the code base is still using spice logging
functions.
This commit aims to make spice logging go through glib logging system,
while keeping the same behaviour for the SPICE_ABORT_LEVEL and
SPICE_DEBUG_LEVEL environment variables. They are deprecated however in
favour of the glib alternatives (G_DEBUG and G_MESSAGES_DEBUG).
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
|
|
|
| |
If header guards are working as expected, there should not be multiple
definitions of these macros. If they are redefined somewhere else, this
is a bug we want to fix.
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
| |
No need to have our own SPICE_STMT_BEGIN/END and SPICE_STRINGIFY
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
| |
It will be used in the server code
Acked-by: Frediano Ziglio <fziglio@redhat.com>
|
|
|
|
|
|
|
| |
See related protocol changes.
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The marshaller can't serialize fd in memory stream. Instead, append the
fd to the marshaller structure. The marshaller user is responsible for
sending the fd when the message is sent. The fd to send can be retrieved
with spice_marshaller_get_fd().
Note: only a single fd is supported with this API, supporting multiple
fd is left for the future if it becomes necessary.
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
|
|
|
|
|
|
|
|
|
| |
This is consistent with the rest of the code making clear
fields are pointers.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Uri Lublin <uril@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
|
|
|
|
| |
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
| |
|
|
|
|
|
| |
The surface before conversion can be either LE or BE on a BE machine.
Check against both BE and LE color order on BE machine.
|
|
|
|
| |
Fixes color order on PowerPC when using jpeg compression.
|
|
|
|
| |
Fixes color order on PowerPC when using LZ4 image compression.
|
|
|
|
| |
Fixes color order on PowerPC when using LZ image compression.
|
|
|
|
| |
Fixes color order on PowerPC when using QUIC image compression.
|
|
|
|
|
|
|
|
|
|
|
| |
On LE machine, color order when creating surface will always be A/XRGB.
On BE machines the color order will sometimes be ARGB and sometimes BGRA/X.
This is because we actually create the surface two times on BE machines.
Once with BE order, and then again with LE order. Copying data inbetween
theese two surfaces will byteswap the colors automatically.
This change introduces cases for BGRA/X color byte orders on BE machines.
|
|
|
|
|
|
| |
After the previous commit, spice_bitmap_try_as_pixman() can be
simplified as its #ifdef WORDS_BIGENDIAN exactly match what the
PIXMAN_LE_ constants do.
|
|
|
|
|
|
|
|
|
|
| |
When using image compression on PowerPC architecture, colors are in
wrong order ARGB -> BGRA.
This commit introduces macros, that will change the color order
according to machine endianness.
Theese macros are similar to QEMU macros in qemu-pixman.h
|
|
|
|
|
| |
GInetAddress is a GObject, so we must unref anything we create with
g_inet_address_new_*
|
|
|
|
| |
It will return NULL if the string we pass it cannot be parsed.
|
|
|
|
|
|
|
|
|
| |
libcacard.h requires 2.5.1. Keep compatibility for older versions until
the transition in distros to the standalone version is done.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
[ Christophe: add < 2.5.1 fallback ]
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
|
| |
|
|
|
|
|
| |
The other conditionals are using the HAVE_ prefix, using HAVE_GL rather
than SUPPORT_GL improves consistency.
|
|
|
|
|
|
|
|
| |
Change inet_aton function to glib functions.
inet_aton only supported IPv4 addresses, and wasn't available on windows
machines. GInetAddress functions support IPv6 natively, and requires less
boilerplate code then IPv6 gettaddrinfo().
|
|
|
|
|
| |
Only check for address length, when connecting through IP address.
It is not used, when connecting through DNS hostname.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linearization optimization that avoids copying only one item must
check that there are no further marshallers in the chain.
Just to be clear, we are trying to marshall a message like this:
message {
uint32 data_size;
uint64 *data[data_size] @marshall;
} SomeData;
Where the data field points to an array in dynamic memory. Marshalling
and demarshalling functions look good. The marshalling function creates
a submarshaller for the data field and links it to the root marshaller.
But when it comes to sending the data through the wire, only the
data_size field gets sent. We have observed that, in
spice_marshaller_linearize, execution enters into the optimization that
avoids copying the data when the root marshaller only has one item, but
it ignores the following marshallers in the list. Checking if there are
more marshallers fixes the problem.
|
|
|
|
| |
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
|
|
|
|
|
|
| |
Now that spice-protocol ships the needed .proto files as well as the
corresponding python scripts, spice-common can use these in order to
generate the C code for the SPICE (de)marshallers.
|
|
|
|
|
|
|
|
|
| |
Runtime conversion from a string to uint32 is storing the magic with the same
endianness on both LE and BE machines. This requires aditional byte swap
when sending magic between LE/BE machines.
Changing quic magic to a constant will ensure, that it will be always stored in
native endianness, and the second byte swap won't be needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit d39dfbfe changes lz magic to be always treated as LE when encoded.
Runtime conversion from a string to uint32 is storing the magic with the same
endianness on both LE and BE machines. This requires aditional byte swap
when sending magic between LE/BE machines.
Changing lz magic to a constant will ensure, that it will be always stored in
native endianness, and the second byte swap won't be needed.
This commit reverts d39dfbfe changes in lz.c while keeping the rest.
They will be needed in future commit for quic.c
|
|
|
|
|
| |
Converts all decoded words in quic from little endian to local
machine endianness.
|
|
|
|
|
|
|
|
|
| |
When accessing a virtual desktop from different devices, some may have
different image compression requirements, e.g. slow devices may prefer
the faster LZ4 over GLZ. This message instructs the server to switch the
image compression algorithm. This patch also promotes the
SPICE_IMAGE_COMPRESS_* constants so that they are available from both
the server and the client.
|
|
|
|
|
|
| |
Signed-off-by: Erlon R. Cruz <erlon.cruz@br.flextronics.com>
Signed-off-by: Rafael F. Santos <fonsecasantos.rafael@gmail.com>
Signed-off-by: Fabiano Fidêncio <Fabiano.Fidêncio@fit-tecnologia.org.br>
|
|
|
|
|
|
|
|
|
| |
Both wincrypt.h and openssl try to define X509_NAME. The wincrypt.h one
is not useful for us, so we currently #undef it if this was set.
However, it's done very late, right before including x509v3.h which
defines the X509_NAME type. Any header included in between may try to
#include x509v3.h so it's better to undefine X509_NAME right after
including wincrypt.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Every time it's used, it's in constructs similar to:
#ifdef SW_CANVAS_CACHE
, SpiceImageCache *bits_cache
, SpicePaletteCache *palette_cache
#elif defined(SW_CANVAS_IMAGE_CACHE)
, SpiceImageCache *bits_cache
#endif
This can be rewritten as:
, SpiceImageCache *bits_cache
#ifdef SW_CANVAS_CACHE
, SpicePaletteCache *palette_cache
#endif
allowing to get rid of SW_CANVAS_IMAGE_CACHE.
|
| |
|
|
|
|
| |
pixman_image_surface_get_stride -> pixman_image_get_stride
|
| |
|