Update to 3.34.1

This commit is contained in:
Kalev Lember 2019-10-07 10:49:29 +02:00
parent 57992c1e42
commit 3fcbe36109
5 changed files with 7 additions and 111 deletions

1
.gitignore vendored
View File

@ -106,3 +106,4 @@ gnome-session-2.31.6.tar.bz2
/gnome-session-3.33.90.tar.xz
/gnome-session-3.33.92.tar.xz
/gnome-session-3.34.0.tar.xz
/gnome-session-3.34.1.tar.xz

View File

@ -1,32 +0,0 @@
From 9d8b070982403ff8e608d4c7cce313bc2a7dce4a Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 19 Sep 2019 13:54:53 +0200
Subject: [PATCH] util: Blacklist NOTIFY_SOCKET
The NOTIFY_SOCKET environment variable was leaking into systemd
managed GNOME sessions and breaking things like OCI container runtimes
(eg., runc and crun) [1]. This variable is absent in non-systemd
managed sessions.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1753328
https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/22
---
gnome-session/gsm-util.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
index f6ddefc374dc..1528723cc7d8 100644
--- a/gnome-session/gsm-util.c
+++ b/gnome-session/gsm-util.c
@@ -36,6 +36,7 @@ static gchar *_saved_session_dir = NULL;
static gchar **child_environment;
static const char * const variable_blacklist[] = {
+ "NOTIFY_SOCKET",
"XDG_SEAT",
"XDG_SESSION_ID",
"XDG_VTNR",
--
2.20.1

View File

@ -1,74 +0,0 @@
From 5fc69b5c8662167a3106550ad619edc2a0a5cdf6 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Mon, 23 Sep 2019 11:53:52 +0200
Subject: [PATCH] util: Unset some environment variables on systemd
Variables like GNOME_SHELL_SESSION_MODE may not always be set at login,
causing them to survive between session. Add a list of variables that
need to be unset, and explicitly unset them on the systemd side.
The list is taken from GDMs list of variables.
---
gnome-session/gsm-util.c | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
index 1528723c..5eec41f2 100644
--- a/gnome-session/gsm-util.c
+++ b/gnome-session/gsm-util.c
@@ -43,6 +43,16 @@ static const char * const variable_blacklist[] = {
NULL
};
+/* The following is copied from GDMs spawn_session function */
+static const char * const variable_unsetlist[] = {
+ "DISPLAY",
+ "XAUTHORITY",
+ "WAYLAND_DISPLAY",
+ "WAYLAND_SOCKET",
+ "GNOME_SHELL_SESSION_MODE",
+ NULL
+};
+
char *
gsm_util_find_desktop_file_for_app_name (const char *name,
gboolean look_in_saved_session,
@@ -619,7 +629,14 @@ gsm_util_export_user_environment (GError **error)
for (; variable_blacklist[i] != NULL; i++)
entries = g_environ_unsetenv (entries, variable_blacklist[i]);
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("as"));
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("(asas)"));
+
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("as"));
+ for (; variable_unsetlist[i] != NULL; i++)
+ g_variant_builder_add (&builder, "s", variable_unsetlist[i]);
+ g_variant_builder_close (&builder);
+
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("as"));
for (i = 0; entries[i] != NULL; i++) {
const char *entry = entries[i];
@@ -631,6 +648,7 @@ gsm_util_export_user_environment (GError **error)
g_variant_builder_add (&builder, "s", entry);
}
+ g_variant_builder_close (&builder);
g_regex_unref (regex);
g_strfreev (entries);
@@ -639,9 +657,8 @@ gsm_util_export_user_environment (GError **error)
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- "SetEnvironment",
- g_variant_new ("(@as)",
- g_variant_builder_end (&builder)),
+ "UnsetAndSetEnvironment",
+ g_variant_builder_end (&builder),
NULL,
G_DBUS_CALL_FLAGS_NONE,
-1, NULL, &bus_error);
--
2.21.0

View File

@ -8,8 +8,8 @@
%endif
Name: gnome-session
Version: 3.34.0
Release: 3%{?dist}
Version: 3.34.1
Release: 1%{?dist}
Summary: GNOME session manager
License: GPLv2+
@ -25,8 +25,6 @@ Patch4: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
# This should go upstream once systemd has a generic interface for this
Patch5: 0001-Add-support-for-new-ConfirmedRebootToBootOptions-sig.patch
Patch6: 0002-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
Patch7: 0001-util-Blacklist-NOTIFY_SOCKET.patch
Patch8: 0001-util-Unset-some-environment-variables-on-systemd.patch
BuildRequires: meson
BuildRequires: gcc
@ -131,6 +129,9 @@ Desktop file to add GNOME on wayland to display manager session menu.
%{_userunitdir}/gnome-session*
%changelog
* Mon Oct 07 2019 Kalev Lember <klember@redhat.com> - 3.34.1-1
- Update to 3.34.1
* Mon Sep 23 2019 Benjamin Berg <bberg@redhat.com> - 3.34.0-3
- Stop certain environment variables from leaking betweens sessions
https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/23

View File

@ -1 +1 @@
SHA512 (gnome-session-3.34.0.tar.xz) = 36a42e2c6b991df8d79ecbf73221c39a05fc13a7f0dffb9b92a7c544b98b481e41f5eb40016049903e9083842b8db84429cfae1cb66cd4de07c62a961f73aee4
SHA512 (gnome-session-3.34.1.tar.xz) = a8c0c2e7613639dd48416d4bb560aa4b5ed664268cee6b6c372d5d196e49350c13f1361e02bba57711992860189637ce542351bee01000a44a82f66dd4f79f7f