commit spice-protocol for openSUSE:Leap:15.2
Hello community, here is the log from the commit of package spice-protocol for openSUSE:Leap:15.2 checked in at 2020-01-30 14:50:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/spice-protocol (Old) and /work/SRC/openSUSE:Leap:15.2/.spice-protocol.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "spice-protocol" Thu Jan 30 14:50:02 2020 rev:13 rq:758323 version:0.14.0 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/spice-protocol/spice-protocol.changes 2020-01-15 16:03:43.667935236 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.spice-protocol.new.26092/spice-protocol.changes 2020-01-30 14:50:59.950921571 +0100 @@ -1,0 +2,22 @@ +Tue Apr 16 20:21:17 UTC 2019 - Bruce Rogers <brogers@suse.com> + +- Update to version 0.14.0: + + Add: VDAgentGraphicsDeviceInfo and StreamMsgGraphicsDeviceInfo + messages, and SpiceStat structure padding + + Remove: SpicePubkeyType, SpiceTunnelServiceType, + SpiceTunnelIpType, SPICE_MSG_TUNNEL_* and SPICE_MSGC_TUNNEL_* +- Add keyring and tarball signature files + +------------------------------------------------------------------- +Thu Feb 28 12:05:50 UTC 2019 - olaf@aepfle.de + +- Require meson >= 0.41.0 per meson.build +- Use autosetup -p1, in case we require patches in the future + +------------------------------------------------------------------- +Sat Jan 19 15:17:11 UTC 2019 - Bruce Rogers <brogers@suse.com> + +- Update to version 0.12.15: + + add support for h265 video codec + +------------------------------------------------------------------- Old: ---- spice-protocol-0.12.14.tar.bz2 New: ---- spice-protocol-0.14.0.tar.bz2 spice-protocol-0.14.0.tar.bz2.sig spice-protocol.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spice-protocol.spec ++++++ --- /var/tmp/diff_new_pack.ehSKrz/_old 2020-01-30 14:51:00.362921790 +0100 +++ /var/tmp/diff_new_pack.ehSKrz/_new 2020-01-30 14:51:00.366921792 +0100 @@ -1,7 +1,7 @@ # # spec file for package spice-protocol # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,19 +12,21 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: spice-protocol -Version: 0.12.14 +Version: 0.14.0 Release: 0 Summary: SPICE-protocol definitions License: BSD-3-Clause Group: Development/Languages/C and C++ URL: https://www.spice-space.org/ Source: https://www.spice-space.org/download/releases/%{name}-%{version}.tar.bz2 -BuildRequires: meson +Source1: https://www.spice-space.org/download/releases/%{name}-%{version}.tar.bz2.sig +Source2: %{name}.keyring +BuildRequires: meson >= 0.41.0 BuildRequires: pkgconfig Requires: python-pyparsing Requires: python-six @@ -41,7 +43,7 @@ Headers defining the SPICE-protocol %prep -%setup -q +%autosetup -p1 %build %meson @@ -52,7 +54,7 @@ %files devel %license COPYING -%doc NEWS +%doc CHANGELOG.md README.md %{_datadir}/pkgconfig/spice-protocol.pc %{_includedir}/spice-1/ ++++++ spice-protocol-0.12.14.tar.bz2 -> spice-protocol-0.14.0.tar.bz2 ++++++ ++++ 1818 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/CHANGELOG.md new/spice-protocol-0.14.0/CHANGELOG.md --- old/spice-protocol-0.12.14/CHANGELOG.md 1970-01-01 01:00:00.000000000 +0100 +++ new/spice-protocol-0.14.0/CHANGELOG.md 2019-04-12 15:54:46.000000000 +0200 @@ -0,0 +1,206 @@ +Major changes in 0.14.0 +======================= +* Bumping minor to show that some types and values were removed +* Regenerate enums.h (from spice.proto) which removes: + * SpicePubkeyType; + * SpiceTunnelServiceType; + * SpiceTunnelIpType; + * SPICE_MSG_TUNNEL_* and SPICE_MSGC_TUNNEL_* +* Add VDAgentGraphicsDeviceInfo message +* Add StreamMsgGraphicsDeviceInfo message +* Add padding to SpiceStat structure + +Major changes in 0.12.15 +======================== +* Add support for h265 video codec +* qxl_dev: Align QXLRam to 4 bytes +* meson: fix spice-protocol as subproject + +Major changes in 0.12.14 +======================== +* add stream-device protocol +* add SPICE_SURFACE_FLAGS_STREAMING_MODE flag +* add e2k (Elbrus 2000) architecture +* add SPICE_MAX_NUM_STREAMS +* add meson support +* add bult-ins byte swapping for Visual C++ +* switch to built-ins byte swapping in GCC + +Major changes in 0.12.13 +======================== +* add DISPLAY_PREFERRED_VIDEO_CODEC_TYPE +* add VP9 codec type +* add VD_AGENT_CLEAR_CAPABILITY() macro +* add VD_AGENT_CAP_FILE_XFER_DISABLED +* add VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE +* add new file-xfer statuses for detailed error +* Change enums.h license to MIT + +Major changes in 0.12.12 +======================== +* protocol: Add lz4 compression support to the SpiceVMC channel + +Major changes in 0.12.11 +======================== +* protocol: add support for the VP8 and h264 video codecs +* protocol: add unix GL scanout messages +* remove code generation scripts, moved back to spice-common +* macros improvements, more type safety + +Major changes in 0.12.10 +======================== +* Add VD_AGENT_CAP_MONITORS_CONFIG_POSITION to handle multi-monitor + configurations that are not multi-head +* Add protocol code generation scripts from spice-common +* Endianness and compiler portability fixes (clang) + +Major changes in 0.12.9 +======================= +* rename newly introduced SpiceImageCompress enum to SpiceImageCompression + as otherwise it was clashing with the definition used by older spice-server + releases, breaking QEMU build + +Major changes in 0.12.8 +======================= +* add LZ4 support +* add audio volume synchronization +* deprecate unused vdi-dev +* add 'preferred-compression' message/capability +* add a new Windows driver escape code to send + monitors capability from guest to client + +Major changes in 0.12.7 +======================= +* add support for Webdav channel +* add support for the Opus codec + +Major changes in 0.12.6 +======================= +* add adaptive video streaming support: + control playback latency and receive playback + reports from the client. +* add agent capabilities for signaling guest line ending. + +Major changes in 0.12.5 +======================= +* Add agent file xfer success status +* Add a client-disconnected agent message + +Major changes in 0.12.4 +======================= +* Add agent file copy support. +* Add agent sparse monitors capability. +* Add controller proxy message. + +Major changes in 0.12.3 +======================= +* Add a generic "port" channel + +Major changes in 0.12.2 +======================= +* Add A8 surface capability in display channel. +* Add to qxl device support for: + * client present + * client capabilities + * client monitors configuration + +Major changes in 0.12.1 +======================= +* Support seamless migration. +* New QXLComposite message for better X support. +* Support arbitrary scancode message INPUTS_KEY_SCANCODE. + +Major changes in 0.12.0 +======================= +* Add support for arbitrary resolution on Windows QXL with + QXL_ESCAPE_SET_CUSTOM_DISPLAY +* Add support for arbitrary resolution and multiple monitor per + display channel with QXLMonitorsConfig and co +* build cleanup + +Major changes in 0.10.3 (0.10.2 was never released) +=================================================== +* Add support for video streams with differently sized (wxh) data +* Add controller messages for USB redirection, COLOR_DEPTH, DISABLE_EFFECTS, + and ENABLE_SMARTCARD +* Add name & uuid messages on main channel +* some cleanups +* Fixes RHBZ#815422, RHBZ#807295, RHBZ#787447 + +Major changes in 0.10.1 +======================= +* Add support for a header without sublist and serial (mini header) + +Major changes in 0.10.0 +======================= +* no changes, released to match version with spice + +Major changes in 0.9.1 (same as 0.8.2 in 0.8 branch) +====================== +* Add support for semi-seamless migration + +Major changes in 0.9.0 +====================== +* Add support for generic spicevmc chardev passthrough messages +* Add USB redirection channel + +Major changes in 0.8.1 +====================== +* Add support for volume change +* Add support for async guest io writes and interrupt +* Add support for suspend related guest io writes +* Add support for interrupt indicating guest bug + +Major changes in 0.8.0 +====================== +* Add support for different clipboards (selections) to vd_agent copy paste +* Add support for using different authentication mechanisms (just SASL for now) + +Major changes in 0.7.1 +====================== +* Add some enums for the xorg qxl driver +* Some other small fixes + +Major changes in 0.7.0 +====================== +* Add smartcard channel + +Major changes in 0.6.4 +====================== +* Make controller client protocol menu text UTF8 rather then 16 bit unicode + +Major changes in 0.6.3: +======================= +* Add support for copy and paste to the agent protocol +* Add foreign-menu and external controller client protocol headers + +Major changes in 0.6.2: +======================= +* Skipped to stay in sync with spice + +Major changes in 0.6.1: +======================= +* Added compat flag for 16bpp commands + +Major changes in 0.6.0: +======================= +* Initial messages for clipboard sharing +* Move agent protocol structs from spice to spice-protocol +* Add capabilities to agent protocol + +Major changes in 0.5.3: +======================= + +Network major number changed to 2 to reflect that the network +protocol is now stable and backwards compatible from this point. + +Some vdagent messages for display settings and clipboard sharing +were added. + +Major changes in 0.5.2: +======================= + +This is the first release of the unstable 0.5.x series leading up to 0.6. +This module was split out of spice so that e.g. drivers and qemu can +get the types and constants they need without using the full spice +codebase. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/INSTALL new/spice-protocol-0.14.0/INSTALL --- old/spice-protocol-0.12.14/INSTALL 2018-06-01 10:10:31.000000000 +0200 +++ new/spice-protocol-0.14.0/INSTALL 1970-01-01 01:00:00.000000000 +0100 @@ -1,368 +0,0 @@ -Installation Instructions -************************* - - Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software -Foundation, Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell command './configure && make && make install' -should configure, build, and install this package. The following -more-detailed instructions are generic; see the 'README' file for -instructions specific to this package. Some packages provide this -'INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The 'configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a 'Makefile' in each directory of the package. -It may also create one or more '.h' files containing system-dependent -definitions. Finally, it creates a shell script 'config.status' that -you can run in the future to recreate the current configuration, and a -file 'config.log' containing compiler output (useful mainly for -debugging 'configure'). - - It can also use an optional file (typically called 'config.cache' and -enabled with '--cache-file=config.cache' or simply '-C') that saves the -results of its tests to speed up reconfiguring. Caching is disabled by -default to prevent problems with accidental use of stale cache files. - - If you need to do unusual things to compile the package, please try -to figure out how 'configure' could check whether to do them, and mail -diffs or instructions to the address given in the 'README' so they can -be considered for the next release. If you are using the cache, and at -some point 'config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file 'configure.ac' (or 'configure.in') is used to create -'configure' by a program called 'autoconf'. You need 'configure.ac' if -you want to change it or regenerate 'configure' using a newer version of -'autoconf'. - - The simplest way to compile this package is: - - 1. 'cd' to the directory containing the package's source code and type - './configure' to configure the package for your system. - - Running 'configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type 'make' to compile the package. - - 3. Optionally, type 'make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type 'make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the 'make install' phase executed with root - privileges. - - 5. Optionally, type 'make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior 'make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing 'make clean'. To also remove the - files that 'configure' created (so you can compile the package for - a different kind of computer), type 'make distclean'. There is - also a 'make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type 'make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide 'make - distcheck', which can by used by developers to test that all other - targets like 'make install' and 'make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the 'configure' script does not know about. Run './configure --help' -for details on some of the pertinent environment variables. - - You can give 'configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here is -an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU 'make'. 'cd' to the -directory where you want the object files and executables to go and run -the 'configure' script. 'configure' automatically checks for the source -code in the directory that 'configure' is in and in '..'. This is known -as a "VPATH" build. - - With a non-GNU 'make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use 'make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple '-arch' options to the -compiler but only a single '-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the 'lipo' tool if you have problems. - -Installation Names -================== - - By default, 'make install' installs the package's commands under -'/usr/local/bin', include files under '/usr/local/include', etc. You -can specify an installation prefix other than '/usr/local' by giving -'configure' the option '--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option '--exec-prefix=PREFIX' to 'configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like '--bindir=DIR' to specify different values for particular -kinds of files. Run 'configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the default -for these options is expressed in terms of '${prefix}', so that -specifying just '--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to 'configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -'make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, 'make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -'${prefix}'. Any directories that were specified during 'configure', -but not in terms of '${prefix}', must each be overridden at install time -for the entire installation to be relocated. The approach of makefile -variable overrides for each directory variable is required by the GNU -Coding Standards, and ideally causes no recompilation. However, some -platforms have known limitations with the semantics of shared libraries -that end up requiring recompilation when using this method, particularly -noticeable in packages that use GNU Libtool. - - The second method involves providing the 'DESTDIR' variable. For -example, 'make install DESTDIR=/alternate/directory' will prepend -'/alternate/directory' before all installation names. The approach of -'DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of '${prefix}' -at 'configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving 'configure' the -option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. - - Some packages pay attention to '--enable-FEATURE' options to -'configure', where FEATURE indicates an optional part of the package. -They may also pay attention to '--with-PACKAGE' options, where PACKAGE -is something like 'gnu-as' or 'x' (for the X Window System). The -'README' should mention any '--enable-' and '--with-' options that the -package recognizes. - - For packages that use the X Window System, 'configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the 'configure' options '--x-includes=DIR' and -'--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of 'make' will be. For these packages, running './configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with 'make V=1'; while running './configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with 'make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC -is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - HP-UX 'make' updates targets which have the same time stamps as their -prerequisites, which makes it generally unusable when shipped generated -files such as 'configure' are involved. Use GNU 'make' instead. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its '<wchar.h>' header file. The option '-nodtk' can be used as a -workaround. If GNU CC is not installed, it is therefore recommended to -try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put '/usr/ucb' early in your 'PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in '/usr/bin'. So, if you need '/usr/ucb' -in your 'PATH', put it _after_ '/usr/bin'. - - On Haiku, software installed for all users goes in '/boot/common', -not '/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features 'configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, 'configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -'--build=TYPE' option. TYPE can either be a short name for the system -type, such as 'sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file 'config.sub' for the possible values of each field. If -'config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option '--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with '--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for 'configure' scripts to share, -you can create a site shell script called 'config.site' that gives -default values for variables like 'CC', 'cache_file', and 'prefix'. -'configure' looks for 'PREFIX/share/config.site' if it exists, then -'PREFIX/etc/config.site' if it exists. Or, you can set the -'CONFIG_SITE' environment variable to the location of the site script. -A warning: not all 'configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to 'configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the 'configure' command line, using 'VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified 'gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an -Autoconf limitation. Until the limitation is lifted, you can use this -workaround: - - CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash - -'configure' Invocation -====================== - - 'configure' recognizes the following options to control how it -operates. - -'--help' -'-h' - Print a summary of all of the options to 'configure', and exit. - -'--help=short' -'--help=recursive' - Print a summary of the options unique to this package's - 'configure', and exit. The 'short' variant lists options used only - in the top level, while the 'recursive' variant lists options also - present in any nested packages. - -'--version' -'-V' - Print the version of Autoconf used to generate the 'configure' - script, and exit. - -'--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally 'config.cache'. FILE defaults to '/dev/null' to - disable caching. - -'--config-cache' -'-C' - Alias for '--cache-file=config.cache'. - -'--quiet' -'--silent' -'-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to '/dev/null' (any error - messages will still be shown). - -'--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - 'configure' can determine that directory automatically. - -'--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: for - more details, including other options available for fine-tuning the - installation locations. - -'--no-create' -'-n' - Run the configure checks, but stop before creating any output - files. - -'configure' also accepts some other, not widely useful, options. Run -'configure --help' for more details. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/Makefile.am new/spice-protocol-0.14.0/Makefile.am --- old/spice-protocol-0.12.14/Makefile.am 2018-06-01 10:06:28.000000000 +0200 +++ new/spice-protocol-0.14.0/Makefile.am 2019-04-12 15:54:46.000000000 +0200 @@ -22,6 +22,9 @@ `find "$(srcdir)" -type f -name Makefile.in -print` \ $(NULL) -EXTRA_DIST = meson.build +EXTRA_DIST = \ + README.md \ + CHANGELOG.md \ + meson.build -include $(top_srcdir)/git.mk diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/NEWS new/spice-protocol-0.14.0/NEWS --- old/spice-protocol-0.12.14/NEWS 2018-06-01 10:09:57.000000000 +0200 +++ new/spice-protocol-0.14.0/NEWS 1970-01-01 01:00:00.000000000 +0100 @@ -1,188 +0,0 @@ -Major changes in 0.12.14 -======================== -* add stream-device protocol -* add SPICE_SURFACE_FLAGS_STREAMING_MODE flag -* add e2k (Elbrus 2000) architecture -* add SPICE_MAX_NUM_STREAMS -* add meson support -* add bult-ins byte swapping for Visual C++ -* switch to built-ins byte swapping in GCC - -Major changes in 0.12.13 -======================== -* add DISPLAY_PREFERRED_VIDEO_CODEC_TYPE -* add VP9 codec type -* add VD_AGENT_CLEAR_CAPABILITY() macro -* add VD_AGENT_CAP_FILE_XFER_DISABLED -* add VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE -* add new file-xfer statuses for detailed error -* Change enums.h license to MIT - -Major changes in 0.12.12 -======================== -* protocol: Add lz4 compression support to the SpiceVMC channel - -Major changes in 0.12.11 -======================== -* protocol: add support for the VP8 and h264 video codecs -* protocol: add unix GL scanout messages -* remove code generation scripts, moved back to spice-common -* macros improvements, more type safety - -Major changes in 0.12.10 -======================== -* Add VD_AGENT_CAP_MONITORS_CONFIG_POSITION to handle multi-monitor - configurations that are not multi-head -* Add protocol code generation scripts from spice-common -* Endianness and compiler portability fixes (clang) - -Major changes in 0.12.9 -======================= -* rename newly introduced SpiceImageCompress enum to SpiceImageCompression - as otherwise it was clashing with the definition used by older spice-server - releases, breaking QEMU build - -Major changes in 0.12.8 -======================= -* add LZ4 support -* add audio volume synchronization -* deprecate unused vdi-dev -* add 'preferred-compression' message/capability -* add a new Windows driver escape code to send - monitors capability from guest to client - -Major changes in 0.12.7 -======================= -* add support for Webdav channel -* add support for the Opus codec - -Major changes in 0.12.6 -======================= -* add adaptive video streaming support: - control playback latency and receive playback - reports from the client. -* add agent capabilities for signaling guest line ending. - -Major changes in 0.12.5 -======================= -* Add agent file xfer success status -* Add a client-disconnected agent message - -Major changes in 0.12.4 -======================= -* Add agent file copy support. -* Add agent sparse monitors capability. -* Add controller proxy message. - -Major changes in 0.12.3 -======================= -* Add a generic "port" channel - -Major changes in 0.12.2 -======================= -* Add A8 surface capability in display channel. -* Add to qxl device support for: - * client present - * client capabilities - * client monitors configuration - -Major changes in 0.12.1 -======================= -* Support seamless migration. -* New QXLComposite message for better X support. -* Support arbitrary scancode message INPUTS_KEY_SCANCODE. - -Major changes in 0.12.0 -======================= -* Add support for arbitrary resolution on Windows QXL with - QXL_ESCAPE_SET_CUSTOM_DISPLAY -* Add support for arbitrary resolution and multiple monitor per - display channel with QXLMonitorsConfig and co -* build cleanup - -Major changes in 0.10.3 (0.10.2 was never released) -=================================================== -* Add support for video streams with differently sized (wxh) data -* Add controller messages for USB redirection, COLOR_DEPTH, DISABLE_EFFECTS, - and ENABLE_SMARTCARD -* Add name & uuid messages on main channel -* some cleanups -* Fixes RHBZ#815422, RHBZ#807295, RHBZ#787447 - -Major changes in 0.10.1 -======================= -* Add support for a header without sublist and serial (mini header) - -Major changes in 0.10.0 -======================= -* no changes, released to match version with spice - -Major changes in 0.9.1 (same as 0.8.2 in 0.8 branch) -====================== -* Add support for semi-seamless migration - -Major changes in 0.9.0 -====================== -* Add support for generic spicevmc chardev passthrough messages -* Add USB redirection channel - -Major changes in 0.8.1 -====================== -* Add support for volume change -* Add support for async guest io writes and interrupt -* Add support for suspend related guest io writes -* Add support for interrupt indicating guest bug - -Major changes in 0.8.0 -====================== -* Add support for different clipboards (selections) to vd_agent copy paste -* Add support for using different authentication mechanisms (just SASL for now) - -Major changes in 0.7.1 -====================== -* Add some enums for the xorg qxl driver -* Some other small fixes - -Major changes in 0.7.0 -====================== -* Add smartcard channel - -Major changes in 0.6.4 -====================== -* Make controller client protocol menu text UTF8 rather then 16 bit unicode - -Major changes in 0.6.3: -======================= -* Add support for copy and paste to the agent protocol -* Add foreign-menu and external controller client protocol headers - -Major changes in 0.6.2: -======================= -* Skipped to stay in sync with spice - -Major changes in 0.6.1: -======================= -* Added compat flag for 16bpp commands - -Major changes in 0.6.0: -======================= -* Initial messages for clipboard sharing -* Move agent protocol structs from spice to spice-protocol -* Add capabilities to agent protocol - -Major changes in 0.5.3: -======================= - -Network major number changed to 2 to reflect that the network -protocol is now stable and backwards compatible from this point. - -Some vdagent messages for display settings and clipboard sharing -were added. - -Major changes in 0.5.2: -======================= - -This is the first release of the unstable 0.5.x series leading up to 0.6. -This module was split out of spice so that e.g. drivers and qemu can -get the types and constants they need without using the full spice -codebase. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/README.md new/spice-protocol-0.14.0/README.md --- old/spice-protocol-0.12.14/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/spice-protocol-0.14.0/README.md 2019-04-12 15:54:46.000000000 +0200 @@ -0,0 +1,27 @@ +spice-protocol +============== + +The protocol definition for [SPICE] project used by: +* [spice-server]: A server side library used by [QEMU] and [x11spice]; +* [spice-gtk]: A client side library used by [virt-viewer and virt-manager] and + [GNOME Boxes]; +* [linux/vd-agent] and [win32/vd-agent]: Guest components for Linux and Windows +* [xf86-video-qxl], [gpu/drm/qxl], [win32/qxl], [win32/qxl-wddm-dod]: Guest video + drivers; + +Please [report bugs] at Freedesktop's instance of Gitlab + +[SPICE]: https://spice-space.org +[spice-server]: https://gitlab.freedesktop.org/spice/spice +[QEMU]: https://www.qemu.org +[x11spice]: https://gitlab.com/spice/x11spice +[spice-gtk]: https://gitlab.freedesktop.org/spice/spice-gtk +[virt-viewer and virt-manager]: https://virt-manager.org/ +[GNOME Boxes]: https://wiki.gnome.org/Apps/Boxes +[linux/vd-agent]: https://gitlab.freedesktop.org/spice/linux/vd_agent +[win32/vd-agent]: https://gitlab.freedesktop.org/spice/win32/vd_agent +[xf86-video-qxl]: https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl +[gpu/drm/qxl]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/driv... +[win32/qxl]: https://gitlab.freedesktop.org/spice/win32/qxl +[win32/qxl-wddm-dod]: https://gitlab.freedesktop.org/spice/win32/qxl-wddm-dod +[report bugs]: https://gitlab.freedesktop.org/spice/spice-protocol/issues/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/configure.ac new/spice-protocol-0.14.0/configure.ac --- old/spice-protocol-0.12.14/configure.ac 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/configure.ac 2019-04-12 15:54:46.000000000 +0200 @@ -1,15 +1,15 @@ AC_PREREQ([2.57]) m4_define([SPICE_MAJOR], 0) -m4_define([SPICE_MINOR], 12) -m4_define([SPICE_MICRO], 14) +m4_define([SPICE_MINOR], 14) +m4_define([SPICE_MICRO], 0) AC_INIT(spice-protocol, [SPICE_MAJOR.SPICE_MINOR.SPICE_MICRO], [], spice-protocol) AC_CONFIG_MACRO_DIR([m4]) AM_CONFIG_HEADER([config.h]) -AM_INIT_AUTOMAKE([dist-bzip2]) +AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/meson.build new/spice-protocol-0.14.0/meson.build --- old/spice-protocol-0.12.14/meson.build 2018-06-01 10:06:28.000000000 +0200 +++ new/spice-protocol-0.14.0/meson.build 2019-04-12 15:28:38.000000000 +0200 @@ -2,12 +2,14 @@ # project definition # project('spice-protocol', 'c', - version : '0.12.14', + version : '0.14.0', license : 'BSD', meson_version : '>= 0.41.0') subdir('spice') +spice_protocol_dep = declare_dependency(include_directories : include_directories('.')) + # # spice-protocol.pc generation # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/missing new/spice-protocol-0.14.0/missing --- old/spice-protocol-0.12.14/missing 2018-06-01 10:10:31.000000000 +0200 +++ new/spice-protocol-0.14.0/missing 2019-04-12 15:55:07.000000000 +0200 @@ -1,9 +1,9 @@ -#!/bin/sh +#! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,7 +207,7 @@ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/Makefile.am new/spice-protocol-0.14.0/spice/Makefile.am --- old/spice-protocol-0.12.14/spice/Makefile.am 2018-06-01 10:06:28.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/Makefile.am 2019-02-04 14:48:47.000000000 +0100 @@ -7,7 +7,6 @@ controller_prot.h \ end-packed.h \ enums.h \ - error_codes.h \ foreign_menu_prot.h \ ipc_ring.h \ macros.h \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/controller_prot.h new/spice-protocol-0.14.0/spice/controller_prot.h --- old/spice-protocol-0.12.14/spice/controller_prot.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/controller_prot.h 2019-02-04 14:48:47.000000000 +0100 @@ -48,7 +48,7 @@ } ControllerMsg; enum { - //extrenal app -> spice client + //external app -> spice client CONTROLLER_HOST = 1, CONTROLLER_PORT, CONTROLLER_SPORT, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/end-packed.h new/spice-protocol-0.14.0/spice/end-packed.h --- old/spice-protocol-0.12.14/spice/end-packed.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/end-packed.h 2019-02-04 14:48:47.000000000 +0100 @@ -32,6 +32,7 @@ /* See start-packed.h for details */ #undef SPICE_ATTR_PACKED +#undef SPICE_ATTR_ALIGNED #if defined(__MINGW32__) || !defined(__GNUC__) #pragma pack(pop) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/enums.h new/spice-protocol-0.14.0/spice/enums.h --- old/spice-protocol-0.12.14/spice/enums.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/enums.h 2019-04-04 10:42:57.000000000 +0200 @@ -119,21 +119,6 @@ SPICE_MOUSE_MODE_MASK = 0x3 } SpiceMouseMode; -typedef enum SpicePubkeyType { - SPICE_PUBKEY_TYPE_INVALID, - SPICE_PUBKEY_TYPE_RSA, - SPICE_PUBKEY_TYPE_RSA2, - SPICE_PUBKEY_TYPE_DSA, - SPICE_PUBKEY_TYPE_DSA1, - SPICE_PUBKEY_TYPE_DSA2, - SPICE_PUBKEY_TYPE_DSA3, - SPICE_PUBKEY_TYPE_DSA4, - SPICE_PUBKEY_TYPE_DH, - SPICE_PUBKEY_TYPE_EC, - - SPICE_PUBKEY_TYPE_ENUM_END -} SpicePubkeyType; - typedef enum SpiceDataCompressionType { SPICE_DATA_COMPRESSION_TYPE_NONE, SPICE_DATA_COMPRESSION_TYPE_LZ4, @@ -162,6 +147,7 @@ SPICE_VIDEO_CODEC_TYPE_VP8, SPICE_VIDEO_CODEC_TYPE_H264, SPICE_VIDEO_CODEC_TYPE_VP9, + SPICE_VIDEO_CODEC_TYPE_H265, SPICE_VIDEO_CODEC_TYPE_ENUM_END } SpiceVideoCodecType; @@ -396,21 +382,6 @@ SPICE_AUDIO_FMT_ENUM_END } SpiceAudioFmt; -typedef enum SpiceTunnelServiceType { - SPICE_TUNNEL_SERVICE_TYPE_INVALID, - SPICE_TUNNEL_SERVICE_TYPE_GENERIC, - SPICE_TUNNEL_SERVICE_TYPE_IPP, - - SPICE_TUNNEL_SERVICE_TYPE_ENUM_END -} SpiceTunnelServiceType; - -typedef enum SpiceTunnelIpType { - SPICE_TUNNEL_IP_TYPE_INVALID, - SPICE_TUNNEL_IP_TYPE_IPv4, - - SPICE_TUNNEL_IP_TYPE_ENUM_END -} SpiceTunnelIpType; - typedef enum SpiceVscMessageType { SPICE_VSC_MESSAGE_TYPE_Init = 1, SPICE_VSC_MESSAGE_TYPE_Error, @@ -613,33 +584,6 @@ }; enum { - SPICE_MSG_TUNNEL_INIT = 101, - SPICE_MSG_TUNNEL_SERVICE_IP_MAP, - SPICE_MSG_TUNNEL_SOCKET_OPEN, - SPICE_MSG_TUNNEL_SOCKET_FIN, - SPICE_MSG_TUNNEL_SOCKET_CLOSE, - SPICE_MSG_TUNNEL_SOCKET_DATA, - SPICE_MSG_TUNNEL_SOCKET_CLOSED_ACK, - SPICE_MSG_TUNNEL_SOCKET_TOKEN, - - SPICE_MSG_END_TUNNEL -}; - -enum { - SPICE_MSGC_TUNNEL_SERVICE_ADD = 101, - SPICE_MSGC_TUNNEL_SERVICE_REMOVE, - SPICE_MSGC_TUNNEL_SOCKET_OPEN_ACK, - SPICE_MSGC_TUNNEL_SOCKET_OPEN_NACK, - SPICE_MSGC_TUNNEL_SOCKET_FIN, - SPICE_MSGC_TUNNEL_SOCKET_CLOSED, - SPICE_MSGC_TUNNEL_SOCKET_CLOSED_ACK, - SPICE_MSGC_TUNNEL_SOCKET_DATA, - SPICE_MSGC_TUNNEL_SOCKET_TOKEN, - - SPICE_MSGC_END_TUNNEL -}; - -enum { SPICE_MSG_SMARTCARD_DATA = 101, SPICE_MSG_END_SMARTCARD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/error_codes.h new/spice-protocol-0.14.0/spice/error_codes.h --- old/spice-protocol-0.12.14/spice/error_codes.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/error_codes.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -/* - Copyright (C) 2009 Red Hat, Inc. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef _H_SPICE_ERROR_CODES -#define _H_SPICE_ERROR_CODES - -#define SPICEC_ERROR_CODE_SUCCESS 0 -#define SPICEC_ERROR_CODE_ERROR 1 -#define SPICEC_ERROR_CODE_GETHOSTBYNAME_FAILED 2 -#define SPICEC_ERROR_CODE_CONNECT_FAILED 3 -#define SPICEC_ERROR_CODE_SOCKET_FAILED 4 -#define SPICEC_ERROR_CODE_SEND_FAILED 5 -#define SPICEC_ERROR_CODE_RECV_FAILED 6 -#define SPICEC_ERROR_CODE_SSL_ERROR 7 -#define SPICEC_ERROR_CODE_NOT_ENOUGH_MEMORY 8 -#define SPICEC_ERROR_CODE_AGENT_TIMEOUT 9 -#define SPICEC_ERROR_CODE_AGENT_ERROR 10 -#define SPICEC_ERROR_CODE_VERSION_MISMATCH 11 -#define SPICEC_ERROR_CODE_PERMISSION_DENIED 12 -#define SPICEC_ERROR_CODE_INVALID_ARG 13 -#define SPICEC_ERROR_CODE_CMD_LINE_ERROR 14 - -#endif /* _H_SPICE_ERROR_CODES */ - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/foreign_menu_prot.h new/spice-protocol-0.14.0/spice/foreign_menu_prot.h --- old/spice-protocol-0.12.14/spice/foreign_menu_prot.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/foreign_menu_prot.h 2019-02-04 14:48:47.000000000 +0100 @@ -43,7 +43,7 @@ } FrgMenuMsg; enum { - //extrenal app -> spice client + //external app -> spice client FOREIGN_MENU_SET_TITLE = 1, FOREIGN_MENU_ADD_ITEM, FOREIGN_MENU_MODIFY_ITEM, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/meson.build new/spice-protocol-0.14.0/spice/meson.build --- old/spice-protocol-0.12.14/spice/meson.build 2018-06-01 10:06:28.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/meson.build 2019-02-04 14:48:47.000000000 +0100 @@ -3,7 +3,6 @@ 'controller_prot.h', 'end-packed.h', 'enums.h', - 'error_codes.h', 'foreign_menu_prot.h', 'ipc_ring.h', 'macros.h', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/protocol.h new/spice-protocol-0.14.0/spice/protocol.h --- old/spice-protocol-0.12.14/spice/protocol.h 2018-06-01 10:06:28.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/protocol.h 2019-02-04 14:48:47.000000000 +0100 @@ -149,6 +149,7 @@ SPICE_DISPLAY_CAP_CODEC_H264, SPICE_DISPLAY_CAP_PREF_VIDEO_CODEC_TYPE, SPICE_DISPLAY_CAP_CODEC_VP9, + SPICE_DISPLAY_CAP_CODEC_H265, }; enum { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/qxl_dev.h new/spice-protocol-0.14.0/spice/qxl_dev.h --- old/spice-protocol-0.12.14/spice/qxl_dev.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/qxl_dev.h 2019-02-04 14:48:47.000000000 +0100 @@ -253,7 +253,7 @@ #define QXL_INTERRUPT_CLIENT_MONITORS_CONFIG (1 << 5) /* qxl-1 compat: append only */ -typedef struct SPICE_ATTR_PACKED QXLRam { +typedef struct SPICE_ATTR_ALIGNED(4) SPICE_ATTR_PACKED QXLRam { uint32_t magic; uint32_t int_pending; uint32_t int_mask; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/start-packed.h new/spice-protocol-0.14.0/spice/start-packed.h --- old/spice-protocol-0.12.14/spice/start-packed.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/start-packed.h 2019-02-04 14:48:47.000000000 +0100 @@ -48,6 +48,7 @@ #ifdef __GNUC__ #define SPICE_ATTR_PACKED __attribute__ ((__packed__)) +#define SPICE_ATTR_ALIGNED(n) __attribute__ ((__aligned__ (n))) #ifdef __MINGW32__ #pragma pack(push,1) @@ -58,6 +59,7 @@ #pragma pack(push) #pragma pack(1) #define SPICE_ATTR_PACKED +#define SPICE_ATTR_ALIGNED(n) __declspec (align (n)) #pragma warning(disable:4200) #pragma warning(disable:4103) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/stats.h new/spice-protocol-0.14.0/spice/stats.h --- old/spice-protocol-0.12.14/spice/stats.h 2018-05-14 14:06:48.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/stats.h 2019-02-04 14:48:47.000000000 +0100 @@ -62,6 +62,8 @@ uint32_t generation; uint32_t num_of_nodes; uint32_t root_index; + /* to avoid holes in the structure on some platforms */ + uint32_t padding; SpiceStatNode nodes[]; } SpiceStat; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/stream-device.h new/spice-protocol-0.14.0/spice/stream-device.h --- old/spice-protocol-0.12.14/spice/stream-device.h 2018-06-01 10:06:28.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/stream-device.h 2019-02-04 14:48:47.000000000 +0100 @@ -90,6 +90,8 @@ STREAM_TYPE_CURSOR_SET, /* guest cursor position */ STREAM_TYPE_CURSOR_MOVE, + /* the graphics device display information message (device address and display id) */ + STREAM_TYPE_DEVICE_DISPLAY_INFO, } StreamMsgType; typedef enum StreamCapabilities { @@ -140,6 +142,35 @@ uint8_t data[0]; } StreamMsgData; +/* This message contains information about the graphics device and monitor + * belonging to a particular video stream (which maps to a channel) from + * the streaming agent. + * + * The device_address is the hardware address of the device (e.g. PCI), + * device_display_id is the id of the monitor on the device. + * + * The supported device address format is: + * "pci/<DOMAIN>/<SLOT>.<FUNCTION>/.../<SLOT>.<FUNCTION>" + * + * The "pci" identifies the rest of the string as a PCI address. It is the only + * supported address at the moment, other identifiers can be introduced later. + * <DOMAIN> is the PCI domain, followed by <SLOT>.<FUNCTION> of any PCI bridges + * in the chain leading to the device. The last <SLOT>.<FUNCTION> is the + * graphics device. All of <DOMAIN>, <SLOT>, <FUNCTION> are hexadecimal numbers + * with the following number of digits: + * <DOMAIN>: 4 + * <SLOT>: 2 + * <FUNCTION>: 1 + * + * Sent from the streaming agent to the server. + */ +typedef struct StreamMsgDeviceDisplayInfo { + uint32_t stream_id; + uint32_t device_display_id; + uint32_t device_address_len; + uint8_t device_address[0]; // a zero-terminated string +} StreamMsgDeviceDisplayInfo; + /* Tell to stop current stream and possibly start a new one. * This message is sent by the host to the guest. * Allows to communicate the codecs supported by the clients. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-protocol-0.12.14/spice/vd_agent.h new/spice-protocol-0.14.0/spice/vd_agent.h --- old/spice-protocol-0.12.14/spice/vd_agent.h 2018-06-01 10:07:49.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/vd_agent.h 2019-02-04 14:48:47.000000000 +0100 @@ -91,6 +91,7 @@ VD_AGENT_CLIENT_DISCONNECTED, VD_AGENT_MAX_CLIPBOARD, VD_AGENT_AUDIO_VOLUME_SYNC, + VD_AGENT_GRAPHICS_DEVICE_INFO, VD_AGENT_END_MESSAGE, }; @@ -248,6 +249,27 @@ uint16_t volume[0]; } VDAgentAudioVolumeSync; +typedef struct SPICE_ATTR_PACKED VDAgentDeviceDisplayInfo { + uint32_t channel_id; + uint32_t monitor_id; + uint32_t device_display_id; + uint32_t device_address_len; + uint8_t device_address[0]; // a zero-terminated string +} VDAgentDeviceDisplayInfo; + + +/* This message contains the mapping of (channel_id, monitor_id) pair to a + * "physical" (virtualized) device and its monitor identified by device_address + * and device_display_id. + * + * It's used on the vd_agent to identify the guest monitors for the + * mouse_position and monitors_config messages. + */ +typedef struct SPICE_ATTR_PACKED VDAgentGraphicsDeviceInfo { + uint32_t count; + VDAgentDeviceDisplayInfo display_info[0]; +} VDAgentGraphicsDeviceInfo; + enum { VD_AGENT_CAP_MOUSE_STATE = 0, VD_AGENT_CAP_MONITORS_CONFIG, @@ -264,6 +286,7 @@ VD_AGENT_CAP_MONITORS_CONFIG_POSITION, VD_AGENT_CAP_FILE_XFER_DISABLED, VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS, + VD_AGENT_CAP_GRAPHICS_DEVICE_INFO, VD_AGENT_END_CAP, };
participants (1)
-
root