From 0ef9525f3e22320836fb4dd15cb80251990db69c Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Jul 24 2009 18:44:17 +0000 Subject: - Fix delay during login --- diff --git a/gdm-2.27.4-multistack.patch b/gdm-2.27.4-multistack.patch index 723b701..f84ca1b 100644 --- a/gdm-2.27.4-multistack.patch +++ b/gdm-2.27.4-multistack.patch @@ -1,7 +1,7 @@ From a1ab1c57fa91751f067ff10465f01034bc5c1953 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 20 Feb 2009 13:52:19 -0500 -Subject: [PATCH 01/37] Add a comment marking protected api in chooser +Subject: [PATCH 01/38] Add a comment marking protected api in chooser The chooser widget has methods that only its subclasses are supposed to call. We should @@ -30,7 +30,7 @@ index 578e613..7e3e59c 100644 From 4e9cef5860311e3b39d2076f4dc9de5f69dfa51f Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 6 Feb 2009 17:44:37 -0500 -Subject: [PATCH 02/37] Drop duplicated entry introspection output +Subject: [PATCH 02/38] Drop duplicated entry introspection output --- daemon/gdm-greeter-server.c | 1 - @@ -55,7 +55,7 @@ index 2e01d33..cecce83 100644 From ca75999e3ce75549554efb758c9210e2997cc9f6 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 2 Mar 2009 10:07:03 -0500 -Subject: [PATCH 03/37] Make lookup_item not warn when passing NULL for args +Subject: [PATCH 03/38] Make lookup_item not warn when passing NULL for args gtk_tree_model_get doesn't like NULL, and we allow NULL for optional return values. @@ -116,7 +116,7 @@ index b3f2a0d..4e76439 100644 From 835922303f2b08036727aca11adf256f2209ac0c Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 6 Feb 2009 15:35:00 -0500 -Subject: [PATCH 04/37] Drop "stopped" signal from worker-job class +Subject: [PATCH 04/38] Drop "stopped" signal from worker-job class It was unused, dead code. --- @@ -212,7 +212,7 @@ index d42eb37..5ad1c92 100644 From 910f5f152f3cb71a8084f44374514d9cb45eca5f Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 16 Jan 2009 11:00:08 -0500 -Subject: [PATCH 05/37] Drop session "Open" in favor of "StartConversation" +Subject: [PATCH 05/38] Drop session "Open" in favor of "StartConversation" We want to eventually support having multiple simultaneous PAM conversations in one login @@ -1412,7 +1412,7 @@ index c6a158c..d9fa26e 100644 From f4596a6df988f88afe2d9d06ffeaf978eb519931 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 4 Feb 2009 10:55:03 -0500 -Subject: [PATCH 06/37] Rename session worker to the service it's managing +Subject: [PATCH 06/38] Rename session worker to the service it's managing This way when we're running multiple PAM conversations at once it will be obvious which worker is managing which conversation. @@ -1601,7 +1601,7 @@ index d24f025..4833f23 100644 From bae5bb00c77b693ab31d58aba416ec4a103f8501 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 16 Jan 2009 13:01:48 -0500 -Subject: [PATCH 07/37] Make greeter explicitly request PAM conversation +Subject: [PATCH 07/38] Make greeter explicitly request PAM conversation Now the greeter has to say what PAM stack it wants the slave to run. When that stack is ready, we emit the Ready signal as @@ -1947,7 +1947,7 @@ index fe2de48..ec99c12 100644 From d3004477cb4424526f6ae2132d0554501cd9ffc5 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 16 Jan 2009 15:18:31 -0500 -Subject: [PATCH 08/37] Store multiple conversations in the session +Subject: [PATCH 08/38] Store multiple conversations in the session We keep multiple conversations in the session now, keyed off of PAM service is at the other end. Much of the guts still @@ -2215,7 +2215,7 @@ index 86bd59d..9af8252 100644 From c26960e1b2b5f9dbd2afb68c60b68e972c85b2eb Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 4 Mar 2009 22:09:21 -0500 -Subject: [PATCH 09/37] start autologin conversation when creating session if necessary +Subject: [PATCH 09/38] start autologin conversation when creating session if necessary Without this autologin breaks, since when it comes time to autologin, there's no worker to do it. @@ -2253,7 +2253,7 @@ index 8863fd4..4db7440 100644 From 4cab3c989f849f27ed4b225d50e40c89a25eadd1 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 22 Jan 2009 08:52:01 -0500 -Subject: [PATCH 10/37] Propagate service name to more layers +Subject: [PATCH 10/38] Propagate service name to more layers This is more prep work to get multiple concurrent PAM stacks going. @@ -6265,7 +6265,7 @@ index ec99c12..7873679 100644 From 2d43cb675898b5c2c2d124050ccdb4b43502f036 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Sat, 7 Feb 2009 11:36:40 -0500 -Subject: [PATCH 11/37] emit "ConversationStopped" signal at end of conv +Subject: [PATCH 11/38] emit "ConversationStopped" signal at end of conv This will allow us to track when individual PAM conversations fail, instead of doing one @@ -6612,7 +6612,7 @@ index 9421a64..6eadf62 100644 From a6469d77a955e7ca174d2c763a3b261831618612 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 9 Mar 2009 15:41:12 -0400 -Subject: [PATCH 12/37] Don't tear down greeter until pam_open_session finishes +Subject: [PATCH 12/38] Don't tear down greeter until pam_open_session finishes Some PAM modules ask questions at that late stage of the game, and so we need a greeter to forward the questions on to the @@ -7182,7 +7182,7 @@ index 6eadf62..4c68974 100644 From 7d088d42327ecdcacd646b3f1865fd7ea3128a0d Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 30 Jan 2009 23:57:31 -0500 -Subject: [PATCH 13/37] Add limited support for multiple pam stacks +Subject: [PATCH 13/38] Add limited support for multiple pam stacks This hard codes 3 pam stacks and doesn't handle switching between them very well yet. @@ -7939,7 +7939,7 @@ index 0000000..ade21b6 From 287eeb864410a8504023fb39ef2312abdcdc788e Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 6 Mar 2009 11:19:40 -0500 -Subject: [PATCH 14/37] Create session settings object when first starting worker +Subject: [PATCH 14/38] Create session settings object when first starting worker This is because one PAM module may complete before setup gets called on another, and when one completes *all* PAM @@ -7977,7 +7977,7 @@ index 194de7d..1b1f14b 100644 From 5d580cde9e73d3e6cd41d37ca1983883dc5db4ed Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 5 Feb 2009 15:20:25 -0500 -Subject: [PATCH 15/37] Queue a greeter reset when the user clicks cancel +Subject: [PATCH 15/38] Queue a greeter reset when the user clicks cancel --- daemon/gdm-simple-slave.c | 37 +++++++++++++++++++++++++++++++++++++ @@ -8116,7 +8116,7 @@ index 4c68974..337718b 100644 From 21ebc4975e94c73c3a49d61e9655070c09e50926 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 6 Feb 2009 16:23:48 -0500 -Subject: [PATCH 16/37] Add a plugin based extension system to greeter +Subject: [PATCH 16/38] Add a plugin based extension system to greeter This allows plugins to drive which PAM conversations get run. This commit just adds one plugin "password" @@ -12300,7 +12300,7 @@ index 0000000..9b87c67 From f65b1f138fa4f8e3e9ee5add0c83a64b6fb281d4 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Sat, 7 Feb 2009 21:17:49 -0500 -Subject: [PATCH 17/37] Force session reset if all PAM conversations fail +Subject: [PATCH 17/38] Force session reset if all PAM conversations fail --- gui/simple-greeter/gdm-greeter-login-window.c | 22 +++++++++++++++++++--- @@ -12359,7 +12359,7 @@ index 07cb4e3..7f01748 100644 From b235677b51bd727e60520208bfd3f9d75f9c6033 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 18 Feb 2009 12:32:39 -0500 -Subject: [PATCH 18/37] Add a way for plugins to pick users from list +Subject: [PATCH 18/38] Add a way for plugins to pick users from list The smartcard plugin is going to want to start its conversation as soon as the card @@ -12516,7 +12516,7 @@ index f1910cf..fb4bf49 100644 From bd3ea14146897f47a7b4fcb7f698e47ad9185c31 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 20 Feb 2009 14:05:20 -0500 -Subject: [PATCH 19/37] Add new api to ask when chooser widget is done loading items +Subject: [PATCH 19/38] Add new api to ask when chooser widget is done loading items --- gui/simple-greeter/gdm-chooser-widget.c | 9 +++++++++ @@ -12572,7 +12572,7 @@ index 7e3e59c..6a07843 100644 From 958f7acdca959afa04aa0ce05be6ffe9b531bd0e Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 20 Feb 2009 14:31:27 -0500 -Subject: [PATCH 20/37] Tell tasks they're ready only after user list loads +Subject: [PATCH 20/38] Tell tasks they're ready only after user list loads This way they won't try to access the list prematurely. --- @@ -12632,7 +12632,7 @@ index 9fdf50e..6ef3d00 100644 From 4f8000921ea2c762d460629f93c88e8384923cbc Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 6 Feb 2009 16:25:47 -0500 -Subject: [PATCH 21/37] Add fingerprint plugin +Subject: [PATCH 21/38] Add fingerprint plugin This commit adds a plugin to initiate a conversation for fingerprint scans. @@ -13277,7 +13277,7 @@ index 0000000..5ea9925 From d47888f0c98007a00e93c178370d1d1eafcc56ae Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 11 Feb 2009 08:47:52 -0500 -Subject: [PATCH 22/37] Add start of a smartcard plugin +Subject: [PATCH 22/38] Add start of a smartcard plugin It contains a copy and paste of an old RHEL patch I did a few years ago. @@ -16546,7 +16546,7 @@ index 0000000..fffbd50 From 6a736eae4072d7779f333fd4114481317a864523 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 23 Feb 2009 17:57:06 -0500 -Subject: [PATCH 23/37] Add a new "choosable" property to show tasks in user list +Subject: [PATCH 23/38] Add a new "choosable" property to show tasks in user list Useful for Smartcard and some future "Guest" account plugin --- @@ -16705,7 +16705,7 @@ index 632ee2d..ed19e62 100644 From 9f7550eaf2a02a0b7f48e81f4e2ced1aed13337f Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 24 Feb 2009 15:12:35 -0500 -Subject: [PATCH 24/37] Separate handling of non-users in user list from users +Subject: [PATCH 24/38] Separate handling of non-users in user list from users Now get_chosen_user returns NULL if the activated item wasn't a user. We also separate the handling of on item @@ -16868,7 +16868,7 @@ index 7aa99e7..316ef46 100644 From a1598f4fb8fdd16314c3172a3fed7550bc9027ff Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 27 Feb 2009 15:44:13 -0500 -Subject: [PATCH 25/37] Initiate smart card auth when clicking on it in list +Subject: [PATCH 25/38] Initiate smart card auth when clicking on it in list --- gui/simple-greeter/gdm-greeter-login-window.c | 24 ++++++++++++++++++++ @@ -16944,7 +16944,7 @@ index ed19e62..d3641ba 100644 From 5abe595674643baf0e7c811bf39adbd717910c3f Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 2 Mar 2009 11:10:28 -0500 -Subject: [PATCH 26/37] Only show task list if user is selected +Subject: [PATCH 26/38] Only show task list if user is selected --- gui/simple-greeter/gdm-greeter-login-window.c | 52 +++++++++++++++++-------- @@ -17142,7 +17142,7 @@ index 25831a6..162b784 100644 From 071d53902b55c4ac74553040703009d25ab770f0 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 2 Mar 2009 13:53:34 -0500 -Subject: [PATCH 27/37] Pull verification functions out into their own subroutines +Subject: [PATCH 27/38] Pull verification functions out into their own subroutines This makes the function smaller and easier to read --- @@ -17314,7 +17314,7 @@ index c7c579b..6c625ba 100644 From ed50184115bb835c89bc0492e2a74c9cc6095b0b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 2 Mar 2009 13:57:34 -0500 -Subject: [PATCH 28/37] Add new function find_task_with_service_name +Subject: [PATCH 28/38] Add new function find_task_with_service_name It hides a bunch of icky foreach calls. --- @@ -17438,7 +17438,7 @@ index 6c625ba..b04549f 100644 From a80bfcb439d7cdd9ae1c719c5197f993c4062995 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 2 Mar 2009 15:23:51 -0500 -Subject: [PATCH 29/37] Drop the different auth modes in favor of calling reset manually +Subject: [PATCH 29/38] Drop the different auth modes in favor of calling reset manually --- gui/simple-greeter/gdm-greeter-login-window.c | 57 +++++++++++++++---------- @@ -17589,7 +17589,7 @@ index b04549f..4256e1f 100644 From 60c4b08b34f72bfa19509f17785ce570426f5cde Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 2 Mar 2009 17:09:16 -0500 -Subject: [PATCH 30/37] Notify plugins if their user choose requests fail +Subject: [PATCH 30/38] Notify plugins if their user choose requests fail This allows the smart card plugin to cancel pending conversations when a card gets inserted. @@ -17802,7 +17802,7 @@ index d3641ba..73e0f84 100644 From be8d9a5363300545f7ea51682ff6e1c17e3fdf26 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 13 Apr 2009 14:19:50 -0400 -Subject: [PATCH 31/37] reset all conversations if password conversation fails +Subject: [PATCH 31/38] reset all conversations if password conversation fails This is a temporary hack until we store plugin policy in gconf. @@ -17838,7 +17838,7 @@ index add0393..9613695 100644 From 10530c87e295f3ba83e16e75763217818480f224 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 21 Apr 2009 10:25:18 -0400 -Subject: [PATCH 32/37] When one PAM conversation wins, stop the others +Subject: [PATCH 32/38] When one PAM conversation wins, stop the others This doesn't work yet, it's still in progress code. --- @@ -17959,7 +17959,7 @@ index 337718b..63ea82c 100644 From ba40486a7e8a7be80b16a89d8a0f7fd264ddfe21 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 21 Apr 2009 15:30:28 -0400 -Subject: [PATCH 33/37] When one PAM conv. wins, actually stop the others +Subject: [PATCH 33/38] When one PAM conv. wins, actually stop the others We weren't properly keeping the winning conversation around in the previous commit @@ -18002,7 +18002,7 @@ index e63e453..2899ea2 100644 From c4ebe26db9c963d587694d0197e145e086ec43ca Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 13 May 2009 13:43:33 -0400 -Subject: [PATCH 34/37] Don't send auth-failed when worker dies +Subject: [PATCH 34/38] Don't send auth-failed when worker dies Authentication hasn't failed, it just got aborted before it could. This prevents a crash that happens when switching @@ -18060,7 +18060,7 @@ index 2899ea2..689e4cf 100644 From 68384fcc0d1dfb5b451d4be8136959a037c6c2a6 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 16 Jun 2009 08:49:05 -0400 -Subject: [PATCH 35/37] Drop bogus conversation = NULL line +Subject: [PATCH 35/38] Drop bogus conversation = NULL line cancel_pending_query would set conversation to NULL immediately before trying to use the conversation. @@ -18095,7 +18095,7 @@ index 689e4cf..7528ae6 100644 From 0daaf4814f9f78be4e85bef7f181426c06c5349c Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 20 Jul 2009 11:06:59 -0400 -Subject: [PATCH 36/37] Drop is_authenticated flag in session +Subject: [PATCH 36/38] Drop is_authenticated flag in session It's not used anymore, so no reason to set it. --- @@ -18129,7 +18129,7 @@ index 7528ae6..4b08da3 100644 From 790263cf9b8cab0bf3dc39c29e814d8c9034d802 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 20 Jul 2009 12:56:08 -0400 -Subject: [PATCH 37/37] Only start session if in SESSION_OPEN state no accredited state +Subject: [PATCH 37/38] Only start session if in SESSION_OPEN state no accredited state The state machine check wasn't quite right in light of the new SESSION_OPEN state @@ -18153,3 +18153,35 @@ index 1b1f14b..4ebde84 100644 -- 1.6.3.3 + +From 49d62227bd6eb4a802b89feb937e347be38dc116 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 24 Jul 2009 14:41:48 -0400 +Subject: [PATCH 38/38] KILL pam stack instead of TERM pam stack + +Some PAM modules are really slow to shut down. +We need to handle them being slow to shut down better, +(by not blocking login on them shutting down etc), but +in the mean time force them to die immediately. + +This is a temporary hack. +--- + daemon/gdm-session-worker-job.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/daemon/gdm-session-worker-job.c b/daemon/gdm-session-worker-job.c +index 0327d77..d99b8a5 100644 +--- a/daemon/gdm-session-worker-job.c ++++ b/daemon/gdm-session-worker-job.c +@@ -320,7 +320,7 @@ gdm_session_worker_job_stop (GdmSessionWorkerJob *session_worker_job) + + g_debug ("GdmSessionWorkerJob: Stopping job pid:%d", session_worker_job->priv->pid); + +- res = gdm_signal_pid (session_worker_job->priv->pid, SIGTERM); ++ res = gdm_signal_pid (session_worker_job->priv->pid, SIGKILL); + + if (res < 0) { + g_warning ("Unable to kill session worker process"); +-- +1.6.3.3 + diff --git a/gdm.spec b/gdm.spec index 5b7749a..5540ba6 100644 --- a/gdm.spec +++ b/gdm.spec @@ -16,7 +16,7 @@ Summary: The GNOME Display Manager Name: gdm Version: 2.27.4 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 License: GPLv2+ Group: User Interface/X @@ -385,6 +385,9 @@ fi %{_libdir}/gdm/simple-greeter/plugins/fingerprint.so %changelog +* Fri Jul 24 2009 Ray Strode 1:2.27.4-3 +- Fix delay during login + * Mon Jul 20 2009 Ray Strode 1:2.27.4-2 - Use correct multi-stack patch