Update to 3.25.4

This commit is contained in:
Kalev Lember 2017-07-31 16:00:36 +01:00
parent c636575404
commit 7760fbefdc
6 changed files with 8 additions and 135 deletions

1
.gitignore vendored
View File

@ -86,3 +86,4 @@ gnome-session-2.31.6.tar.bz2
/gnome-session-3.24.0.tar.xz
/gnome-session-3.24.1.tar.xz
/gnome-session-3.25.3.tar.xz
/gnome-session-3.25.4.tar.xz

View File

@ -1,47 +0,0 @@
From 4bb8872e57f1fbf2beece71197303ad4b2975d68 Mon Sep 17 00:00:00 2001
From: Tomas Popela <tpopela@redhat.com>
Date: Thu, 29 Jun 2017 14:26:52 +0200
Subject: [PATCH 1/3] Fix use of uninitialised variable in
get_session_keyfile_if_valid()
The length variable is not set before it's used. Remove the check
for it as it's not needed.
https://bugzilla.gnome.org/show_bug.cgi?id=784339
---
gnome-session/gsm-session-fill.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/gnome-session/gsm-session-fill.c b/gnome-session/gsm-session-fill.c
index bcd9205e..af203bbc 100644
--- a/gnome-session/gsm-session-fill.c
+++ b/gnome-session/gsm-session-fill.c
@@ -175,17 +175,14 @@ get_session_keyfile_if_valid (const char *path)
goto error;
}
- /* check that we do have some required components */
- if (len == 0) {
- list = g_key_file_get_string_list (keyfile,
- GSM_KEYFILE_SESSION_GROUP,
- GSM_KEYFILE_REQUIRED_COMPONENTS_KEY,
- &len, NULL);
- if (list)
- g_strfreev (list);
- if (len == 0)
- g_warning ("Session '%s': no component in the session.", path);
- }
+ list = g_key_file_get_string_list (keyfile,
+ GSM_KEYFILE_SESSION_GROUP,
+ GSM_KEYFILE_REQUIRED_COMPONENTS_KEY,
+ &len, NULL);
+ if (list)
+ g_strfreev (list);
+ if (len == 0)
+ g_warning ("Session '%s': no component in the session.", path);
return keyfile;
--
2.13.0

View File

@ -1,29 +0,0 @@
From bc90e8679f9c6bf8af33125586da213cab5dcc59 Mon Sep 17 00:00:00 2001
From: Tomas Popela <tpopela@redhat.com>
Date: Thu, 29 Jun 2017 14:30:16 +0200
Subject: [PATCH 2/3] Fix use-after-free in initialize_gio()
Don't use already freed use_vfs variable in the fuse code, but use the
disable_fuse one.
https://bugzilla.gnome.org/show_bug.cgi?id=784339
---
gnome-session/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnome-session/main.c b/gnome-session/main.c
index 89e8f3b5..d28f0df9 100644
--- a/gnome-session/main.c
+++ b/gnome-session/main.c
@@ -258,7 +258,7 @@ initialize_gio (void)
}
if (disable_fuse) {
- g_setenv ("GVFS_DISABLE_FUSE", use_vfs, TRUE);
+ g_setenv ("GVFS_DISABLE_FUSE", disable_fuse, TRUE);
g_free (disable_fuse);
} else {
g_unsetenv ("GVFS_DISABLE_FUSE");
--
2.13.0

View File

@ -1,46 +0,0 @@
From 3b216d8bb303eedc01c0a8a317b616a4e6e9e816 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 29 Jun 2017 17:10:25 +0200
Subject: [PATCH 3/3] client: Prevent the GDBusMethodInvocation from being
unref-ed twice
GsmExportedClientPrivate::handle-end-session-response, like every
other gdbus-codegen-ed signal for handling methods on the server-side,
expects a boolean return value from the callback. The lack of a return
value might confuse the generated glue code into thinking that FALSE
was returned and the call wasn't acknowledged. That inserts a call to
g_dbus_method_invocation_return_error. Since we have already called
g_dbus_method_invocation_return_value (via
gsm_exported_client_private_complete_end_session_response), and both
these methods drop GDBus' internal reference on the
GDBusMethodInvocation we may up with a memory error.
https://bugzilla.gnome.org/show_bug.cgi?id=784349
---
gnome-session/gsm-dbus-client.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnome-session/gsm-dbus-client.c b/gnome-session/gsm-dbus-client.c
index 6f5099f9..dcf96f0b 100644
--- a/gnome-session/gsm-dbus-client.c
+++ b/gnome-session/gsm-dbus-client.c
@@ -75,7 +75,7 @@ setup_connection (GsmDBusClient *client)
return TRUE;
}
-static void
+static gboolean
handle_end_session_response (GsmExportedClientPrivate *skeleton,
GDBusMethodInvocation *invocation,
gboolean is_ok,
@@ -87,6 +87,7 @@ handle_end_session_response (GsmExportedClientPrivate *skeleton,
is_ok, FALSE, FALSE, reason);
gsm_exported_client_private_complete_end_session_response (skeleton, invocation);
+ return TRUE;
}
static GObject *
--
2.13.0

View File

@ -8,8 +8,8 @@
%endif
Name: gnome-session
Version: 3.25.3
Release: 2%{?dist}
Version: 3.25.4
Release: 1%{?dist}
Summary: GNOME session manager
License: GPLv2+
@ -22,11 +22,6 @@ Patch3: gnome-session-3.6.2-swrast.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=772421
Patch4: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
# Patches in 3.25.3+
Patch9: 0001-Fix-use-of-uninitialised-variable-in-get_session_key.patch
Patch10: 0002-Fix-use-after-free-in-initialize_gio.patch
Patch11: 0003-client-Prevent-the-GDBusMethodInvocation-from-being-.patch
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv2)
@ -49,11 +44,8 @@ BuildRequires: usermode
BuildRequires: gettext
BuildRequires: intltool
BuildRequires: libtool, autoconf, automake
BuildRequires: gnome-common
BuildRequires: xmlto
BuildRequires: /usr/bin/xsltproc
BuildRequires: git
# an artificial requires to make sure we get dconf, for now
Requires: dconf
@ -89,8 +81,7 @@ Requires: xorg-x11-server-Xwayland%{?_isa}
Desktop file to add GNOME on wayland to display manager session menu.
%prep
%autosetup -S git
NOCONFIGURE=1 gnome-autogen.sh
%autosetup -p1
%build
%configure --enable-docbook-docs \
@ -144,6 +135,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
%changelog
* Mon Jul 31 2017 Kalev Lember <klember@redhat.com> - 3.25.4-1
- Update to 3.25.4
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.25.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (gnome-session-3.25.3.tar.xz) = 683736a6bde4f6a31a6007445cfa07e64dce1f0d65f11691bf0a2938596782e4de9495cb417850435bbf359b3b470b968ea78c0f04916e2318c3c27c4355431d
SHA512 (gnome-session-3.25.4.tar.xz) = 39edfff2c9442526b0d2e96393bf82460c18c2e9311852c3df4a3badb9275581f8efddc6fcc99de404bb07816449ffbf9a5c177d273affd3ba4b190841897b2c