summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a SPICE_GTK_CHECK_VERSION macroMarc-André Lureau2014-02-245-0/+89
|
* spice-common: revert last changeMarc-André Lureau2014-02-211-0/+0
|
* session: add spice_session_get_proxy_uri()Marc-André Lureau2014-02-215-0/+18
| | | | | Learn to return the currently configured proxy, to allow client to tweak parameters, such as username and password.
* channel: add spice_channel_get_error()Marc-André Lureau2014-02-219-7/+43
| | | | | Add a function to retrieve the last GError from a channel, this may be useful to provide additional error details to the client.
* Make SpiceURI a public APIMarc-André Lureau2014-02-2115-451/+614
| | | | | Generalize a little bit SpiceProxy to allow easy URI manipulation by clients.
* channel: talk to giostream instead of gsocketMarc-André Lureau2014-02-212-14/+41
|
* channel: simplify has error codeMarc-André Lureau2014-02-211-17/+11
| | | | Get rid of a superflous g_socket_condition_check().
* openssl: learn to handle a new kind of BIO based on GIOStreamMarc-André Lureau2014-02-214-19/+47
| | | | | | Although reusing BIO_new_socket() once again is a hack, it seems to be the easiest way... The proper solution is certainly to start using GTls instead, but that will require a glib 2.28 dep bump.
* Fill g_proxy_address_new() with protocol, user and passwordMarc-André Lureau2014-02-211-2/+5
| | | | | This way, the call might eventually support more proxy and authentication.
* http-proxy: add https proxyMarc-André Lureau2014-02-213-23/+155
| | | | This will require glib 2.28 for GTls support, atm
* spice-proxy: parse https protocolMarc-André Lureau2014-02-211-4/+10
|
* http-proxy: specify Basic schemeMarc-André Lureau2014-02-211-1/+1
| | | | | Or Squid will fail with: WARNING: Unsupported or unconfigured/inactive proxy-auth scheme
* proxy: parse user and pass from uriMarc-André Lureau2014-02-211-0/+13
|
* proxy: add user and pass propertiesMarc-André Lureau2014-02-212-1/+84
|
* proxy: split uri with : in only 2 partsMarc-André Lureau2014-02-211-1/+2
| | | | We want just host:port here.
* compat: add strtok_r fallbackMarc-André Lureau2014-02-214-1/+45
| | | | | | | | The following Spice proxy URI parsing code makes use of it, but it is not available on Windows Origin: http://git.videolan.org/gitweb.cgi/vlc.git/?p=vlc.git;a=blob;f=compat/strtok_r.c
* misc: indent wocky proxy with 2-spacesMarc-André Lureau2014-02-211-7/+7
|
* misc: make warning more explicitMarc-André Lureau2014-02-211-1/+1
|
* Add SpiceVMC GIOStreamMarc-André Lureau2014-02-213-0/+615
| | | | | This allows to use conveniently GIOStream APIs without caring about coroutine and Spice messages details.
* channel: add spice_vmc_write_async()Marc-André Lureau2014-02-213-30/+59
| | | | | Refactor port code to create a private GIO async function that can send SPICE_MSGC_SPICEVMC_DATA message over any channel.
* build-sys: Don't build tests when not building static libsChristophe Fergeau2014-02-202-1/+7
| | | | | | | The tests rely on static linking in order to get access to symbols which are not exported in spice-gtk shared libraries. When build of static libraries is disabled with --disable-static, we should not attempt to build the tests as this will result in link errors.
* Don't attempt to send 0 scancode when releasing keysChristophe Fergeau2014-02-101-1/+4
| | | | | | | | | | | | When releasing all keys, we send a key release for scancode in the key_state array, including the very first element with scancode 0. send_key() complain when the scancode is 0, so make sure we don't call it for this first element. This fixes a (remote-viewer:25548): GSpice-CRITICAL **: send_key: assertion 'scancode != 0' failed warning when starting remote-viewer windowed, and then switching to another desktop client-side using ctrl+alt+arrow.
* Release v0.23v0.23Marc-André Lureau2014-02-102-0/+8
|
* utils tests: fix sign comparison problemRyan Lortie2014-02-101-1/+1
| | | | | | | | This test compares a guint8 and a gchar with '==' which fails when comparing 240 to -16, even though these are the same byte value. Add an explicit 'guchar' cast to correct the problem. https://bugs.freedesktop.org/show_bug.cgi?id=74754
* session: don't track open_host_idle source idMarc-André Lureau2014-02-071-2/+1
| | | | | | In all cases, when the coroutine is resumed, the idle source has been running and thus will be removed. Doing it a second time results in the wrong source being removed or an invalid source warning.
* spicy: do not flush and disconnect all kind of portsMarc-André Lureau2014-02-071-7/+1
| | | | Some ports may want to live a bit longer, such as following webdav.
* port: send opened a port-event signal on initMarc-André Lureau2014-02-071-1/+4
| | | | | If the port is already opened, emit a "opened" port-event on init. This simplifies user code to only handle port events.
* test: fix a few compiler warningsMarc-André Lureau2014-02-071-6/+6
| | | | | util.c: In function 'test_set_bit': util.c:131:13: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
* Add GDBus version of dbus-glib codeMarc-André Lureau2014-02-071-1/+35
|
* Narrow dbus-glib code, to fit other implementation easilyMarc-André Lureau2014-02-071-26/+27
|
* dbus: remove priv->dbus_connMarc-André Lureau2014-02-071-12/+6
| | | | | It's only needed once, and it is better to group with rest of dbus-glib code.
* build-sys: detect GDBusMarc-André Lureau2014-02-071-9/+17
|
* misc: sed -i -e 's/USE_DBUS/USE_DBUS_GLIB/g'Marc-André Lureau2014-02-072-9/+9
|
* Use local GError in spice_convert_newlines()Christophe Fergeau2014-01-071-1/+1
| | | | | | | | | | | | | | spice_convert_newlines() declares a local 'err' GError but never uses it as the function directly uses the 'error' variable passed as an argument. Use 'err' throughout the function instead of the 'error' argument as this looks like what was intended. This fixes this coverity warning: Error: DEADCODE (CWE-561): [#def144] spice-gtk-0.22.9-fb3d/spice-gtk3-0.22.9/gtk/spice-util.c:318: assignment: Assigning: "err" = "NULL". spice-gtk-0.22.9-fb3d/spice-gtk3-0.22.9/gtk/spice-util.c:364: null: At condition "err", the value of "err" must be NULL. spice-gtk-0.22.9-fb3d/spice-gtk3-0.22.9/gtk/spice-util.c:364: dead_error_condition: The condition "err" cannot be true. spice-gtk-0.22.9-fb3d/spice-gtk3-0.22.9/gtk/spice-util.c:365: dead_error_begin: Execution cannot reach this statement "g_propagate_error(error, err);".
* controller: Don't call g_type_init() in test with newer glibChristophe Fergeau2014-01-031-0/+2
| | | | | g_type_init() is deprecated, calling it on newer glib causes a compile-time warning.
* controller: Add missing #ifdef WIN32 in testChristophe Fergeau2014-01-031-0/+2
| | | | | The spicec_pid variable is only used in a #ifdef WIN32 block, but it was unconditionnally declared/initialized. This causes a gcc warning.
* controller: Avoid out of string bound accesses in testChristophe Fergeau2014-01-031-8/+8
| | | | | | | | | | | | | | | | | When computing the amount of data to send for static strings, the test program is confusing sizeof() which returns the size of the string including the trailing '\0' and strlen() which returns the size of the string without the trailing '\0'. This causes attempts to access one byte past the string. This fixes this coverity warning: Error: OVERRUN (CWE-119): [#def44] spice-gtk-0.20/spice-gtk-0.20/gtk/controller/test.c:258: overrun-buffer-arg: Overrunning array ""main,inputs,playback"" of 21 bytes by passing it to a function which accesses it at byte offset 21 using argument "22UL". spice-gtk-0.20/spice-gtk-0.20/gtk/controller/test.c:101:5: access_dbuff_in_call: Calling "memcpy(void * restrict, void const * restrict, size_t)" indexes array "data" with index "data_size".
* cursor: Avoid potential sign extension issueChristophe Fergeau2014-01-031-2/+2
| | | | | | | | | | | | | | | | | | | | When doing arithmetic operations on the uint16_t cursor width and height with integer constants, the result of the operation will be of type 'int' as the integer constant as type 'int'. There are 2 places which assign the result of such an operation to an (unsigned 64 bit)) size_t variable. This means that if width/height are big enough, the int -> size_t conversion would cause a sign extension to happen, which is unwanted as we are only manipulating positive values. This commit explicitly mark the constants with the correct unsigned type. This fixes this kind of coverity warnings: spice-gtk-0.20/spice-gtk-0.20/gtk/channel-cursor.c:388: sign_extension: Suspicious implicit sign extension: "hdr->height" with type "unsigned short" (16 bits, unsigned) is promoted in "4 * hdr->width * hdr->height" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "4 * hdr->width * hdr->height" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
* Add support for the Opus codec.Jeremy White2014-01-024-48/+39
| | | | Signed-off-by: Jeremy White <jwhite@codeweavers.com>
* Don't emit start signals if codec creation fails.Jeremy White2014-01-022-2/+6
| | | | Signed-off-by: Jeremy White <jwhite@codeweavers.com>
* Use the new snd_codec interface to process encoded audio.Jeremy White2014-01-025-119/+49
| | | | Signed-off-by: Jeremy White <jwhite@codeweavers.com>
* Use TLS version 1.0 or betterDavid Jaša2013-12-121-1/+6
| | | | | | | | | | | | | When creating a TLS socket, both spice-server and spice-gtk currently call SSL_CTX_new(TLSv1_method()). The TLSv1_method() function set the protocol version to TLS 1.0 exclusively. The correct way to support multiple protocol versions is to call SSLv23_method() in spite of its scary name. This method will enable all SSL/TLS protocol versions. The protocol suite may be further narrowed down by setting respective SSL_OP_NO_<version_code> options of SSL context. This possibility is used in this patch in order to block use of SSLv3 that is enabled by default in openssl for client sockets as of now but spice has never used it.
* coroutine: add missing glib.h includeMarc-André Lureau2013-12-091-0/+1
|
* gtk: fix giscan warnings, add missing signal docMarc-André Lureau2013-12-032-0/+8
| | | | | | | | | | | | | | | | | GISCAN SpiceClientGLib-2.0.gir channel-main.c:633: Warning: SpiceClientGLib: incorrect number of parameters in comment block, parameter annotations will be ignored. channel-main.c:672: Warning: SpiceClientGLib: incorrect number of parameters in comment block, parameter annotations will be ignored. channel-main.c:716: Warning: SpiceClientGLib: incorrect number of parameters in comment block, parameter annotations will be ignored. channel-main.c:757: Warning: SpiceClientGLib: incorrect number of parameters in comment block, parameter annotations will be ignored. channel-display.c:367: Warning: SpiceClientGLib: incorrect number of parameters in comment block, parameter annotations will be ignored. GICOMP SpiceClientGLib-2.0.gir Pushed unreviewed under trivial rule.
* Release v0.22v0.22Marc-André Lureau2013-11-271-0/+14
| | | | | | | | | | | | | | | | v0.22 ===== - improve inverted cursor support - use system-wide trust certificate store - make sasl support work with other method than MD5 - fix some clipboard crasher, limit clipboard size - fix various regressions: usbredir, alt-tab on win32, palette crash, agent notification, old protocol support, sasl ending crash, gthread coroutine crash, close sockets on migration, pulse backend crash - fix a few memory leaks - build-sys improvements
* build-sys: bump spice-glib versionMarc-André Lureau2013-11-271-1/+1
| | | | new symbols in spice-glib, bump before release
* continuation: fix "fortify" crashMarc-André Lureau2013-11-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | Since 0508f586, errno.h is included above #undef _FORTIFY_SOURCE. But it must be placed above system headers to take effect *** longjmp causes uninitialized stack frame ***: /home/jwhite/xfer/spice/bin/spicy terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ffff48dc2a7] /lib/x86_64-linux-gnu/libc.so.6(+0xef239)[0x7ffff48dc239] /lib/x86_64-linux-gnu/libc.so.6(__longjmp_chk+0x33)[0x7ffff48dc1a3] /home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x49761)[0x7ffff78f1761] /home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x499a4)[0x7ffff78f19a4] /home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x1bae7)[0x7ffff78c3ae7] /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x7ffff505f355] /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4a688)[0x7ffff505f688] /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x72)[0x7ffff505fa82] /home/jwhite/xfer/spice/bin/spicy[0x4054aa] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7ffff480bead] /home/jwhite/xfer/spice/bin/spicy[0x405679]
* pulse: do not abort on corking no streamMarc-André Lureau2013-11-261-1/+4
| | | | | | | | | | | | | | | | | | | | | There is no guarantee that a stream actually exist when min-latency change is notified. Check that there is an actual stream before calling cork(). All callers where previously checking that stream existed. Add a pre-condition to verify argument and spot that error is from spice-gtk itself. Fixes the following crash: #1 0x0000003c12e34105 in abort () at abort.c:92 #2 0x0000003c2c223180 in pa_stream_is_corked (s=0x0) at pulse/stream.c:2536 #3 0x0000003c2c648cb7 in stream_cork (pulse=<value optimized out>, s=0x7fbb38, with_flush=0) at spice-pulse.c:227 #4 0x0000003c2c649989 in playback_min_latency_changed (object=<value optimized out>, pspec=<value optimized out>, data=0x7fbad0) at spice-pulse.c:674 https://bugzilla.redhat.com/show_bug.cgi?id=1032785
* channel: swap channel GSocketConnection on migrationMarc-André Lureau2013-11-221-0/+1
| | | | | | | | | | | | | When migration completes, unrefing the new connection leads to original GSocket pending refs, and thus the sockets stay in CLOSE_WAIT. This is a regression from 8029bd0 where GSocketConnection is kept around to satisfy old glib. https://bugzilla.redhat.com/show_bug.cgi?id=1024501 This will also probably fix: https://bugzilla.redhat.com/show_bug.cgi?id=952375
* Fix SASL for mechanism using WANT_CLIENT_FIRSTdietmar@proxmox.com2013-11-211-1/+4
| | | | | | | | | | | Current code works with DIGEST-MD5, but not with PLAIN. In particular, when using PLAIN, sasl_client_start() returns SASL_OK, which should not be an error in spite of vague/confusing upstream documentation about this: http://asg.andrew.cmu.edu/archive/message.php?mailbox=archive.cyrus-sasl&msg=10104 Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>