summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-23ring: add RING_FOREACH_REVERSED_SAFEbitmap-crop.mem-controlYonit Halperin1-0/+6
2013-10-23quic: add x-offset option to bitmap encodingYonit Halperin2-23/+27
Support for bitmap cropping: encode only the bitmap part that is determined by (width x height) and the horizontal offset.
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
2012-09-21Update git.mk to latest versionChristophe Fergeau1-1/+4
2012-09-12Update spice-protocol moduleAlon Levy1-0/+0
Add support for client monitors config in qxl device.
2012-09-10Update spice-protocol submoduleChristophe Fergeau1-0/+0
We need the latest spice-protocol to compile spice to get the A8 surface definitions
2012-08-28build-sys: remove Makefile from marshaller build depMarc-André Lureau1-1/+0
The release tarballs ship with the generated files to avoid extra build work and dependency. However, build was still tiggering a regenration, because of Makefile change. Avoid required rebuild when running ./configure (generating Makefile), there is no variable that could be tweaked, afaict.
2012-08-27inputs: add a INPUTS_KEY_SCANCODE messageMarc-André Lureau2-0/+2
Add a new arbitrary keyboard scancodes message. For now, it will be used to avoid unwanted key repeatition when there is jitter in the network and too much time between DOWN and UP messages, instead the client will send the press & release scancode in a sequence. See also: https://bugzilla.redhat.com/show_bug.cgi?id=812347
2012-08-27configure.ac: support automake >= 1.12Alon Levy1-0/+3
2012-08-27support seamless migrationYonit Halperin5-7/+43
see spice-protocol for more details commit 3838ad140a046c4ddf42fef58c9727ecfdc09f9f
2012-08-27add SPICE_MSG_MAIN_AGENT_CONNECTED_TOKENSYonit Halperin3-0/+6
The msg is used for setting the number of allocated client tokens when we notify the client that the agent is attached.
2012-08-24Add support for A8 images to the LZ routinesSøren Sandmann Pedersen13-19/+316
This format is needed to add Render support to the X driver, so we need the ability to compress and decompress it.
2012-08-13canvas_utils: Make sure strides are aligned to multiple of 4Søren Sandmann Pedersen1-0/+3
Pixman requires all strides to be aligned to a multiple of 4. With the upcoming a8 images, this is not guaranteed anymore.