From 29785e3ad8505b30dd13379c6dbe0c04e66e6c4cce77e65e0bf79dd581206604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Wed, 31 May 2017 10:33:59 +0000 Subject: [PATCH] Accepting request 499842 from GNOME:Next Resub, spelling OBS-URL: https://build.opensuse.org/request/show/499842 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=335 --- gdm-3.24.1.tar.xz | 3 - gdm-3.24.2.tar.xz | 3 + gdm-desktop-session-env-pam.patch | 165 ------------------------------ gdm.changes | 12 +++ gdm.spec | 5 +- 5 files changed, 16 insertions(+), 172 deletions(-) delete mode 100644 gdm-3.24.1.tar.xz create mode 100644 gdm-3.24.2.tar.xz delete mode 100644 gdm-desktop-session-env-pam.patch diff --git a/gdm-3.24.1.tar.xz b/gdm-3.24.1.tar.xz deleted file mode 100644 index b2dc7e5..0000000 --- a/gdm-3.24.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ee22139fe0a3fc1ff897ca1c626b28b4e997275ca8dd4d7e48e019a2f2c2179 -size 1113540 diff --git a/gdm-3.24.2.tar.xz b/gdm-3.24.2.tar.xz new file mode 100644 index 0000000..48b2f6b --- /dev/null +++ b/gdm-3.24.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4378b9fad5536e03c56ad138d0e249fbcaa09977b867895426cb41c978fe5de8 +size 1113644 diff --git a/gdm-desktop-session-env-pam.patch b/gdm-desktop-session-env-pam.patch deleted file mode 100644 index 46f273c..0000000 --- a/gdm-desktop-session-env-pam.patch +++ /dev/null @@ -1,165 +0,0 @@ -Index: gdm-3.19.90/daemon/gdm-session-worker.c -=================================================================== ---- gdm-3.19.90.orig/daemon/gdm-session-worker.c -+++ gdm-3.19.90/daemon/gdm-session-worker.c -@@ -175,6 +175,8 @@ struct GdmSessionWorkerPrivate - GdmSessionSettings *user_settings; - - GDBusMethodInvocation *pending_invocation; -+ -+ char *suse_session_name; - }; - - enum { -@@ -1045,6 +1047,9 @@ gdm_session_worker_initialize_pam (GdmSe - gdm_session_worker_set_environment_variable (worker, "XDG_SESSION_CLASS", "greeter"); - } - -+ if (worker->priv->suse_session_name) -+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", worker->priv->suse_session_name); -+ - g_debug ("GdmSessionWorker: state SETUP_COMPLETE"); - worker->priv->state = GDM_SESSION_WORKER_STATE_SETUP_COMPLETE; - -@@ -2306,6 +2311,12 @@ gdm_session_worker_handle_set_session_na - { - GdmSessionWorker *worker = GDM_SESSION_WORKER (object); - g_debug ("GdmSessionWorker: session name set to %s", session_name); -+ -+ if (worker->priv->pam_handle != NULL) -+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name); -+ g_free (worker->priv->suse_session_name); -+ worker->priv->suse_session_name = g_strdup (session_name); -+ - gdm_session_settings_set_session_name (worker->priv->user_settings, - session_name); - gdm_dbus_worker_complete_set_session_name (object, invocation); -@@ -2313,6 +2324,23 @@ gdm_session_worker_handle_set_session_na - } - - static gboolean -+gdm_session_worker_handle_set_default_session_name (GdmDBusWorker *object, -+ GDBusMethodInvocation *invocation, -+ const char *session_name) -+{ -+ GdmSessionWorker *worker = GDM_SESSION_WORKER (object); -+ g_debug ("GdmSessionWorker: default session name set to %s", session_name); -+ -+ if (worker->priv->pam_handle != NULL) -+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name); -+ g_free (worker->priv->suse_session_name); -+ worker->priv->suse_session_name = g_strdup (session_name); -+ -+ gdm_dbus_worker_complete_set_default_session_name (object, invocation); -+ return TRUE; -+} -+ -+static gboolean - gdm_session_worker_handle_set_session_display_mode (GdmDBusWorker *object, - GDBusMethodInvocation *invocation, - const char *str) -@@ -3119,6 +3147,7 @@ worker_interface_init (GdmDBusWorkerIfac - interface->handle_open = gdm_session_worker_handle_open; - interface->handle_set_language_name = gdm_session_worker_handle_set_language_name; - interface->handle_set_session_name = gdm_session_worker_handle_set_session_name; -+ interface->handle_set_default_session_name = gdm_session_worker_handle_set_default_session_name; - interface->handle_set_session_display_mode = gdm_session_worker_handle_set_session_display_mode; - interface->handle_set_environment_variable = gdm_session_worker_handle_set_environment_variable; - interface->handle_start_program = gdm_session_worker_handle_start_program; -@@ -3236,6 +3265,8 @@ gdm_session_worker_finalize (GObject *ob - - g_hash_table_unref (worker->priv->reauthentication_requests); - -+ g_free (worker->priv->suse_session_name); -+ - G_OBJECT_CLASS (gdm_session_worker_parent_class)->finalize (object); - } - -Index: gdm-3.19.90/daemon/gdm-session-worker.xml -=================================================================== ---- gdm-3.19.90.orig/daemon/gdm-session-worker.xml -+++ gdm-3.19.90/daemon/gdm-session-worker.xml -@@ -13,6 +13,9 @@ - - - -+ -+ -+ - - - -Index: gdm-3.19.90/daemon/gdm-session.c -=================================================================== ---- gdm-3.19.90.orig/daemon/gdm-session.c -+++ gdm-3.19.90/daemon/gdm-session.c -@@ -190,6 +190,8 @@ G_DEFINE_TYPE (GdmSession, - gdm_session, - G_TYPE_OBJECT); - -+static const char *get_session_name (GdmSession *self); -+ - static GdmSessionConversation * - find_conversation_by_name (GdmSession *self, - const char *service_name) -@@ -607,6 +609,9 @@ get_default_session_name (GdmSession *se - static void - gdm_session_defaults_changed (GdmSession *self) - { -+ GHashTableIter iter; -+ gpointer key, value; -+ const char *text; - - update_session_type (self); - -@@ -616,6 +621,19 @@ gdm_session_defaults_changed (GdmSession - gdm_dbus_greeter_emit_default_session_name_changed (self->priv->greeter_interface, - get_default_session_name (self)); - } -+ -+ text = get_session_name (self); -+ -+ g_hash_table_iter_init (&iter, self->priv->conversations); -+ while (g_hash_table_iter_next (&iter, &key, &value)) { -+ GdmSessionConversation *conversation; -+ -+ conversation = (GdmSessionConversation *) value; -+ -+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy, -+ text, -+ NULL, NULL, NULL); -+ } - } - - void -@@ -924,6 +942,10 @@ worker_on_saved_session_name_read (GdmDB - - if (strcmp (session_name, - get_default_session_name (self)) != 0) { -+ GHashTableIter iter; -+ gpointer key, value; -+ const char *text; -+ - g_free (self->priv->saved_session); - self->priv->saved_session = g_strdup (session_name); - -@@ -931,6 +953,19 @@ worker_on_saved_session_name_read (GdmDB - gdm_dbus_greeter_emit_default_session_name_changed (self->priv->greeter_interface, - session_name); - } -+ -+ text = get_session_name (self); -+ -+ g_hash_table_iter_init (&iter, self->priv->conversations); -+ while (g_hash_table_iter_next (&iter, &key, &value)) { -+ GdmSessionConversation *conversation; -+ -+ conversation = (GdmSessionConversation *) value; -+ -+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy, -+ text, -+ NULL, NULL, NULL); -+ } - } - } - diff --git a/gdm.changes b/gdm.changes index 4f3c6e3..9a0b7be 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue May 30 14:30:21 UTC 2017 - dimstar@opensuse.org + +- Update to version 3.24.2: + + Update session type when we know username (and user's session). + + Fix bug leading to reauthentication happening outside the + session. + + Make sure greeter is killed and reaped when gdm is restarted. +- Drop gdm-desktop-session-env-pam.patch: not required for a long + time, as gnome-keyring pam module is using only_if for a long + time already. + ------------------------------------------------------------------- Wed Apr 19 09:48:15 UTC 2017 - zaitor@opensuse.org diff --git a/gdm.spec b/gdm.spec index e373401..b9855cf 100644 --- a/gdm.spec +++ b/gdm.spec @@ -25,7 +25,7 @@ %define enable_split_authentication 0 Name: gdm -Version: 3.24.1 +Version: 3.24.2 Release: 0 Summary: The GNOME Display Manager License: GPL-2.0+ @@ -45,8 +45,6 @@ Source5: X11-displaymanager-gdm Source8: autogen.sh # PATCH-FEATURE-OPENSUSE gdm-workaround-boo971852.patch zaitor@opensuse.org -- Work around boo971852 - xsessions is just not going to happen for a gdm user - Those users ALL have gnome-shell installed (which is mandatory for gdm to operate) - openSUSE only Patch0: gdm-workaround-boo971852.patch -# PATCH-NEEDS-REBASE PATCH-FIX-OPENSUSE gdm-desktop-session-env-pam.patch bnc427744 vuntz@novell.com -- Sets a PAM environment variable to let the pam gnome-keyring module know which session is started -Patch6: gdm-desktop-session-env-pam.patch # PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts Patch7: gdm-suse-xsession.patch # WARNING: do not remove/significantly change patch8 without updating the relevant patch in accountsservice too @@ -186,7 +184,6 @@ translation-update-upstream # Disabled for now, see boo#981372 and boo#971852 #patch0 -p1 %endif -%patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1