Commit Graph

260 Commits

Author SHA1 Message Date
Søren Sandmann Pedersen
c0b048ebef Add support for A8 images to the LZ routines
This format is needed to add Render support to the X driver, so we
need the ability to compress and decompress it.
2012-08-24 13:37:51 -04:00
Søren Sandmann Pedersen
0c1b6de4ad canvas_utils: Make sure strides are aligned to multiple of 4
Pixman requires all strides to be aligned to a multiple of 4. With the
upcoming a8 images, this is not guaranteed anymore.
2012-08-13 11:54:04 -04:00
Marc-André Lureau
735e431671 build-sys: fix make distcheck
- don't try to overwrite read-only enums.h
- DIST_SUBDIRS is no longer needed
2012-07-16 17:35:08 +02:00
Alon Levy
7eba850ad5 support multiple monitors in single display channel
See spice-protocol commit for details:
 da908f89b581fd4725da997fdaea209f8e6548f6
 support multiple monitors on a single display channel
2012-07-12 19:50:40 +03:00
Alon Levy
b49c4794ee spice-protocol/spice/enums.h: rebuild from spice.proto
This file was hand generated until now, resulting in the wierd situation where
it is different for spice-gtk and spice-server even though they both use the
same spice-common and spice-protocol (or at least close) versions.

This patch generates the enums.h files from spice-common. While that file is
actually in the spice-protocol submodule, it cannot be generated from
spice-protocol since it lacks access to spice.proto and spice_codegen.py. So in
affect whenvever it will differ the spice-protocol module will become dirty and
hence hopefully commited with the new enums.h.

enums.h is generated from spice.proto is a superset of that generated from spice1.proto.
2012-07-08 18:12:18 +03:00
Alon Levy
2449260c81 common/log.h: add spice_info 2012-07-05 19:22:31 +03:00
Marc-André Lureau
f8f6231ecd Fix a gcc warning
warning: suggest explicit braces to avoid ambiguous 'else'
2012-06-30 02:54:53 +02:00
Marc-André Lureau
5020adc59f Fix invalid macro usage 2012-06-30 02:50:56 +02:00
Christophe Fergeau
bf5511033d ssl: more verbose output when SSL verification fails
This should make SSL connection failures easier to diagnose.
2012-06-25 14:59:59 +02:00
Alon Levy
535b52db66 smartcard: build fixes for spice server
Define different enums that have a SPICE_ prefix to not conflict with same
value enums from libcacard/vsccard_common.h, and continue to use the same
SPICE_MSG_SMARTCARD_DATA and SPICE_MSGC_SMARTCARD_DATA enum that is used by the
server and clients (spice-gtk, spicec) alike.
2012-06-14 13:53:46 +03:00
Marc-André Lureau
5f44094940 ssl-verify: add a bit of run-time checks
Even if they are not public functions, those conditions can be reached
in a invalid state.
2012-05-17 14:38:28 +02:00
Yonit Halperin
22fc0b0145 video streaming: add support for frames of different sizes
rhbz #813826, #815426

Add SPICE_MSG_DISPLAY_STREAM_DATA_SIZED, for stream_data message
that also contains the size and destination box of the data.
The server can send such messages only to clients with
SPICE_DISPLAY_CAP_SIZED_STREAM.
2012-05-02 14:47:29 +03:00
Yonit Halperin
178c7eaff6 region: add region_extents 2012-05-02 14:47:27 +03:00
Yonit Halperin
cbf423f833 rect: add rect_debug 2012-05-02 14:47:26 +03:00
Yonit Halperin
ffeb6ce677 rect: add rect_get_area 2012-05-02 14:47:26 +03:00
Yonit Halperin
2e4b605272 rect: add rect_contains 2012-05-02 14:47:26 +03:00
Jeremy White
f37ba0d032 Set the clip type to reflect the on wire type. 2012-04-26 19:47:10 +03:00
Daniel P. Berrange
ff25524948 Add missing struct field initializers
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2012-04-25 14:23:31 +01:00
Aric Stewart
6af29a97ac move variable decleration to head of code block
Signed-off-by: Aric Stewart <aric@codeweavers.com>
2012-04-18 17:53:05 +03:00
Aric Stewart
6bb8d93bbf allow log.c to compile under MSVC++ 2012-04-18 16:54:33 +03:00
Aric Stewart
d77d056022 add padding member to SpiceMsgEmpty
Empty structures are undefined in C, gcc handles them without issue
assigning a size of 0. However MSVC++ generates a hard error (C2015)
this allows messages.h to be included in c files compiled by MSVC++.

Signed-off-by: Aric Stewart <aric@codeweavers.com>
2012-04-18 16:02:07 +03:00
Aric Stewart
7814bdf71d Add a return value to the default case in create_bitmap to satisfy VC++ 2012-04-17 10:17:10 +03:00
Marc-André Lureau
e3f6941895 Bypass certicate verification failure if PUBKEY check only
During switch-host migration, only PUBKEY verification is required.
Couldn't it just load the certificate again for the new session?
perhaps, but that's they way the code used to work until I introduced
a regression in spice commit d46f9d3f4e006d3bca9b99fac25169b17e7ac803.
2012-03-30 14:10:00 +02:00
Marc-André Lureau
a0339261d4 ssl-verify: improve logging report in case of errors
Use the log.h system, and report a bit more information in the debug level
2012-03-30 14:10:00 +02:00
Marc-André Lureau
1b41d15a99 Fix harmless warnings in quic_encode()
The quic code has been changed recently this way:

-    ASSERT(encoder->usr, line);
+    if (line == NULL) {
+        spice_warn_if_reached();
+        return QUIC_ERROR;
+    }

It appears that the only caller of quic_encode() gives a NULL line and
rely on the more_lines() callback to return new lines instead.

Adjust the code accordingly, adding a few more checks to verify the
caller gives/returns correct values.
2012-03-28 13:30:18 +02:00
Marc-André Lureau
fb24e4e28b build-sys: split client marshallers in seperate lib 2012-03-25 18:38:09 +02:00
Marc-André Lureau
c1e4e1be63 build-sys: make it a seperately buildable spice-common library
- autotoolize
- fix headers inclusion
- generate gitignores
- workaround serverSMARTCARD support with dirty hack...
2012-03-22 20:21:05 +01:00
Marc-André Lureau
f7af6264ea Add SPICE_ATTR_NORETURN and use it for a few functions 2012-03-20 15:30:24 +01:00
Marc-André Lureau
a1df67b3c5 Fix build with SPICE_DISABLE_ABORT 2012-03-20 15:30:24 +01:00
Marc-André Lureau
13fb823795 Remove need for SPICE_CANVAS_INTERNAL
Why is this useful?
2012-03-20 15:30:24 +01:00
Marc-André Lureau
61c30fcdcf fix void* arithmetic
marshaller.c:528:50: error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith]
2012-03-20 15:30:24 +01:00
Marc-André Lureau
f87bb23ad2 build: replace INCLUDES with AM_CPPFLAGS
Fix warning `INCLUDES' is the old name for `AM_CPPFLAGS' (or `*_CPPFLAGS')
2012-03-20 15:30:24 +01:00
Daniel P. Berrange
fbb6b9984a Add missing includes & make some functions static
A number of functions were used without prior declaration. In
some cases this was due to missing include files. In other cases
the functions should have just been static.

Ideally this would allow -Wmissing-declarations to be enabled, but
the files generated by spice_codegen.py will still trip up on this.
2012-03-20 15:30:24 +01:00
Daniel P. Berrange
985ec9d6ec Add printf format annotations to all '...' functions
To allow the compile to detect incorrect printf formats, any
var-args function should have a format annotation

* common/macros.h: Helper to define ATTR_PRINTF for code
  which can't depend on glib
* common/canvas_base.c, common/lz.h, common/macros.h: Annotate
  some var-args methods
2012-03-20 15:30:24 +01:00
Daniel P. Berrange
9f7d6175e7 Fix some integer range checks which always evaluate false
There are some integer range checks which always evaluate false
due to use of unsigned integer types. One of these would prevent
detection of encoding errors from celt. The others are simply
no-ops.

* common/pixman_utils.c: SpiceROP is an enum & thus unsigned
2012-03-20 15:30:23 +01:00
Daniel P. Berrange
3bc7d096b6 Avoid warnings about empty conditional statement bodies
Add extra {} braces around if/else statements which only
call SPICE_DEBUG to avoid:

../common/ssl_verify.c: In function 'verify_pubkey':
../common/ssl_verify.c:87:50: warning: suggest braces around empty body in an 'else' statement [-Wempty-body]
../common/ssl_verify.c: In function 'verify_hostname':
../common/ssl_verify.c:254:53: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
../common/ssl_verify.c: In function 'verify_subject':
../common/ssl_verify.c:381:41: warning: suggest braces around empty body in an 'else' statement [-Wempty-body]
2012-03-20 15:30:23 +01:00
Marc-André Lureau
0a96fe9364 build: remove 'win' directory
Let's use the only included file directly instead.
2012-03-20 15:30:23 +01:00
Christophe Fergeau
4feaffad8e messages.h: add smartcard bits 2012-03-20 15:30:23 +01:00
Marc-André Lureau
508547c100 Add client_marshallers.h client_demarshallers.h from spice-gtk
spice-gtk uses a more up to date version of client/marshallers.h and client/demarshallers.h
2012-03-20 15:30:23 +01:00
Marc-André Lureau
c4482c7ff2 Use SPICE_{BEGIN,END}_DECLS 2012-03-20 15:30:23 +01:00
Christophe Fergeau
e800e51d4e add const to arrays in marshalling functions 2012-03-20 15:30:23 +01:00
Christophe Fergeau
c968e76f96 ssl_verify: include <string.h>
ssl_verify.c is using memcmp which comes from string.h, this was
breaking compilation with -Werror -Wall on Mac OS X
2012-03-20 15:30:23 +01:00
Marc-André Lureau
3e4b2571a2 ssl_verify: comment X509_NAME undef 2012-03-20 15:30:23 +01:00
Marc-André Lureau
c1403ee6bf Use a log handler to modify abort() behaviour
Be more library friendly, by not aborting in library errors.

spice_common now includes a proper log handler that will abort by
default when reaching a warning.

SPICE_ABORT_LEVEL can be changed to modify run-time abort level.

SPICE_DEBUG_LEVEL can be changed to be more verbose. By default, only
log level more importants than WARNING.

Only memory-related functions are allowed to abort(), since they are
not recoverable errors in the library.
2012-03-20 15:30:23 +01:00
Marc-André Lureau
bb133148d8 update gitignore 2012-03-20 15:30:23 +01:00
Marc-André Lureau
cf705650d4 common: remove unnecessary outdated c++ debug 2012-03-20 15:30:23 +01:00
Marc-André Lureau
124f767b94 common: ring.h should include stddef for NULL usage 2012-03-20 15:30:05 +01:00
Marc-André Lureau
1a9f61dd17 Send name & uuid to capable clients
Add spice_server_set_name() and spice_server_set_uuid() that allows
the client to identify a Spice server (useful to associate settings
with a particular server)

The SPICE_MSG_MAIN_NAME and SPICE_MSG_MAIN_UUID messages are only sent
to capable clients, announcing SPICE_MAIN_CAP_NAME_AND_UUID.
2012-03-20 15:25:56 +01:00
Christophe Fergeau
5d02123499 mingw: workaround weird openssl build failure
If X509_NAME isn't undefined before including x509v3.h, very
weird compilation error occurs. It seems to be caused by duplicate
definitions for this symbols coming from wincrypto.h
2012-03-20 15:25:56 +01:00
Christophe Fergeau
ea9e91cd8d mingw: don't try to redefine alloca
mingw already has a #define alloca __builtin_alloca so trying to
redefine it triggers a warning.
2012-03-20 15:25:56 +01:00