spice/server
Christophe Fergeau c4d6f9791a Fix spice-server/qemu channel version checks
When qemu creates a channel, reds.c contains code to check the
minor/major channel versions known to QEMU (ie the ones that were
current in spice-server when QEMU was compiled) and to compare these
versions against the current ones the currently installed spice-server
version.

According to kraxel [1], the rules for these interface numbers are:

"The purpose of the versions is exactly to avoid the need for a new
soname.  The rules are basically:

   (1) You add stuff to the interface, strictly append-only to not break
       binary compatibility.
   (2) You bump the minor version of the interface.
   (3) You check the minor version at runtime to figure whenever the
       added fields contain valid stuff or not.

An example is here (core interface, minor goes from 2 to 3, new
channel_event callback):

http://cgit.freedesktop.org/spice/spice/commit/?id=97f33fa86aa6edd25111b173dc0d9599ac29f879
"

The code currently refuses to create a channel if QEMU minor version is
less than the current spice-server version. This does not correspond
to the intended behaviour, this patch changes to fail is qemu was compiled
with a spice-server that is *newer* than the one currently installed. This
case is something we cannot support nicely.

[1] http://lists.freedesktop.org/archives/spice-devel/2011-July/004440.html
2011-07-18 18:15:40 +02:00
..
tests server/tests/basic_event_loop: strange assert failure; fix 2011-07-05 14:08:30 +02:00
.gitignore gitignore: add generated_*, vim temps, pyc 2010-11-08 16:06:55 +02:00
agent-msg-filter.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
agent-msg-filter.h server: add discard all option to agent message filter 2011-04-04 11:30:30 +02:00
char_device.h server: add char_device.h header, use in reds.c 2010-12-06 18:09:14 +02:00
demarshallers.h Add destructor for demarshalled messages 2010-06-22 10:53:24 +02:00
glz_encode_match_tmpl.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encode_tmpl.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encoder_config.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
glz_encoder_dictionary_protected.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder_dictionary.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encoder_dictionary.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encoder.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
inputs_channel.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
inputs_channel.h server/inputs_channel: remove unused declaration in inputs_channel.h 2010-12-07 21:32:34 +02:00
jpeg_encoder.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
jpeg_encoder.h JPEG support: introducing jpeg encoding for spice bitmaps 2010-06-09 11:40:25 +02:00
main_channel.c move get_time_stamp to main_channel.c 2011-05-03 14:44:12 +02:00
main_channel.h use foo(void) instead of foo() in prototypes 2011-05-02 11:24:44 +02:00
Makefile.am build: require c99 2011-05-03 16:49:43 +02:00
mjpeg_encoder.c add missing static 2011-05-03 14:44:11 +02:00
mjpeg_encoder.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_bitmap_utils.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
red_channel.c add missing static 2011-05-03 14:44:11 +02:00
red_channel.h server/red_channel: move out_bytes_counter from Outgoing to RedChannel 2011-03-02 17:27:53 +02:00
red_client_cache.h server/red_worker: use red_channel_pipe_item_init 2011-03-02 17:27:53 +02:00
red_client_shared_cache.h server: use red_channel_get_message_serial 2011-03-02 17:27:51 +02:00
red_common.h server/common: introduce common/spice_common.h 2011-03-02 17:27:51 +02:00
red_dispatcher.c add missing static 2011-05-03 14:44:11 +02:00
red_dispatcher.h use foo(void) instead of foo() in prototypes 2011-05-02 11:24:44 +02:00
red_memslots.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
red_memslots.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_parse_qxl.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
red_parse_qxl.h move command flags handling to the qxl parser 2010-09-14 10:41:49 +02:00
red_tunnel_worker.c s/__visible__/SPICE_GNUC_VISIBLE 2011-06-22 16:29:52 +02:00
red_tunnel_worker.h server: Unset executable bit of red_tunnel_worker.h 2011-05-05 20:04:49 +03:00
red_worker.c server: add missing calls to red_handle_drawable_surfaces_client_synced 2011-07-12 09:01:45 +03:00
red_worker.h server: use gcc builtin for atomic get/set bit 2011-05-03 14:44:11 +02:00
reds_gl_canvas.c common,server: use ASSERT from spice_common.h 2011-05-03 14:44:11 +02:00
reds_gl_canvas.h autotools: correctly build canvas-related code 2011-05-03 14:44:10 +02:00
reds_sw_canvas.c common,server: use ASSERT from spice_common.h 2011-05-03 14:44:11 +02:00
reds_sw_canvas.h autotools: correctly build canvas-related code 2011-05-03 14:44:10 +02:00
reds.c Fix spice-server/qemu channel version checks 2011-07-18 18:15:40 +02:00
reds.h s/__visible__/SPICE_GNUC_VISIBLE 2011-06-22 16:29:52 +02:00
smartcard.c server/smartcard: register channel only when hardware is available 2011-07-05 14:04:36 +02:00
smartcard.h add missing "LGPLv2.1 or later" header to source files 2011-05-02 11:24:44 +02:00
snd_worker.c s/__visible__/SPICE_GNUC_VISIBLE 2011-06-22 16:29:52 +02:00
snd_worker.h use foo(void) instead of foo() in prototypes 2011-05-02 11:24:44 +02:00
spice-experimental.h move chardevs out of experimental 2010-12-16 09:16:10 +01:00
spice.h sndworker: add AudioVolume/AudioMute messages 2011-06-22 12:12:26 +02:00
stat.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
zlib_encoder.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
zlib_encoder.h applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00