summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Remove headers that are included in spice_common.hVictor Toso2016-01-079-27/+5
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* Remove trailing whitespaceLukas Venhoda2015-12-184-9/+9
|
* ppc: Fix alpha state checking on BE machinesLukas Venhoda2015-12-171-0/+3
| | | | | 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.
* ppc: Fix colors on ppc when using jpegLukas Venhoda2015-12-171-2/+2
| | | | Fixes color order on PowerPC when using jpeg compression.
* ppc: Fix colors on ppc when using LZ4Lukas Venhoda2015-12-171-3/+3
| | | | Fixes color order on PowerPC when using LZ4 image compression.
* ppc: Fix colors on ppc when using LZLukas Venhoda2015-12-171-3/+3
| | | | Fixes color order on PowerPC when using LZ image compression.
* ppc: Fix colors on ppc when using QUICLukas Venhoda2015-12-171-3/+3
| | | | Fixes color order on PowerPC when using QUIC image compression.
* ppc: Add support for bigendian color byte orderLukas Venhoda2015-12-171-0/+14
| | | | | | | | | | | 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.
* pixman_utils: Use PIXMAN_LE_ constants in spice_bitmap_try_as_pixman()Lukas Venhoda2015-12-171-15/+3
| | | | | | 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.
* pixman_utils: Add macros for color byte orderingLukas Venhoda2015-12-171-0/+10
| | | | | | | | | | 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
* ssl-verify: Don't leak GInetAddressChristophe Fergeau2015-11-271-2/+8
| | | | | GInetAddress is a GObject, so we must unref anything we create with g_inet_address_new_*
* ssl-verify: Handle NULL return from g_inet_address_new_from_string()Christophe Fergeau2015-11-271-2/+6
| | | | It will return NULL if the string we pass it cannot be parsed.
* Use new libcacard.h if possibleMarc-André Lureau2015-11-251-1/+5
| | | | | | | | | 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>
* canvas_base: Remove redundant switch case blockLukas Venhoda2015-11-241-4/+1
|
* build-sys: Rename SUPPORT_GL to HAVE_GLChristophe Fergeau2015-10-231-1/+1
| | | | | The other conditionals are using the HAVE_ prefix, using HAVE_GL rather than SUPPORT_GL improves consistency.
* ssl-verify: Changed IPv4 hostname to IPv6Lukas Venhoda2015-10-231-24/+21
| | | | | | | | 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().
* ssl-verify: Only check addr length when using IP addrLukas Venhoda2015-10-231-7/+8
| | | | | Only check for address length, when connecting through IP address. It is not used, when connecting through DNS hostname.
* Fix linearization of several marshallers with one itemJavier Celaya2015-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* common: Fix typo in commentFrediano Ziglio2015-08-141-1/+1
| | | | Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
* Use installed spice-protocol for code generationChristophe Fergeau2015-08-111-29/+23
| | | | | | 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.
* ppc: Fix quic magic endianessLukas Venhoda2015-07-021-1/+2
| | | | | | | | | 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.
* ppc: Fix lz magic endianessLukas Venhoda2015-07-022-4/+3
| | | | | | | | | | | | | | 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
* ppc: Fix quic decode endianessLukas Venhoda2015-07-021-3/+5
| | | | | Converts all decoded words in quic from little endian to local machine endianness.
* Proto: Add preferred compression message and constants.Javier Celaya2015-06-222-0/+5
| | | | | | | | | 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.
* ppc: Fix lz magic endiannessErlon Cruz2015-04-101-1/+3
| | | | | | 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>
* ssl_verify: Move wincrypt.h related #ifdef closer to the includeChristophe Fergeau2015-03-261-4/+4
| | | | | | | | | 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.
* Get rid of SW_CANVAS_IMAGE_CACHEChristophe Fergeau2015-03-266-42/+14
| | | | | | | | | | | | | | | | | | | | 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.
* Remove another redundant (SW_CANVAS_CACHE) || (SW_CANVAS_IMAGE_CACHE) #ifdefChristophe Fergeau2015-03-261-2/+0
|
* Fix typo in pixman_image_get_stride() functionFabiano Fidêncio2015-02-251-1/+1
| | | | pixman_image_surface_get_stride -> pixman_image_get_stride
* LZ4: Do not include arpa/inet.h in Windows buildsJavier Celaya2015-02-031-0/+2
|
* LZ4: Add support for 24bit pixman surfacesJavier Celaya2015-02-032-0/+11
|
* LZ4: Fix the row alignment when it is not on a 32bit boundaryJavier Celaya2015-02-031-2/+20
| | | | | | Fix the row alignment for 16/24 bpp images when it is not in a 32bit boundary. This is needed for 16bpp images when the width is an odd number, and for the future support of 24bpp images.
* LZ4: Decode the image format from the streamJavier Celaya2015-02-031-1/+19
|
* LZ4: Adjust reading the top_down flagJavier Celaya2015-02-031-4/+4
| | | | | Adjust the way the top_down flag is read to the corresponding change in the wire protocol.
* LZ4: Fix output buffer sizeJavier Celaya2015-02-031-2/+4
|
* Remove redundant #if defined(SW_CANVAS_CACHE) || defined(SW_CANVAS_IMAGE_CACHE)Christophe Fergeau2015-01-231-37/+1
| | | | | | | SW_CANVAS_CACHE is always defined when building spice-gtk, SW_CANVAS_IMAGE_CACHE is always defined when building spice-server, and they are the only 2 users of spice-common. Moreover, build when none of these is defined is broken.
* Remove unused 'invers' arg from canvas_get_*Christophe Fergeau2015-01-231-67/+11
| | | | | | | All canvas_get_{quic,jpeg,lz4,jpeg_alpha,lz} methods have an 'invers' argument, but are always called with that argument being 0, so we can drop it from the argument list, and remove the code triggerring when it's true.
* common: fix build with mingwVictor Toso2015-01-061-1/+1
|
* build-sys: Move pixman check to m4 macroChristophe Fergeau2014-12-091-1/+0
|
* build-sys: Move opengl check to m4 macroChristophe Fergeau2014-12-091-1/+0
|
* build-sys: Move opus check to m4 macroChristophe Fergeau2014-12-091-2/+1
|
* build-sys: Move celt check to m4 macroChristophe Fergeau2014-12-091-3/+1
|
* build-sys: Move smartcard check to m4 macroChristophe Fergeau2014-12-091-1/+2
|
* build-sys: Small cleanup of AM_CPPFLAGSChristophe Fergeau2014-12-091-3/+0
| | | | | | | | Commit 4fafa210 added WARN_CFLAGS, VISIBILITY_HIDDEN_CFLAGS and -std=gnu99 to AM_CFLAGS in common/Makefile.am, but these are not needed. WARN_CFLAGS and VISIBILITY_HIDDEN_CFLAGS are not defined anywhere in spice-common, and spice-common compiles fine without -std=gnu99 on my f21 box.
* Remove unused header fileChristophe Fergeau2014-12-043-44/+0
| | | | | Nothing uses the definition it contains (I've tested spice-gtk and spice)
* Add LZ4 image compression support.Javier Celaya2014-12-022-1/+73
| | | | | | | - Add a new LZ4 image type to spice.proto. - Add canvas_get_lz4() to common_canvas_base, to get a pixmap from an lz4 image. - Add an enable-lz4 switch to the configure script, disabled by default.
* glc: Fix "warning: unused variable 'recreate'"Christophe Fergeau2014-11-241-1/+1
|
* gdi: fix path segments drawing天外银龙2014-11-101-1/+1
| | | | | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=64698
* common: Fix -Wunused-variableVictor Toso2014-10-231-0/+6
| | | | | Fix a few warnings from unused variables when compiling spice-common without OPUS or celt051.
* common: Fix -Wmissing-field-initializersFabiano Fidêncio2014-09-181-1/+1
|