r54072 - in /desktop/stretch/gdm3/debian: ./ patches/

bigon at users.alioth.debian.org bigon at users.alioth.debian.org
Sat Sep 23 09:09:07 UTC 2017


Author: bigon
Date: Sat Sep 23 09:09:06 2017
New Revision: 54072

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=54072
Log:
Backports a bunch of patches to fix XDMCP support (Closes: #873199)

Added:
    desktop/stretch/gdm3/debian/patches/manager-drop-some-erroneous-code.patch
    desktop/stretch/gdm3/debian/patches/session-worker-only-jump-to-VT-on-seat0.patch
    desktop/stretch/gdm3/debian/patches/xdmcp-display-don-t-set-MANAGED-until-we-ve-connecte.patch
    desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-explicitly-stop-greeter-sessio.patch
    desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-fix-signal-prototype.patch
    desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-more-signal-prototype-fixing.patch
Modified:
    desktop/stretch/gdm3/debian/changelog
    desktop/stretch/gdm3/debian/control
    desktop/stretch/gdm3/debian/patches/gdm-sessions-force-a-session-bus-for-non-seat0-sessi.patch
    desktop/stretch/gdm3/debian/patches/series

Modified: desktop/stretch/gdm3/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/changelog?rev=54072&op=diff
==============================================================================
--- desktop/stretch/gdm3/debian/changelog	[utf-8] (original)
+++ desktop/stretch/gdm3/debian/changelog	[utf-8] Sat Sep 23 09:09:06 2017
@@ -1,9 +1,8 @@
 gdm3 (3.22.3-3+deb9u1) UNRELEASED; urgency=medium
 
-  * d/p/gdm-sessions-force-a-session-bus-for-non-seat0-sessi.patch: Fix XDMCP
-    support when using dbus user's session. (Closes: #873199)
-
- -- Laurent Bigonville <bigon at debian.org>  Thu, 21 Sep 2017 00:52:08 +0200
+  * Backports a bunch of patches to fix XDMCP support (Closes: #873199)
+
+ -- Laurent Bigonville <bigon at debian.org>  Fri, 22 Sep 2017 17:30:56 +0200
 
 gdm3 (3.22.3-3) unstable; urgency=medium
 

Modified: desktop/stretch/gdm3/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/control?rev=54072&op=diff
==============================================================================
--- desktop/stretch/gdm3/debian/control	[utf-8] (original)
+++ desktop/stretch/gdm3/debian/control	[utf-8] Sat Sep 23 09:09:06 2017
@@ -6,7 +6,7 @@
 Section: gnome
 Priority: optional
 Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>
-Uploaders: Andreas Henriksson <andreas at fatal.se>, Emilio Pozuelo Monfort <pochu at debian.org>, Laurent Bigonville <bigon at debian.org>, Michael Biebl <biebl at debian.org>
+Uploaders: Emilio Pozuelo Monfort <pochu at debian.org>, Laurent Bigonville <bigon at debian.org>, Michael Biebl <biebl at debian.org>
 Build-Depends: gnome-pkg-tools (>= 0.16.3),
                debhelper (>= 10),
                dconf-cli (>= 0.19.90),

Modified: desktop/stretch/gdm3/debian/patches/gdm-sessions-force-a-session-bus-for-non-seat0-sessi.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/gdm-sessions-force-a-session-bus-for-non-seat0-sessi.patch?rev=54072&op=diff
==============================================================================
--- desktop/stretch/gdm3/debian/patches/gdm-sessions-force-a-session-bus-for-non-seat0-sessi.patch	[utf-8] (original)
+++ desktop/stretch/gdm3/debian/patches/gdm-sessions-force-a-session-bus-for-non-seat0-sessi.patch	[utf-8] Sat Sep 23 09:09:06 2017
@@ -1,4 +1,4 @@
-From 8b0186a6da9727cbc35897632aca2e8ebf0670a3 Mon Sep 17 00:00:00 2001
+From e126fe383ca516afecc888ea884b6ab01032df20 Mon Sep 17 00:00:00 2001
 From: Ray Strode <rstrode at redhat.com>
 Date: Wed, 20 Sep 2017 09:47:53 -0400
 Subject: [PATCH] gdm-sessions: force a session bus for non-seat0 session

Added: desktop/stretch/gdm3/debian/patches/manager-drop-some-erroneous-code.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/manager-drop-some-erroneous-code.patch?rev=54072&op=file
==============================================================================
--- desktop/stretch/gdm3/debian/patches/manager-drop-some-erroneous-code.patch	(added)
+++ desktop/stretch/gdm3/debian/patches/manager-drop-some-erroneous-code.patch	[utf-8] Sat Sep 23 09:09:06 2017
@@ -0,0 +1,46 @@
+From 7524d5ffd6c3176d4604389101dc48babcd2cd5d Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Fri, 31 Mar 2017 14:56:46 -0400
+Subject: [PATCH] manager: drop some erroneous code
+
+This is commit 82296a3350b64d0ed5ae3b9f6983466c60dd8a53 all over
+again.  The code snuck back in during a refactor !
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780787
+---
+ daemon/gdm-manager.c | 18 ------------------
+ 1 file changed, 18 deletions(-)
+
+diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
+index 35a7a0fe..afd15d09 100644
+--- a/daemon/gdm-manager.c
++++ b/daemon/gdm-manager.c
+@@ -1875,25 +1875,7 @@ on_session_client_disconnected (GdmSession   *session,
+                                 GPid          pid_of_client,
+                                 GdmManager   *manager)
+ {
+-        GdmDisplay *display;
+-        gboolean display_is_local;
+-
+         g_debug ("GdmManager: client disconnected");
+-
+-        display = get_display_for_user_session (session);
+-
+-        if (display == NULL) {
+-                return;
+-        }
+-
+-        g_object_get (G_OBJECT (display),
+-                      "is-local", &display_is_local,
+-                      NULL);
+-
+-        if ( ! display_is_local && gdm_session_is_running (session)) {
+-                gdm_display_unmanage (display);
+-                gdm_display_finish (display);
+-        }
+ }
+ 
+ typedef struct
+-- 
+2.14.1
+

Modified: desktop/stretch/gdm3/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/series?rev=54072&op=diff
==============================================================================
--- desktop/stretch/gdm3/debian/patches/series	[utf-8] (original)
+++ desktop/stretch/gdm3/debian/patches/series	[utf-8] Sat Sep 23 09:09:06 2017
@@ -7,4 +7,10 @@
 Hack-D-Bus-messages-from-Debian-8-libgdm-to-work-wit.patch
 pam_gdm-allow-setting-pam-module-dir-at-configure-ti.patch
 stop-greeter-explicitly-when-finishing-display.patch
+manager-drop-some-erroneous-code.patch
+xdmcp-display-don-t-set-MANAGED-until-we-ve-connecte.patch
+xdmcp-display-factory-fix-signal-prototype.patch
+xdmcp-display-factory-explicitly-stop-greeter-sessio.patch
+session-worker-only-jump-to-VT-on-seat0.patch
 gdm-sessions-force-a-session-bus-for-non-seat0-sessi.patch
+xdmcp-display-factory-more-signal-prototype-fixing.patch

Added: desktop/stretch/gdm3/debian/patches/session-worker-only-jump-to-VT-on-seat0.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/session-worker-only-jump-to-VT-on-seat0.patch?rev=54072&op=file
==============================================================================
--- desktop/stretch/gdm3/debian/patches/session-worker-only-jump-to-VT-on-seat0.patch	(added)
+++ desktop/stretch/gdm3/debian/patches/session-worker-only-jump-to-VT-on-seat0.patch	[utf-8] Sat Sep 23 09:09:06 2017
@@ -0,0 +1,46 @@
+From 432d7ebeafeb541b33bec016e51ef2f18e5a0b69 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Wed, 20 Sep 2017 12:02:38 -0400
+Subject: [PATCH] session-worker: only jump to VT on seat0
+
+seat0 is the only seat that supports VTs, so don't ever try to
+change VTs if not on seat0.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=787943
+---
+ daemon/gdm-session-worker.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
+index d97b02b5..c85baa84 100644
+--- a/daemon/gdm-session-worker.c
++++ b/daemon/gdm-session-worker.c
+@@ -909,8 +909,10 @@ gdm_session_worker_uninitialize_pam (GdmSessionWorker *worker,
+ 
+         gdm_session_worker_stop_auditor (worker);
+ 
+-        if (worker->priv->login_vt != worker->priv->session_vt) {
+-                jump_to_vt (worker, worker->priv->login_vt);
++        if (g_strcmp0 (worker->priv->display_seat_id, "seat0") == 0) {
++                if (worker->priv->login_vt != worker->priv->session_vt) {
++                        jump_to_vt (worker, worker->priv->login_vt);
++                }
+         }
+ 
+         worker->priv->login_vt = 0;
+@@ -1852,8 +1854,10 @@ gdm_session_worker_start_session (GdmSessionWorker  *worker,
+         /* If we're in new vt mode, jump to the new vt now. There's no need to jump for
+          * the other two modes: in the logind case, the session will activate itself when
+          * ready, and in the reuse server case, we're already on the correct VT. */
+-        if (worker->priv->display_mode == GDM_SESSION_DISPLAY_MODE_NEW_VT) {
+-                jump_to_vt (worker, worker->priv->session_vt);
++        if (g_strcmp0 (worker->priv->display_seat_id, "seat0") == 0) {
++                if (worker->priv->display_mode == GDM_SESSION_DISPLAY_MODE_NEW_VT) {
++                        jump_to_vt (worker, worker->priv->session_vt);
++                }
+         }
+ 
+         if (!worker->priv->is_program_session && !run_script (worker, GDMCONFDIR "/PostLogin")) {
+-- 
+2.14.1
+

Added: desktop/stretch/gdm3/debian/patches/xdmcp-display-don-t-set-MANAGED-until-we-ve-connecte.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/xdmcp-display-don-t-set-MANAGED-until-we-ve-connecte.patch?rev=54072&op=file
==============================================================================
--- desktop/stretch/gdm3/debian/patches/xdmcp-display-don-t-set-MANAGED-until-we-ve-connecte.patch	(added)
+++ desktop/stretch/gdm3/debian/patches/xdmcp-display-don-t-set-MANAGED-until-we-ve-connecte.patch	[utf-8] Sat Sep 23 09:09:06 2017
@@ -0,0 +1,41 @@
+From 4d9056cafd07a769874e1e0a0b4cc1f098343c56 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Fri, 31 Mar 2017 14:52:23 -0400
+Subject: [PATCH] xdmcp-display: don't set MANAGED until we've connected
+
+We don't want to start the greeter session until we've
+successfully connected to the display ourselves!
+
+This prevents a race where session processes may inadvertently
+ get the initial connection to the display server, causing
+premature resets.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780787
+---
+ daemon/gdm-xdmcp-display.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/daemon/gdm-xdmcp-display.c b/daemon/gdm-xdmcp-display.c
+index c9f9c3d2..630844f2 100644
+--- a/daemon/gdm-xdmcp-display.c
++++ b/daemon/gdm-xdmcp-display.c
+@@ -193,6 +193,7 @@ idle_connect_to_display (GdmXdmcpDisplay *self)
+ 
+         res = gdm_display_connect (GDM_DISPLAY (self));
+         if (res) {
++                g_object_set (G_OBJECT (self), "status", GDM_DISPLAY_MANAGED, NULL);
+         } else {
+                 if (self->priv->connection_attempts >= MAX_CONNECT_ATTEMPTS) {
+                         g_warning ("Unable to connect to display after %d tries - bailing out", self->priv->connection_attempts);
+@@ -211,8 +212,6 @@ gdm_xdmcp_display_manage (GdmDisplay *display)
+         GdmXdmcpDisplay *self = GDM_XDMCP_DISPLAY (display);
+ 
+         g_timeout_add (500, (GSourceFunc)idle_connect_to_display, self);
+-
+-        g_object_set (G_OBJECT (self), "status", GDM_DISPLAY_MANAGED, NULL);
+ }
+ 
+ static void
+-- 
+2.14.1
+

Added: desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-explicitly-stop-greeter-sessio.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-explicitly-stop-greeter-sessio.patch?rev=54072&op=file
==============================================================================
--- desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-explicitly-stop-greeter-sessio.patch	(added)
+++ desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-explicitly-stop-greeter-sessio.patch	[utf-8] Sat Sep 23 09:09:06 2017
@@ -0,0 +1,28 @@
+From da8c3a632ad1642a5e06efecbb2b58ab3298c93c Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Fri, 31 Mar 2017 14:59:05 -0400
+Subject: [PATCH] xdmcp-display-factory: explicitly stop greeter session on
+ disconnect
+
+If the client disconnects, we should kill off the necessary processes.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780787
+---
+ daemon/gdm-xdmcp-display-factory.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
+index c5f7ddb4..3a8506ce 100644
+--- a/daemon/gdm-xdmcp-display-factory.c
++++ b/daemon/gdm-xdmcp-display-factory.c
+@@ -2056,6 +2056,7 @@ on_client_disconnected (GdmSession *session,
+         if (gdm_display_get_status (display) != GDM_DISPLAY_MANAGED)
+                 return;
+ 
++        gdm_display_stop_greeter_session (display);
+         gdm_display_unmanage (display);
+         gdm_display_finish (display);
+ }
+-- 
+2.14.1
+

Added: desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-fix-signal-prototype.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-fix-signal-prototype.patch?rev=54072&op=file
==============================================================================
--- desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-fix-signal-prototype.patch	(added)
+++ desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-fix-signal-prototype.patch	[utf-8] Sat Sep 23 09:09:06 2017
@@ -0,0 +1,30 @@
+From 8732c4dbf4995939b69b0981557a5dfe16cb91ed Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Fri, 31 Mar 2017 14:58:26 -0400
+Subject: [PATCH] xdmcp-display-factory: fix signal prototype
+
+The callback was getting called with the wrong arguments leading
+to spew in the logs and necessary code not getting run!
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780787
+---
+ daemon/gdm-xdmcp-display-factory.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
+index b9ab921c..c5f7ddb4 100644
+--- a/daemon/gdm-xdmcp-display-factory.c
++++ b/daemon/gdm-xdmcp-display-factory.c
+@@ -2050,7 +2050,8 @@ on_hostname_selected (GdmXdmcpChooserDisplay *display,
+ }
+ 
+ static void
+-on_client_disconnected (GdmDisplay *display)
++on_client_disconnected (GdmSession *session,
++                        GdmDisplay *display)
+ {
+         if (gdm_display_get_status (display) != GDM_DISPLAY_MANAGED)
+                 return;
+-- 
+2.14.1
+

Added: desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-more-signal-prototype-fixing.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-more-signal-prototype-fixing.patch?rev=54072&op=file
==============================================================================
--- desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-more-signal-prototype-fixing.patch	(added)
+++ desktop/stretch/gdm3/debian/patches/xdmcp-display-factory-more-signal-prototype-fixing.patch	[utf-8] Sat Sep 23 09:09:06 2017
@@ -0,0 +1,56 @@
+From e610534c841c254fb83c36fef1ac3ec2e9707d11 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Thu, 21 Sep 2017 09:20:46 -0400
+Subject: [PATCH] xdmcp-display-factory: more signal prototype fixing
+
+commit 2a3d5a7c402534c3611956fed930394a51cb00c5 attempted to fix
+the signal prototype of on_client_disconnected to match the marshalled
+arguments.  Unfortunately, the handler is used for two different
+signals:
+
+1) when a user chooses "Disconnect" from the chooser menu
+2) when a user closes the Xephyr window (or turns off the thin client
+or whatever)
+
+The signals have slightly different prototypes, so commit 2a3d5a7c
+fixed 2), but broke 1).
+
+This commit massages the signal connections and handler signature to
+work for both cases.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=787987
+---
+ daemon/gdm-xdmcp-display-factory.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
+index 3a8506ce..46a0d9ff 100644
+--- a/daemon/gdm-xdmcp-display-factory.c
++++ b/daemon/gdm-xdmcp-display-factory.c
+@@ -2050,8 +2050,7 @@ on_hostname_selected (GdmXdmcpChooserDisplay *display,
+ }
+ 
+ static void
+-on_client_disconnected (GdmSession *session,
+-                        GdmDisplay *display)
++on_client_disconnected (GdmDisplay *display)
+ {
+         if (gdm_display_get_status (display) != GDM_DISPLAY_MANAGED)
+                 return;
+@@ -2115,11 +2114,11 @@ on_display_status_changed (GdmDisplay             *display,
+                         g_signal_connect_object (G_OBJECT (session),
+                                                  "client-disconnected",
+                                                  G_CALLBACK (on_client_disconnected),
+-                                                 display, 0);
++                                                 display, G_CONNECT_SWAPPED);
+                         g_signal_connect_object (G_OBJECT (session),
+                                                  "disconnected",
+                                                  G_CALLBACK (on_client_disconnected),
+-                                                 display, 0);
++                                                 display, G_CONNECT_SWAPPED);
+                 }
+                 break;
+         default:
+-- 
+2.14.1
+




More information about the pkg-gnome-commits mailing list