[Spice-commits] 6 commits - Makefile.am build-aux/git-version-gen configure.ac server/Makefile.am server/red_time.c server/reds.c

Christophe Fergau teuf at kemper.freedesktop.org
Thu Dec 12 01:39:42 PST 2013


 Makefile.am               |    1 
 build-aux/git-version-gen |  165 ++++++++++++++++++++++++++++++++--------------
 configure.ac              |    6 -
 server/Makefile.am        |    1 
 server/red_time.c         |    1 
 server/reds.c             |    5 +
 6 files changed, 125 insertions(+), 54 deletions(-)

New commits:
commit 4fc9ba5f27dd4c04441d38c893ee962da01baf80
Author: David Jaša <djasa at redhat.com>
Date:   Wed Nov 27 17:45:49 2013 +0100

    Use TLS version 1.0 or better
    
    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.

diff --git a/server/reds.c b/server/reds.c
index 2a0002b..d79732c 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -3221,6 +3221,8 @@ static int reds_init_ssl(void)
     SSL_METHOD *ssl_method;
 #endif
     int return_code;
+    /* When some other SSL/TLS version becomes obsolete, add it to this
+     * variable. */
     long ssl_options = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
 
     /* Global system initialization*/
@@ -3228,7 +3230,8 @@ static int reds_init_ssl(void)
     SSL_load_error_strings();
 
     /* Create our context*/
-    ssl_method = TLSv1_method();
+    /* SSLv23_method() handles TLSv1.x in addition to SSLv2/v3 */
+    ssl_method = SSLv23_method();
     reds->ctx = SSL_CTX_new(ssl_method);
     if (!reds->ctx) {
         spice_warning("Could not allocate new SSL context");
commit f4f033a09c3b9efed0989d93794b9d442f3cce22
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Wed Dec 11 16:45:59 2013 +0100

    Remove empty red_time.c

diff --git a/server/red_time.c b/server/red_time.c
deleted file mode 100644
index 8b13789..0000000
--- a/server/red_time.c
+++ /dev/null
@@ -1 +0,0 @@
-
commit 1b77a2c073c62397e8e0ab20648b07d93f43cfc8
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Wed Dec 11 16:43:26 2013 +0100

    Add red_time.h to Makefile.am
    
    This file was added in bc50ff076 a few months ago, but is not listed
    in Makefile.am, and thus not part of tarballs. However, it's being included
    from other C files, so not having it causes compilation breakage.

diff --git a/server/Makefile.am b/server/Makefile.am
index 807fbfb..6dcf2ee 100644
--- a/server/Makefile.am
+++ b/server/Makefile.am
@@ -83,6 +83,7 @@ libspice_server_la_SOURCES =			\
 	red_memslots.h				\
 	red_parse_qxl.c				\
 	red_parse_qxl.h				\
+	red_time.h				\
 	red_worker.c				\
 	red_worker.h				\
 	reds.c					\
commit 74300144f8f9933f69067cf3ced2fdc9b025237f
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Wed Dec 11 16:32:36 2013 +0100

    Update git-version-gen to latest version
    
    Pick the latest git-version-gen version from
    http://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/git-version-gen

diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
index 5617eb8..3468247 100755
--- a/build-aux/git-version-gen
+++ b/build-aux/git-version-gen
@@ -1,8 +1,8 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2010-06-14.19; # UTC
+scriptversion=2012-12-31.23; # UTC
 
-# Copyright (C) 2007-2010 Free Software Foundation, Inc.
+# Copyright (C) 2007-2013 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -44,8 +44,10 @@ scriptversion=2010-06-14.19; # UTC
 #   files to pick up a version string change; and leave it stale to
 #   minimize rebuild time after unrelated changes to configure sources.
 #
-# It is probably wise to add these two files to .gitignore, so that you
-# don't accidentally commit either generated file.
+# As with any generated file in a VC'd directory, you should add
+# /.version to .gitignore, so that you don't accidentally commit it.
+# .tarball-version is never generated in a VC'd directory, so needn't
+# be listed there.
 #
 # Use the following line in your configure.ac, so that $(VERSION) will
 # automatically be up-to-date each time configure is run (and note that
@@ -57,54 +59,107 @@ scriptversion=2010-06-14.19; # UTC
 #         [bug-project at example])
 #
 # Then use the following lines in your Makefile.am, so that .version
-# will be present for dependencies, and so that .tarball-version will
-# exist in distribution tarballs.
+# will be present for dependencies, and so that .version and
+# .tarball-version will exist in distribution tarballs.
 #
+# EXTRA_DIST = $(top_srcdir)/.version
 # BUILT_SOURCES = $(top_srcdir)/.version
 # $(top_srcdir)/.version:
 #	echo $(VERSION) > $@-t && mv $@-t $@
 # dist-hook:
 #	echo $(VERSION) > $(distdir)/.tarball-version
 
-case $# in
-    1|2) ;;
-    *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \
-         '[TAG-NORMALIZATION-SED-SCRIPT]'
-       exit 1;;
-esac
 
-tarball_version_file=$1
-tag_sed_script="${2:-s/x/x/}"
+me=$0
+
+version="git-version-gen $scriptversion
+
+Copyright 2011 Free Software Foundation, Inc.
+There is NO warranty.  You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING."
+
+usage="\
+Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT]
+Print a version string.
+
+Options:
+
+   --prefix           prefix of git tags (default 'v')
+   --fallback         fallback version to use if \"git --version\" fails
+
+   --help             display this help and exit
+   --version          output version information and exit
+
+Running without arguments will suffice in most cases."
+
+prefix=v
+fallback=
+
+while test $# -gt 0; do
+  case $1 in
+    --help) echo "$usage"; exit 0;;
+    --version) echo "$version"; exit 0;;
+    --prefix) shift; prefix="$1";;
+    --fallback) shift; fallback="$1";;
+    -*)
+      echo "$0: Unknown option '$1'." >&2
+      echo "$0: Try '--help' for more information." >&2
+      exit 1;;
+    *)
+      if test "x$tarball_version_file" = x; then
+        tarball_version_file="$1"
+      elif test "x$tag_sed_script" = x; then
+        tag_sed_script="$1"
+      else
+        echo "$0: extra non-option argument '$1'." >&2
+        exit 1
+      fi;;
+  esac
+  shift
+done
+
+if test "x$tarball_version_file" = x; then
+    echo "$usage"
+    exit 1
+fi
+
+tag_sed_script="${tag_sed_script:-s/x/x/}"
+
 nl='
 '
 
 # Avoid meddling by environment variable of the same name.
 v=
+v_from_git=
 
 # First see if there is a tarball-only version file.
 # then try "git describe", then default.
 if test -f $tarball_version_file
 then
-    v=`cat $tarball_version_file` || exit 1
+    v=`cat $tarball_version_file` || v=
     case $v in
-	*$nl*) v= ;; # reject multi-line output
-	[0-9]*) ;;
-	*) v= ;;
+        *$nl*) v= ;; # reject multi-line output
+        [0-9]*) ;;
+        *) v= ;;
     esac
-    test -z "$v" \
-	&& echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2
+    test "x$v" = x \
+        && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
 fi
 
-if test -n "$v"
+if test "x$v" != x
 then
     : # use $v
-elif test -d .git \
-    && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \
-	  || git describe --abbrev=4 HEAD 2>/dev/null` \
+# Otherwise, if there is at least one git commit involving the working
+# directory, and "git describe" output looks sensible, use that to
+# derive a version string.
+elif test "`git log -1 --pretty=format:x . 2>&1`" = x \
+    && v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \
+          || git describe --abbrev=4 HEAD 2>/dev/null` \
     && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
     && case $v in
-	 v[0-9]*) ;;
-	 *) (exit 1) ;;
+         $prefix[0-9]*) ;;
+         *) (exit 1) ;;
        esac
 then
     # Is this a new git that lists number of commits since the last
@@ -112,39 +167,51 @@ then
     #   Newer: v6.10-77-g0f8faeb
     #   Older: v6.10-g0f8faeb
     case $v in
-	*-*-*) : git describe is okay three part flavor ;;
-	*-*)
-	    : git describe is older two part flavor
-	    # Recreate the number of commits and rewrite such that the
-	    # result is the same as if we were using the newer version
-	    # of git describe.
-	    vtag=`echo "$v" | sed 's/-.*//'`
-	    numcommits=`git rev-list "$vtag"..HEAD | wc -l`
-	    v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
-	    ;;
+        *-*-*) : git describe is okay three part flavor ;;
+        *-*)
+            : git describe is older two part flavor
+            # Recreate the number of commits and rewrite such that the
+            # result is the same as if we were using the newer version
+            # of git describe.
+            vtag=`echo "$v" | sed 's/-.*//'`
+            commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \
+                || { commit_list=failed;
+                     echo "$0: WARNING: git rev-list failed" 1>&2; }
+            numcommits=`echo "$commit_list" | wc -l`
+            v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
+            test "$commit_list" = failed && v=UNKNOWN
+            ;;
     esac
 
     # Change the first '-' to a '.', so version-comparing tools work properly.
     # Remove the "g" in git describe's output string, to save a byte.
     v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
-else
+    v_from_git=1
+elif test "x$fallback" = x || git --version >/dev/null 2>&1; then
     v=UNKNOWN
+else
+    v=$fallback
 fi
 
-v=`echo "$v" |sed 's/^v//'`
+v=`echo "$v" |sed "s/^$prefix//"`
 
-# Don't declare a version "dirty" merely because a time stamp has changed.
-git update-index --refresh > /dev/null 2>&1
+# Test whether to append the "-dirty" suffix only if the version
+# string we're using came from git.  I.e., skip the test if it's "UNKNOWN"
+# or if it came from .tarball-version.
+if test "x$v_from_git" != x; then
+  # Don't declare a version "dirty" merely because a time stamp has changed.
+  git update-index --refresh > /dev/null 2>&1
 
-dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty=
-case "$dirty" in
-    '') ;;
-    *) # Append the suffix only if there isn't one already.
-	case $v in
-	  *-dirty) ;;
-	  *) v="$v-dirty" ;;
-	esac ;;
-esac
+  dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
+  case "$dirty" in
+      '') ;;
+      *) # Append the suffix only if there isn't one already.
+          case $v in
+            *-dirty) ;;
+            *) v="$v-dirty" ;;
+          esac ;;
+  esac
+fi
 
 # Omit the trailing newline, so that m4_esyscmd can use the result directly.
 echo "$v" | tr -d "$nl"
commit 2c6fbad8c53de36b0ae15bea29df2ee0bd8e7b27
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Wed Dec 11 16:31:05 2013 +0100

    Add .version to EXTRA_DIST
    
    Newer versions of git-version-gen document that it should be done, and
    builddir != srcdir builds are broken if it's not present in the tarball as
    we'd attempt to generate this file in the read-only source directory (if
    the source dir is read-only)

diff --git a/Makefile.am b/Makefile.am
index e2cab09..e260e00 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,6 +19,7 @@ DISTCHECK_CONFIGURE_FLAGS =			\
 
 EXTRA_DIST =					\
 	build-aux/git-version-gen		\
+	.version				\
 	$(NULL)
 
 # Generate the ChangeLog file (with all entries since the switch to git)
commit 686750e49c28794f957258ec867c913b143b9913
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Wed Dec 11 16:12:19 2013 +0100

    Fix snappy detection with newer spice-gtk
    
    It was renamed to spicy-screenshot

diff --git a/configure.ac b/configure.ac
index 882bf1b..db4fd89 100644
--- a/configure.ac
+++ b/configure.ac
@@ -404,11 +404,11 @@ AC_SUBST([SASL_CFLAGS])
 AC_SUBST([SASL_LIBS])
 
 if test "x$enable_automated_tests" = "xyes"; then
-    AC_MSG_CHECKING([for snappy])
-    snappy --help >/dev/null 2>&1
+    AC_MSG_CHECKING([for snappy/spicy-screenshot])
+    snappy --help >/dev/null 2>&1 || spicy-screenshot --help >/dev/null 2>&1
     if test $? -ne 0 ; then
         AC_MSG_RESULT([not found])
-        AC_MSG_ERROR([snappy was not found, this module is part of spice-gtk andis required to compile this package])
+        AC_MSG_ERROR([snappy/spicy-screenshot was not found, this module is part of spice-gtk and is required to compile this package])
     fi
     AC_MSG_RESULT([found])
 fi


More information about the Spice-commits mailing list