| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
| |
Learn to return the currently configured proxy, to allow
client to tweak parameters, such as username and password.
|
|
|
|
|
| |
Add a function to retrieve the last GError from a channel, this may be
useful to provide additional error details to the client.
|
|
|
|
|
| |
Generalize a little bit SpiceProxy to allow easy URI manipulation by
clients.
|
| |
|
|
|
|
| |
Get rid of a superflous g_socket_condition_check().
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This way, the call might eventually support more proxy and
authentication.
|
|
|
|
| |
This will require glib 2.28 for GTls support, atm
|
| |
|
|
|
|
|
| |
Or Squid will fail with:
WARNING: Unsupported or unconfigured/inactive proxy-auth scheme
|
| |
|
| |
|
|
|
|
| |
We want just host:port here.
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
| |
This allows to use conveniently GIOStream APIs without caring about
coroutine and Spice messages details.
|
|
|
|
|
| |
Refactor port code to create a private GIO async function that can send
SPICE_MSGC_SPICEVMC_DATA message over any channel.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Some ports may want to live a bit longer, such as following webdav.
|
|
|
|
|
| |
If the port is already opened, emit a "opened" port-event on init. This
simplifies user code to only handle port events.
|
|
|
|
|
| |
util.c: In function 'test_set_bit':
util.c:131:13: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
|
| |
|
| |
|
|
|
|
|
| |
It's only needed once, and it is better to group with rest of dbus-glib
code.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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);".
|
|
|
|
|
| |
g_type_init() is deprecated, calling it on newer glib causes a compile-time
warning.
|
|
|
|
|
| |
The spicec_pid variable is only used in a #ifdef WIN32 block, but it was
unconditionnally declared/initialized. This causes a gcc warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
|
|
|
|
| |
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
|
|
|
|
| |
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
new symbols in spice-glib, bump before release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|