spice-gtk 0.14

This commit is contained in:
Christophe Fergeau 2012-09-21 10:31:47 +02:00
parent 001df26918
commit d777d6f01a
4 changed files with 9 additions and 174 deletions

View File

@ -1,72 +0,0 @@
From 6fb336e5218e85ca20010ba1f36092dcef955d92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Tue, 4 Sep 2012 23:27:05 +0200
Subject: [PATCH spice-gtk] G_GNUC_DEPRECATED_FOR must be defined publicly
It's not enough to define G_GNUC_DEPRECATED_FOR in glib-compat.h,
since this header is no public. Instead, let's define our own
SPICE_DEPRECATED_FOR macro
---
gtk/glib-compat.h | 16 ----------------
gtk/spice-util.h | 12 +++++++++++-
2 files changed, 11 insertions(+), 17 deletions(-)
diff --git a/gtk/glib-compat.h b/gtk/glib-compat.h
index a9efda3..909b4e1 100644
--- a/gtk/glib-compat.h
+++ b/gtk/glib-compat.h
@@ -67,13 +67,6 @@ type_name##_get_type (void) \
#define G_TYPE_ERROR (spice_error_get_type ())
GType spice_error_get_type (void) G_GNUC_CONST;
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-#define G_GNUC_DEPRECATED_FOR(f) \
- __attribute__((deprecated("Use " #f " instead")))
-#else
-#define G_GNUC_DEPRECATED_FOR(f) G_GNUC_DEPRECATED
-#endif /* __GNUC__ */
-
#define G_PARAM_DEPRECATED (1 << 31)
#endif /* glib 2.26 */
@@ -126,13 +119,4 @@ GType spice_main_context_get_type (void) G_GNUC_CONST;
} G_STMT_END
#endif
-#ifndef G_GNUC_DEPRECATED_FOR
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-#define G_GNUC_DEPRECATED_FOR(f) \
- __attribute__((deprecated("Use " #f " instead")))
-#else
-#define G_GNUC_DEPRECATED_FOR(f) G_GNUC_DEPRECATED
-#endif /* __GNUC__ */
-#endif
-
#endif /* GLIB_COMPAT_H */
diff --git a/gtk/spice-util.h b/gtk/spice-util.h
index 271f3be..6996e55 100644
--- a/gtk/spice-util.h
+++ b/gtk/spice-util.h
@@ -39,8 +39,18 @@ gulong spice_g_signal_connect_object(gpointer instance,
#define SPICE_RESERVED_PADDING (10 * sizeof(void*))
+/* need to be in a public header, glib-compat.h is private */
+#ifndef SPICE_GNUC_DEPRECATED_FOR
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+#define SPICE_GNUC_DEPRECATED_FOR(f) \
+ __attribute__((deprecated("Use " #f " instead")))
+#else
+#define SPICE_GNUC_DEPRECATED_FOR(f) G_GNUC_DEPRECATED
+#endif /* __GNUC__ */
+#endif
+
#ifndef SPICE_NO_DEPRECATED
-#define SPICE_DEPRECATED_FOR(f) G_GNUC_DEPRECATED_FOR(f)
+#define SPICE_DEPRECATED_FOR(f) SPICE_GNUC_DEPRECATED_FOR(f)
#define SPICE_DEPRECATED G_GNUC_DEPRECATED
#else
#define SPICE_DEPRECATED_FOR(f)
--
1.7.11.4

View File

@ -1,27 +0,0 @@
From df49129c9ee14ada3c6bcb45fc72057255bd0d9a Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon, 10 Sep 2012 14:49:44 +0200
Subject: [spice-gtk] build-sys: Fix symbol versioning
My changes in bug 5bf72a2e had a typo which broke symbol versioning
of libspice-client-gtk.so when -Wl,--version-script is available...
---
gtk/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 928f914..06cc6e1 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -58,7 +58,7 @@ endif
if HAVE_LD_VERSION_SCRIPT
GLIB_VERSION_LDFLAGS = -Wl,--version-script=${srcdir}/map-file
-GTK_VERSION_LD_FLAGS = $(GLIB_VERSION_LDFLAGS)
+GTK_VERSION_LDFLAGS = $(GLIB_VERSION_LDFLAGS)
else
GLIB_VERSION_LDFLAGS = -export-symbols ${srcdir}/spice-glib-sym-file
GTK_VERSION_LDFLAGS = -export-symbols ${srcdir}/spice-gtk-sym-file
--
1.7.11.4

View File

@ -1,60 +0,0 @@
diff --git a/configure.ac b/configure.ac
index 3841c56..b2defd3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -243,6 +243,8 @@ else
EXTERNAL_PNP_IDS="$with_pnp_ids_path"
fi
+AC_CHECK_FUNCS(clearenv)
+
PKG_CHECK_MODULES(GLIB2, glib-2.0 >= 2.22)
AC_SUBST(GLIB2_CFLAGS)
AC_SUBST(GLIB2_LIBS)
diff --git a/gtk/spice-client-glib-usb-acl-helper.c b/gtk/spice-client-glib-usb-acl-helper.c
index 724d62a..93b9b3a 100644
--- a/gtk/spice-client-glib-usb-acl-helper.c
+++ b/gtk/spice-client-glib-usb-acl-helper.c
@@ -158,7 +158,8 @@ static void cleanup(void)
if (state == STATE_WAITING_FOR_STDIN_EOF)
set_facl(path, getuid(), 0);
- g_main_loop_quit(loop);
+ if (loop)
+ g_main_loop_quit(loop);
}
/* Not available in polkit < 0.101 */
@@ -311,11 +312,32 @@ polkit_authority_get_sync (GCancellable *cancellable, GError **error)
}
#endif
+#ifndef HAVE_CLEARENV
+extern char **environ;
+
+static int
+clearenv (void)
+{
+ if (environ != NULL)
+ environ[0] = NULL;
+ return 0;
+}
+#endif
+
int main(void)
{
pid_t parent_pid;
GInputStream *stdin_unix_stream;
+ /* Nuke the environment to get a well-known and sanitized
+ * environment to avoid attacks via e.g. the DBUS_SYSTEM_BUS_ADDRESS
+ * environment variable and similar.
+ */
+ if (clearenv () != 0) {
+ FATAL_ERROR("Error clearing environment: %s\n", g_strerror (errno));
+ return 1;
+ }
+
g_type_init();
loop = g_main_loop_new(NULL, FALSE);

View File

@ -9,11 +9,11 @@
%define with_gtk3 1
%endif
%define _version_suffix -f256
#define _version_suffix -f256
Name: spice-gtk
Version: 0.13.29
Release: 4%{?dist}
Version: 0.14
Release: 1%{?dist}
Summary: A GTK+ widget for SPICE clients
Group: System Environment/Libraries
@ -21,9 +21,6 @@ License: LGPLv2+
URL: http://spice-space.org/page/Spice-Gtk
#VCS: git:git://anongit.freedesktop.org/spice/spice-gtk
Source0: http://www.spice-space.org/download/gtk/%{name}-%{version}%{?_version_suffix}.tar.bz2
Patch1: 0001-G_GNUC_DEPRECATED_FOR-must-be-defined-publicly.patch
Patch2: 0002-build-sys-Fix-symbol-versioning.patch
Patch3: 0003-CVE-2012-4425.patch
BuildRequires: intltool
BuildRequires: gtk2-devel >= 2.14
@ -51,8 +48,6 @@ BuildRequires: pyparsing
BuildRequires: spice-protocol
# Hack because of bz #613466
BuildRequires: libtool
# For patch #2 and #3
BuildRequires: autoconf automake
Requires: spice-glib%{?_isa} = %{version}-%{release}
%description
@ -151,13 +146,9 @@ if [ -n '%{?_version_suffix}' ]; then
mv spice-gtk-%{version}%{?_version_suffix} spice-gtk-%{version}
fi
pushd spice-gtk-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
# Patch 2 changes Makefile.am and patch 3 changes configure.ac
autoreconf -fi
popd
#pushd spice-gtk-%{version}
#patch1 -p1
#popd
%if %{with_gtk3}
cp -a spice-gtk-%{version} spice-gtk3-%{version}
@ -276,6 +267,9 @@ rm -rf %{buildroot}%{_datadir}/pkgconfig/spice-protocol.pc
%{_bindir}/spicy-stats
%changelog
* Fri Sep 21 2012 Christophe Fergeau <cfergeau@redhat.com> - 0.14-1
- Update to 0.14 release
* Fri Sep 14 2012 Christophe Fergeau <cfergeau@redhat.com> - 0.13.29-4
- Add patch fixing CVE 2012-4425