r53743 - in /desktop/unstable/gdm3/debian: changelog patches/01_gdm-session-Calculate-fallback-session-name-without-.patch patches/92_systemd_unit.patch patches/series

laney at users.alioth.debian.org laney at users.alioth.debian.org
Tue Sep 12 17:02:29 UTC 2017


Author: laney
Date: Tue Sep 12 17:02:28 2017
New Revision: 53743

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=53743
Log:
* New upstream stable release
  - Fix for unauthenticated unlock when autologin is enabled
    (CVE-2017-12164)
  - Fix for going to normal mode after classic
  - crasher fix when user switching
  - make sure reauthentication is run in right context
* debian/patches/01_gdm-session-Calculate-fallback-session-name-without-.patch:
  Cherry-pick from upstream. Calculate the default (`fallback') session in
  the same way as gnome-shell does, fixing an out-of-sync issue between the
  greeter and gdm's idea of the first session. (LP: #1705157)
* debian/patches/92_systemd_unit.patch: No need to patch to send HUP - this
  is done upstream now.

Added:
    desktop/unstable/gdm3/debian/patches/01_gdm-session-Calculate-fallback-session-name-without-.patch
Modified:
    desktop/unstable/gdm3/debian/changelog
    desktop/unstable/gdm3/debian/patches/92_systemd_unit.patch
    desktop/unstable/gdm3/debian/patches/series

Modified: desktop/unstable/gdm3/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/changelog?rev=53743&op=diff
==============================================================================
--- desktop/unstable/gdm3/debian/changelog	[utf-8] (original)
+++ desktop/unstable/gdm3/debian/changelog	[utf-8] Tue Sep 12 17:02:28 2017
@@ -1,3 +1,20 @@
+gdm3 (3.26.0-1) UNRELEASED; urgency=medium
+
+  * New upstream stable release
+    - Fix for unauthenticated unlock when autologin is enabled
+      (CVE-2017-12164)
+    - Fix for going to normal mode after classic
+    - crasher fix when user switching
+    - make sure reauthentication is run in right context
+  * debian/patches/01_gdm-session-Calculate-fallback-session-name-without-.patch:
+    Cherry-pick from upstream. Calculate the default (`fallback') session in
+    the same way as gnome-shell does, fixing an out-of-sync issue between the
+    greeter and gdm's idea of the first session. (LP: #1705157)
+  * debian/patches/92_systemd_unit.patch: No need to patch to send HUP - this
+    is done upstream now.
+
+ -- Iain Lane <laney at debian.org>  Tue, 12 Sep 2017 17:30:57 +0100
+
 gdm3 (3.25.90.1-2) unstable; urgency=medium
 
   * New upstream release

Added: desktop/unstable/gdm3/debian/patches/01_gdm-session-Calculate-fallback-session-name-without-.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/01_gdm-session-Calculate-fallback-session-name-without-.patch?rev=53743&op=file
==============================================================================
--- desktop/unstable/gdm3/debian/patches/01_gdm-session-Calculate-fallback-session-name-without-.patch	(added)
+++ desktop/unstable/gdm3/debian/patches/01_gdm-session-Calculate-fallback-session-name-without-.patch	[utf-8] Tue Sep 12 17:02:28 2017
@@ -0,0 +1,82 @@
+From 9606bf42d179dde4fd913fcb9304e01560fd855e Mon Sep 17 00:00:00 2001
+From: Iain Lane <iain at orangesquash.org.uk>
+Date: Tue, 12 Sep 2017 13:28:39 +0100
+Subject: [PATCH] gdm-session: Calculate fallback session name without
+ ".desktop"
+
+When the user has not ever selected a session from the selector, we will
+log them into the `fallback' session, which is calculated by looking at
+all installed sessions and picking the first one in the list.
+
+There is a bug that the visually selected session presented in the
+greeter can be different from the fallback session calculated inside
+GDM. This happens because the two sort sessions differently.
+
+Inside GDM we calculate the fallback session by comparing the full
+basename of the file:
+
+>>> GLib.strcmp0("gnome-xorg.desktop", "gnome.desktop")
+-1
+
+Whereas gnome-shell calls gdm_get_session_ids(), which returns IDs
+without the ".desktop" extension. Those are then sorted:
+
+>>> GLib.strcmp0("gnome-xorg", "gnome")
+45
+
+which gives a different ordering.
+
+Fix this bug by calculating the fallback session in the same way, by
+removing ".desktop" from the filename.
+
+https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/1705157
+
+https://bugzilla.gnome.org/show_bug.cgi?id=787304
+---
+ daemon/gdm-session.c | 17 +++++------------
+ 1 file changed, 5 insertions(+), 12 deletions(-)
+
+diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
+index 0b832231..063c5a2d 100644
+--- a/daemon/gdm-session.c
++++ b/daemon/gdm-session.c
+@@ -573,8 +573,8 @@ get_fallback_session_name (GdmSession *self)
+                         }
+ 
+                         if (get_session_command_for_file (self, base_name, NULL)) {
+-
+-                                g_sequence_insert_sorted (sessions, g_strdup (base_name), (GCompareDataFunc) g_strcmp0, NULL);
++                                name = g_strndup (base_name, strlen (base_name) - strlen (".desktop"));
++                                g_sequence_insert_sorted (sessions, name, (GCompareDataFunc) g_strcmp0, NULL);
+                         }
+                 } while (base_name != NULL);
+ 
+@@ -589,22 +589,15 @@ get_fallback_session_name (GdmSession *self)
+                 g_error ("GdmSession: no session desktop files installed, aborting...");
+ 
+         do {
+-               if (g_sequence_get (session)) {
+-                       char *base_name;
+-
+-                       g_free (name);
+-                       base_name = g_sequence_get (session);
+-                       name = g_strndup (base_name,
+-                                         strlen (base_name) -
+-                                         strlen (".desktop"));
+-
++               name = g_sequence_get (session);
++               if (name) {
+                        break;
+                }
+                session = g_sequence_iter_next (session);
+         } while (!g_sequence_iter_is_end (session));
+ 
+         g_free (self->priv->fallback_session_name);
+-        self->priv->fallback_session_name = name;
++        self->priv->fallback_session_name = g_strdup (name);
+ 
+         g_sequence_free (sessions);
+ 
+-- 
+2.11.0
+

Modified: desktop/unstable/gdm3/debian/patches/92_systemd_unit.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/92_systemd_unit.patch?rev=53743&op=diff
==============================================================================
--- desktop/unstable/gdm3/debian/patches/92_systemd_unit.patch	[utf-8] (original)
+++ desktop/unstable/gdm3/debian/patches/92_systemd_unit.patch	[utf-8] Tue Sep 12 17:02:28 2017
@@ -1,6 +1,8 @@
+Index: b/data/gdm.service.in
+===================================================================
 --- a/data/gdm.service.in
 +++ b/data/gdm.service.in
-@@ -20,14 +20,16 @@ After=rc-local.service plymouth-start.se
+@@ -20,15 +20,16 @@
  OnFailure=plymouth-quit.service
  
  [Service]
@@ -8,8 +10,6 @@
 +ExecStartPre=/bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm3" ]'
 +ExecStartPre=/usr/share/gdm/generate-config
 +ExecStart=@sbindir@/gdm3
-+ExecReload=/bin/kill -HUP $MAINPID
-+ExecReload=/usr/share/gdm/generate-config
  KillMode=mixed
  Restart=always
 +RestartSec=1s
@@ -18,6 +18,8 @@
  StandardOutput=syslog
  StandardError=inherit
  EnvironmentFile=- at LANG_CONFIG_FILE@
+ ExecReload=/bin/kill -SIGHUP $MAINPID
 -
 -[Install]
 -Alias=display-manager.service
++ExecReload=/usr/share/gdm/generate-config

Modified: desktop/unstable/gdm3/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/series?rev=53743&op=diff
==============================================================================
--- desktop/unstable/gdm3/debian/patches/series	[utf-8] (original)
+++ desktop/unstable/gdm3/debian/patches/series	[utf-8] Tue Sep 12 17:02:28 2017
@@ -1,3 +1,4 @@
+01_gdm-session-Calculate-fallback-session-name-without-.patch
 16_xserver_path.patch
 90_config_comments.patch
 91_dconf_database_path.patch




More information about the pkg-gnome-commits mailing list