summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-03-12spice-common: start adding egl protocolHEADmasterDave Airlie3-0/+27
2014-01-20quic: Fix test which is always trueChristophe Fergeau1-1/+1
find_model_params() is first doing *nbuckets = 0; and it then checks nbuckets for NULL. This is redundant as the dereferencing would cause a segfault if nbuckets was NULL, so the if (nbuckets) test can't be false. As Uri pointed out, the "/* bucket start */" comment on the same line probably implies that the test was meant to be 'if (*nbuckets)' I've ran a few test and I did not observe issues because of it...
2014-01-07ssl: Don't use uninitialized variable in verify_subject()Christophe Fergeau2-12/+9
If verify_subject() is called with a SpiceOpenSSLVerify struct containing a non-NULL 'in_subject' member, it would try to use the local 'in_entries' variable without having initialized it first. This could happen if verify_subject() was called multiple time with the same SpiceOpenSSLVerify context, which probably isn't occurring the way we are using it. However, since verify_subject() is the only method which needs in_subject, we don't need to have it stored in SpiceOpenSSLVerify, and we can recreate it as needed locally in that method, which avoids that issue.
2014-01-07mi: Fix shadow warningsChristophe Fergeau1-4/+0
Based off a xserver commit from Yaakov Selkowitz: http://cgit.freedesktop.org/xorg/xserver/commit/mi/mispans.c?id=f02e27e4fcc34413b2051e5a01edc92172fa8612
2014-01-07mi: fix memory leak in miFillUniqueSpanGroupChristophe Fergeau1-0/+2
This is based off the corresponding xserver commit from Tiago Vignatti: http://cgit.freedesktop.org/xorg/xserver/commit/mi/mispans.c?id=7ae46b69ba3f05f46529131e6a864904967cde3a Since xrealloc is #defined to spice_realloc which aborts on failure, this block is dead code, but I prefer to stay as close as possible to the upstream xserver code this is based on.
2014-01-07mi: Avoid stack smash when drawing dashed linesChristophe Fergeau1-3/+3
Based off Peter Harris's xserver commit http://cgit.freedesktop.org/xorg/xserver/commit/mi/miwideline.c?id=20c2a3bcb11b5baf564e2c73a477ba23f5ae2b10
2014-01-07quic: Add missing break; in switch/caseChristophe Fergeau1-0/+2
Unhandled values call an error callback, and then fall through the default: case, which will call again the error callback. This commit adds some break; after these cases to avoid this.
2014-01-07backtrace: Don't attempt to call seteuid(0)Christophe Fergeau1-1/+0
We are mostly likely not running as root, so this call will fail. As we are supposed to check its return value as it's declared with warn_unused_result, the current way of using it is wrong, so this commit just removes the call.
2014-01-07Remove unused variableChristophe Fergeau1-2/+0
It was assigned a value, but then the value was never used.
2014-01-02Add support for the Opus codec.Jeremy White7-12/+147
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
2014-01-02Add a snd_codec interface to abstract the use of audio codecs such as celt.Jeremy White4-0/+372
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
2013-11-19Update spice-protocolMarc-André Lureau1-0/+0
2013-10-23Be explicit about spice-common licenseJonathon Jongsma2-2/+523
Use same license as spice-gtk and spice modules (LGPL 2.1) since those licenses applied to the spice-common submodule in the past. This makes it more clear that if you use spice-common separately, the license is still LGPL. Also mention license and copyright in generated files.
2013-10-23codegen: Add a --generate-wireshark-dissector optionJonathon Jongsma2-32/+82
The wireshark protocol dissector is a bit out-of-date. Several new channel types and enums have been added. It would be nice if these values (and the translation between the value and the name) could be automatically generated so that updating the dissector was a slightly less manual process. This patch adds a commandline switch which generates both the enums and value-name lists in the format that wireshark expects.
2013-10-11ssl: Don't try hostname check if cert subject check failsChristophe Fergeau1-8/+5
Currently, SSL verification of the peer certificate checks if the certificate's subject CN or one of its subjectAltName match the hostname. If this succeeds, then the verification succeeds. Otherwise openssl_verify() checks the cert subject if this was set, which means it checks the certificate's subject (not just its CN) matches exactly the cert subject string that is set in SpiceSession. Given that the cert subject is something the user specifies in addition to the hostname, the cert subject check should have priority over the hostname check, that is, when we have a cert subject set, the success/failure of the cert subject cert should determine the success/failure of openssl_verify(), and the hostname check should only be carried out when no cert subject was set. This fixes rhbz#871034
2013-10-11ssl: Log an error when peer certificate verification failedChristophe Fergeau1-1/+9
We currently log an error when openssl_verify() is called with preverify_ok set to 0 for all certificates in the certificate chain except for the peer certificate (when 'depth' is 0). This commit logs an error in the latter case as well.
2013-10-11ssl: Improve error message in cert chain verificationChristophe Fergeau1-2/+2
It contains the same information as before, but should be more readable.
2013-10-04Remove INLINE usageMarc-André Lureau9-48/+48
Since inline is c99 and its already used in some files
2013-09-30gl: use glCopyPixels()Marc-André Lureau1-1/+1
I don't see why the fallback method should be the default. glCopyTexImage2D and glCopyPixels are equally broken with current Intel mesa/drivers (I'll be filing a bug). But sw rendering is correct.
2013-09-30gl: cope with positive stride in put_image()Marc-André Lureau1-3/+7
Keeping the warning, because I don't think this should happen anyway.
2013-09-30gl: ignore alpha channel in draw_copyMarc-André Lureau1-0/+1
Similar to sw canvas blit copy operation, and not a blend.
2013-09-30gl: ignore if mask has not bitmapMarc-André Lureau1-1/+2
Similar to how sw canvas ignore mask if !bitmap in canvas_mask_pixman().
2013-09-26build-sys: add --enable-smartcard=autoMarc-André Lureau1-10/+14
Use same implementation as spice-gtk, to avoid need to explicitely set smartcard support
2013-09-12Update spice-protocolMarc-André Lureau1-0/+0
2013-09-12quic: precompute golomb codesMarc-André Lureau2-14/+33
We can avoid repetitive computation by using two precomputed array, of 8k each. before: 1.79% lt-spicy-stats libspice-client-glib-2.0.so.8.4.0 [.] golomb_code_len_8bpc after: 0.79% lt-spicy-stats libspice-client-glib-2.0.so.8.4.0 [.] golomb_code_len_8bpc
2013-09-12quic: compile with constant bppMarc-André Lureau3-13/+13
This simplifies a little bit function calling, and allows for compiler to potentially specialize and optimize a bit better each version.
2013-09-12canvas: use precomputed revers_bitsMarc-André Lureau1-0/+43
Thos function shows up in some profiling results, it seems we can trivially replace it with a precomputed array of 256bytes. before: 5.66% 691 lt-spicy-stats libspice-client-glib-2.0.so.8.4.0 [.] revers_bits after: 0.53% 64 lt-spicy-stats libspice-client-glib-2.0.so.8.4.0 [.] revers_bits
2013-09-12proto: add fake last message in base channelMarc-André Lureau1-0/+2
Make it explicit that 100 is the last value of the base channel messages. This allows clients to use the generated enum value too.
2013-09-12proto: comment future surface flags usageMarc-André Lureau1-0/+2
2013-08-20Fix min gcc version for __attribute__(format)Christophe Fergeau1-7/+3
We currently use it only on gcc 4.5 or newer, but it was actually introduced much earlier than that. It's documented in gcc 2.95.3 manual: http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC84 and glib uses starting from gcc 2.2.5. This commit uses the same minimum version as glib. This was causing warnings on RHEL6 systems which have gcc 4.4.7
2013-07-10Update spice-protocol to 0.12.6Uri Lublin1-0/+0
2013-06-24Update spice-protocolHans de Goede1-0/+0
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-04-22add SPICE_MSG_PLAYBACK_LATENCYYonit Halperin3-0/+8
SPICE_MSG_PLAYBACK_LATENCY is intended for adjusting the latency of the audio playback. It is used for synchronizing the audio and video playback. The corresponding capability is SPICE_PLAYBACK_CAP_LATENCY.
2013-04-22add stream report messagesYonit Halperin4-0/+37
If the server & client support SPICE_DISPLAY_CAP_STREAM_REPORT, the server first sends SPICE_MSG_DISPLAY_STREAM_ACTIVATE_REPORT. Then, the client periodically sends SPICE_MSGC_DISPLAY_STREAM_REPORT messages that supply the server details about the current quality of the video streaming on the client side. The server analyses the report and adjust the stream parameters accordingly.
2013-04-10Add compile-time check for lz arraysChristophe Fergeau3-0/+251
In addition to Laszlo's commit fixing rhbz#928973, we can add some compile-time assertion to lz_common.h to help catch similar bugs in the future. This uses gnulib's verify.h to make sure at compile-time that the various constant arrays used in lz_common.h are of the expected size. I've checked that before Laszlo's patch, the assert triggers, and that it's gone after it.
2013-04-10supply missing IS_IMAGE_TYPE_* elements for LZ_IMAGE_TYPE_A8Laszlo Ersek1-2/+2
The IS_IMAGE_TYPE_PLT and IS_IMAGE_TYPE_RGB arrays are supposed to decide whether each image type is PLT or RGB. Dependent on the result, one of the PLT_PIXELS_PER_BYTE and RGB_BYTES_PER_PIXEL arrays can be indexed. Commit c0b048eb introduced the LZ_IMAGE_TYPE_A8 enum constant and grew the RGB_BYTES_PER_PIXEL array by one element, but it missed to append a zero to IS_IMAGE_TYPE_PLT, and a one to IS_IMAGE_TYPE_RGB. Do so now. Related RHBZ: 928973. Signed-off-by: Laszlo Ersek <lersek@redhat.com>
2013-04-02region.c: fix region_bounds_intersectsYonit Halperin1-1/+1
region_bounds_intersects mistakingly ignored one of the input regions, and compared the other region to itself.
2013-03-07Update spice-protocolHans de Goede1-0/+0
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-03-04Update spice-protocolHans de Goede1-0/+0
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-02-07Address a compilation warning due to missing typecastMichael Tokarev1-1/+1
Author: Serge Hallyn <serge.hallyn@ubuntu.com> This is a trivial typecast fix, -- all surrounding lines cast lines_end to PIXEL* but one is apparently forgotten. This fixes a compiler warning about incompatible types in assignment.
2013-02-07spice-common: remove version constructionMichael Tokarev1-1/+1
Version string isn't used anywhere in spice-common, and there's no version for spice-common module per se, either. Hoever, configure.ac has this: AC_INIT([spice-common], [m4_esyscmd(build-aux/git-version-gen .tarball-version)], [spice-devel@lists.freedesktop.org]) But since git-version-gen script is not provided in spice-common module, multiple error messages are produced when generating configure (running autogen/autoreconf), like this: sh: ./build-aux/git-version-gen: not found (repeated about 50 times). The following trivial patch removes usage of build-aux/git-version-gen from AC_INIT and replaces it with a string "noversion", to stop these scary messages from being produced. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-01-31canvas_base: fix not caching palettes that belong to images that are not ↵Yonit Halperin1-1/+18
rendered Fixes: fedora 875348, 826036 When an image is not rendered, we still need to check if it contains a palette that needs to be cached. This bug caused the client to crash due to not finding palettes in the cache.
2013-01-28spice-protocol: updated submodule for new PROXY controller messageMarc-André Lureau1-0/+0
2013-01-18spice-common: Update spice-protocol to include ↵Hans de Goede1-0/+0
VD_AGENT_CAP_SPARSE_MONITORS_CONFIG Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-01-11Update spice-protocolDunrong Huang1-0/+0
2012-12-05Add a "port" channelMarc-André Lureau3-0/+32
A Spice port channel carry arbitrary data between the Spice client and the Spice server. It may be used to provide additional services on top of a Spice connection. For example, a channel can be associated with the qemu monitor for the client to interact with it, just like any qemu chardev. Or it may be used with various protocols, such as the Spice Controller. A port kind is identified simply by its fqdn, such as org.qemu.monitor, org.spice.spicy.test or org.ovirt.controller... The channel is based on Spicevmc which simply tunnels data between client and server. A few messages have been added: SPICE_MSG_PORT_INIT: Describes the port state and fqdn name, should be sent only once when the client connects. SPICE_MSG_PORT_EVENT: Server port event. SPICE_PORT_EVENT_OPENED and SPICE_PORT_EVENT_CLOSED are typical values when the chardev is opened or closed. SPICE_MSGC_PORT_EVENT: Client port event.
2012-12-05update spice-protocolMarc-André Lureau1-0/+0
2012-11-04common/lz.c: improve lz_encode commentAlon Levy1-2/+3
2012-10-18ssl-verify: use more explicit error messageMarc-André Lureau1-0/+3
When the server certificate is not being signed by the provided CA, the SSL debug message is currently for example: ssl_verify.c:428:openssl_verify: openssl verify:num=19:self signed certificate in certificate chain:depth=1:/C=IL/L=Raanana/O=Red Hat/CN=my CA Add a more explicit debug message too, as requested in bug: https://bugzilla.redhat.com/show_bug.cgi?id=846666
2012-09-21Update spice-protocol submodule to 0.12.2Christophe Fergeau1-0/+0