rpms/gnome-screensaver/devel gnome-screensaver-2.16.0-better-pam-integration.patch, 1.1, 1.2 gnome-screensaver-2.16.0-securitytoken.patch, 1.8, 1.9 gnome-screensaver.spec, 1.114, 1.115

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Sun Oct 15 18:52:17 UTC 2006


Author: rstrode

Update of /cvs/dist/rpms/gnome-screensaver/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv14489

Modified Files:
	gnome-screensaver-2.16.0-better-pam-integration.patch 
	gnome-screensaver-2.16.0-securitytoken.patch 
	gnome-screensaver.spec 
Log Message:
- lock screen immediately if login security token was removed
  before startup (bug 210411)


gnome-screensaver-2.16.0-better-pam-integration.patch:
 data/lock-dialog-default.glade |    4 
 src/gnome-screensaver-dialog.c |   12 ++
 src/gs-auth-pam.c              |  199 ++++++++++++++++++++++++++++++++++++++---
 src/gs-lock-plug.c             |   97 +++++++++++++++++++
 src/gs-lock-plug.h             |    4 
 src/gs-manager.c               |    9 +
 src/gs-manager.h               |    1 
 src/gs-window-x11.c            |   16 +++
 src/gs-window.h                |    1 
 9 files changed, 324 insertions(+), 19 deletions(-)

Index: gnome-screensaver-2.16.0-better-pam-integration.patch
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/gnome-screensaver-2.16.0-better-pam-integration.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gnome-screensaver-2.16.0-better-pam-integration.patch	2 Oct 2006 04:02:43 -0000	1.1
+++ gnome-screensaver-2.16.0-better-pam-integration.patch	15 Oct 2006 18:52:15 -0000	1.2
@@ -1,5 +1,5 @@
 --- gnome-screensaver-2.16.0/data/lock-dialog-default.glade.better-pam-integration	2006-08-25 10:40:48.000000000 -0400
-+++ gnome-screensaver-2.16.0/data/lock-dialog-default.glade	2006-10-01 23:42:20.000000000 -0400
++++ gnome-screensaver-2.16.0/data/lock-dialog-default.glade	2006-10-15 14:41:06.000000000 -0400
 @@ -145,8 +145,7 @@
  
  			  <child>
@@ -18,9 +18,9 @@
  			      <property name="can_focus">True</property>
  			      <property name="editable">True</property>
  			      <property name="visibility">False</property>
---- gnome-screensaver-2.16.0/src/gs-window-x11.c.better-pam-integration	2006-10-01 23:42:20.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-window-x11.c	2006-10-01 23:48:57.000000000 -0400
-@@ -1374,6 +1374,22 @@
+--- gnome-screensaver-2.16.0/src/gs-window-x11.c.better-pam-integration	2006-08-04 15:20:11.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-window-x11.c	2006-10-15 14:41:06.000000000 -0400
+@@ -1373,6 +1373,22 @@
          g_signal_emit (window, signals [DIALOG_UP], 0);
  }
  
@@ -44,7 +44,7 @@
  gs_window_set_lock_enabled (GSWindow *window,
                              gboolean  lock_enabled)
 --- gnome-screensaver-2.16.0/src/gs-window.h.better-pam-integration	2006-07-31 13:54:48.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-window.h	2006-10-01 23:42:20.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-window.h	2006-10-15 14:41:06.000000000 -0400
 @@ -81,6 +81,7 @@
                                            const char *command);
  
@@ -53,8 +53,8 @@
  
  GSWindow  * gs_window_new                (GdkScreen *screen,
                                            int        monitor,
---- gnome-screensaver-2.16.0/src/gs-auth-pam.c.better-pam-integration	2006-10-01 23:42:20.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-auth-pam.c	2006-10-01 23:42:20.000000000 -0400
+--- gnome-screensaver-2.16.0/src/gs-auth-pam.c.better-pam-integration	2006-06-08 16:23:40.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-auth-pam.c	2006-10-15 14:42:55.000000000 -0400
 @@ -28,6 +28,7 @@
  # include <unistd.h>
  #endif
@@ -141,7 +141,7 @@
  static int
  pam_conversation (int                        nmsgs,
                    const struct pam_message **msg,
-@@ -195,25 +251,20 @@
+@@ -195,11 +251,12 @@
                                        NULL);
  
                  if (c->cb_func != NULL) {
@@ -149,32 +149,17 @@
 -                                          msg [replies]->msg,
 -                                          &reply [replies].resp,
 -                                          c->cb_data);
- 
--                        /* If the handler returns FALSE - interrupt the PAM stack */
+-
 +			/* blocks until the gui responds
-+			 */
-+			res = gs_auth_run_message_handler (c, style, 
-+							   msg [replies]->msg,
-+							   &reply [replies].resp);
-+
-+			/* If the handler returns FALSE - interrupt the PAM stack */
++ 			 */
++ 			res = gs_auth_run_message_handler (c, style, 
++ 							   msg [replies]->msg,
++ 							   &reply [replies].resp);
++ 
+                         /* If the handler returns FALSE - interrupt the PAM stack */
                          if (res) {
                                  reply [replies].resp_retcode = PAM_SUCCESS;
-                         } else {
-                                 reply [replies].resp_retcode = PAM_INCOMPLETE;
-                         }
-                 }
--
--		/* iterate the glib event loop inbetween processing pam
--		 * messages so that the user interface can be updated
--		 * to reflect changes that are a result of the pam
--		 * messages
--		 */
--		while (g_main_context_iteration (NULL, FALSE));
-         }
- 
-         *resp = reply;
-@@ -238,6 +289,16 @@
+@@ -231,6 +288,16 @@
                  }
          }
  
@@ -191,7 +176,7 @@
          return TRUE;
  }
  
-@@ -303,6 +364,8 @@
+@@ -296,6 +363,8 @@
  	}
  
          ret = TRUE;
@@ -200,7 +185,7 @@
  
   out:
          if (status_code != NULL) {
-@@ -349,6 +412,114 @@
+@@ -342,6 +411,114 @@
  
  }
  
@@ -315,7 +300,7 @@
  gboolean
  gs_auth_verify_user (const char       *username,
                       const char       *display,
-@@ -363,7 +534,6 @@
+@@ -356,7 +533,6 @@
          sigset_t           set;
          struct timespec    timeout;
          struct passwd     *pwent;
@@ -323,7 +308,7 @@
          const void        *p;
  
          pwent = getpwnam (username);
-@@ -371,6 +541,7 @@
+@@ -364,6 +540,7 @@
                  return FALSE;
          }
  
@@ -331,7 +316,7 @@
          c.username = username;
          c.cb_func = func;
          c.cb_data = data;
-@@ -393,8 +564,6 @@
+@@ -386,8 +563,6 @@
          set = block_sigchld ();
  
          did_we_ask_for_password = FALSE;
@@ -340,7 +325,7 @@
          sigtimedwait (&set, NULL, &timeout);
          unblock_sigchld ();
  
-@@ -404,9 +573,9 @@
+@@ -397,9 +572,9 @@
                             PAM_STRERROR (pam_handle, status));
          }
  
@@ -353,7 +338,7 @@
  
          if ((status = pam_get_item (pam_handle, PAM_USER, &p)) != PAM_SUCCESS) {
                  /* is not really an auth problem, but it will
-@@ -419,7 +588,7 @@
+@@ -412,7 +587,7 @@
           * but we need to run them anyway because certain pam modules
           * depend on side effects of the account modules getting run.
           */
@@ -363,7 +348,7 @@
          if (gs_auth_get_verbose ()) {
                  g_message ("pam_acct_mgmt (...) ==> %d (%s)\n",
 --- gnome-screensaver-2.16.0/src/gnome-screensaver-dialog.c.better-pam-integration	2006-07-18 14:18:23.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gnome-screensaver-dialog.c	2006-10-01 23:42:20.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gnome-screensaver-dialog.c	2006-10-15 14:41:06.000000000 -0400
 @@ -147,6 +147,7 @@
          if (response == GS_LOCK_PLUG_RESPONSE_OK) {
                  gs_lock_plug_get_text (plug, &text);
@@ -418,38 +403,8 @@
  
          print_id (widget);
  
---- gnome-screensaver-2.16.0/src/gs-monitor.c.better-pam-integration	2006-10-01 23:42:20.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-monitor.c	2006-10-01 23:42:20.000000000 -0400
-@@ -120,14 +120,22 @@
- 			   ScSecurityToken        *token,
- 			   GSMonitor              *monitor)
- {
--	gboolean locking_is_enabled;
-+	gboolean lock_on_remove_is_enabled;
- 
--	/* FIXME: lame hack
-+	if (!sc_security_token_is_login_token (token))
-+		return;
-+
-+	/* if we're configured to lock on removal, then lock the screen
-+	 * FIXME: the way we check whether we're configured for lock on
-+	 * removal is a total hack
- 	 */
--	locking_is_enabled = system ("pkcs11_setup rm_action | grep -q lock") == 0;
--	if (locking_is_enabled &&
--	    sc_security_token_is_login_token (token))
-+	lock_on_remove_is_enabled = system ("pkcs11_setup rm_action | grep -q lock") == 0;
-+	if (lock_on_remove_is_enabled)
- 		gs_monitor_lock_screen (monitor);
-+
-+	/* If we're already locked and the lock dialog is up, kill it.
-+	 */
-+	gs_manager_cancel_unlock_request (monitor->priv->manager);
- }
- 
- static gboolean
 --- gnome-screensaver-2.16.0/src/gs-manager.c.better-pam-integration	2006-08-29 15:54:12.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-manager.c	2006-10-01 23:42:20.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-manager.c	2006-10-15 14:41:06.000000000 -0400
 @@ -1564,3 +1564,12 @@
  
          return TRUE;
@@ -464,7 +419,7 @@
 +    }
 +}
 --- gnome-screensaver-2.16.0/src/gs-lock-plug.h.better-pam-integration	2006-07-18 13:49:24.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-lock-plug.h	2006-10-01 23:42:20.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-lock-plug.h	2006-10-15 14:41:06.000000000 -0400
 @@ -68,6 +68,10 @@
  void        gs_lock_plug_show_prompt   (GSLockPlug *plug,
                                          const char *message,
@@ -477,7 +432,7 @@
                                          char      **text);
  void        gs_lock_plug_show_message  (GSLockPlug *plug,
 --- gnome-screensaver-2.16.0/src/gs-manager.h.better-pam-integration	2006-08-04 15:36:03.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-manager.h	2006-10-01 23:42:20.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-manager.h	2006-10-15 14:41:06.000000000 -0400
 @@ -94,6 +94,7 @@
  void        gs_manager_set_mode             (GSManager  *manager,
                                               GSSaverMode mode);
@@ -487,7 +442,7 @@
  G_END_DECLS
  
 --- gnome-screensaver-2.16.0/src/gs-lock-plug.c.better-pam-integration	2006-08-25 10:40:49.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-lock-plug.c	2006-10-01 23:42:20.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-lock-plug.c	2006-10-15 14:41:06.000000000 -0400
 @@ -102,6 +102,7 @@
          guint        response_idle_id;
  

gnome-screensaver-2.16.0-securitytoken.patch:
 configure.ac                           |   16 
 src/Makefile.am                        |    1 
 src/cut-n-paste/Makefile.am            |   13 
 src/cut-n-paste/securitytoken.c        |  680 ++++++++++++
 src/cut-n-paste/securitytoken.h        |   94 +
 src/cut-n-paste/securitytokenmonitor.c | 1730 +++++++++++++++++++++++++++++++++
 src/cut-n-paste/securitytokenmonitor.h |   84 +
 src/gs-auth-pam.c                      |    7 
 src/gs-monitor.c                       |  146 ++
 src/gs-window-x11.c                    |    1 
 10 files changed, 2737 insertions(+), 35 deletions(-)

Index: gnome-screensaver-2.16.0-securitytoken.patch
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/gnome-screensaver-2.16.0-securitytoken.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- gnome-screensaver-2.16.0-securitytoken.patch	15 Oct 2006 03:42:28 -0000	1.8
+++ gnome-screensaver-2.16.0-securitytoken.patch	15 Oct 2006 18:52:15 -0000	1.9
@@ -1,5 +1,5 @@
 --- gnome-screensaver-2.16.0/src/gs-monitor.c.securitytoken	2006-08-04 15:36:03.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-monitor.c	2006-10-14 23:39:44.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-monitor.c	2006-10-15 14:45:25.000000000 -0400
 @@ -41,10 +41,15 @@
  #include "gs-prefs.h"
  #include "gs-debug.h"
@@ -16,7 +16,7 @@
  #define GS_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GS_TYPE_MONITOR, GSMonitorPrivate))
  
  struct GSMonitorPrivate
-@@ -56,6 +61,8 @@
+@@ -56,6 +61,8 @@ struct GSMonitorPrivate
          GSFade         *fade;
          GSGrab         *grab;
  
@@ -25,7 +25,7 @@
          guint           release_grab_id;
  };
  
-@@ -100,6 +107,29 @@
+@@ -100,6 +107,36 @@ manager_auth_request_end_cb (GSManager *
          gs_listener_emit_auth_request_end (monitor->priv->listener);
  }
  
@@ -37,25 +37,32 @@
 +	gs_monitor_simulate_user_activity (monitor);
 +}
 +
++static gboolean
++gs_monitor_should_lock_on_login_security_token_removal (void)
++{
++    /* FIXME: lame hack
++     */
++    return system ("pkcs11_setup rm_action | grep -q lock") == 0;
++}
++
 +static void
 +security_token_removed_cb (ScSecurityTokenMonitor *token_monitor,
 +			   ScSecurityToken        *token,
 +			   GSMonitor              *monitor)
 +{
-+	gboolean locking_is_enabled;
++    if (gs_monitor_should_lock_on_login_security_token_removal () &&
++	sc_security_token_is_login_token (token))
++	    gs_monitor_lock_screen (monitor);
 +
-+	/* FIXME: lame hack
-+	 */
-+	locking_is_enabled = system ("pkcs11_setup rm_action | grep -q lock") == 0;
-+	if (locking_is_enabled &&
-+	    sc_security_token_is_login_token (token))
-+		gs_monitor_lock_screen (monitor);
++    /* If we're already locked and the lock dialog is up, kill it.
++     */
++    gs_manager_cancel_unlock_request (monitor->priv->manager);
 +}
 +
  static gboolean
  watcher_idle_cb (GSWatcher *watcher,
                   gboolean   is_idle,
-@@ -180,37 +210,6 @@
+@@ -180,37 +217,6 @@ watcher_idle_notice_cb (GSWatcher *watch
  }
  
  static void
@@ -93,7 +100,7 @@
  listener_lock_cb (GSListener *listener,
                    GSMonitor  *monitor)
  {
-@@ -390,6 +389,27 @@
+@@ -390,6 +396,27 @@ connect_manager_signals (GSMonitor *moni
  }
  
  static void
@@ -121,15 +128,26 @@
  disconnect_prefs_signals (GSMonitor *monitor)
  {
          g_signal_handlers_disconnect_by_func (monitor->priv->prefs, _gs_monitor_update_from_prefs, monitor);
-@@ -423,6 +443,15 @@
+@@ -423,6 +450,26 @@ gs_monitor_init (GSMonitor *monitor)
          monitor->priv->manager = gs_manager_new ();
          connect_manager_signals (monitor);
  
++	/* PKCS11_LOGIN_TOKEN_NAME is set if the user logged in with a
++	 * security token.
++	 */
 +	if (g_getenv ("PKCS11_LOGIN_TOKEN_NAME") != NULL) {
 +		monitor->priv->security_token_monitor = sc_security_token_monitor_new (NULL);
 +		sc_security_token_monitor_start (monitor->priv->security_token_monitor,
 +						 NULL);
 +		connect_security_token_monitor_signals (monitor);
++
++		/* if the user logged in with a security token but it's
++		 * not currently inserted, then they must have yanked it
++		 * before we started.  lock the screen immediately
++		 */
++		if (gs_monitor_should_lock_on_login_security_token_removal () &&
++		    !sc_security_token_monitor_login_token_is_inserted (monitor->priv->security_token_monitor))
++			gs_monitor_lock_screen (monitor);
 +	} else {
 +		monitor->priv->security_token_monitor = NULL;
 +	}
@@ -137,7 +155,7 @@
          _gs_monitor_update_from_prefs (monitor, monitor->priv->prefs);
  }
  
-@@ -438,6 +467,12 @@
+@@ -438,6 +485,12 @@ gs_monitor_finalize (GObject *object)
  
          g_return_if_fail (monitor->priv != NULL);
  
@@ -150,7 +168,7 @@
          disconnect_watcher_signals (monitor);
          disconnect_listener_signals (monitor);
          disconnect_manager_signals (monitor);
-@@ -475,3 +510,34 @@
+@@ -475,3 +528,34 @@ gs_monitor_start (GSMonitor *monitor,
  
          return TRUE;
  }
@@ -186,8 +204,8 @@
 +        }
 +}
 --- gnome-screensaver-2.16.0/src/Makefile.am.securitytoken	2006-08-03 09:53:14.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/Makefile.am	2006-10-14 23:39:44.000000000 -0400
-@@ -211,6 +211,7 @@
++++ gnome-screensaver-2.16.0/src/Makefile.am	2006-10-15 14:43:27.000000000 -0400
+@@ -211,6 +211,7 @@ gnome_screensaver_gl_helper_SOURCES =	\
  gnome_screensaver_LDADD =		\
  	$(SAVER_LIBS)			\
  	$(GNOME_SCREENSAVER_LIBS)	\
@@ -195,9 +213,9 @@
  	$(NULL)
  
  gnome_screensaver_LDFLAGS = -export-dynamic
---- /dev/null	2006-10-14 14:17:12.965213599 -0400
-+++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytokenmonitor.c	2006-10-14 23:40:12.000000000 -0400
-@@ -0,0 +1,1702 @@
+--- /dev/null	2006-10-15 12:02:21.415745159 -0400
++++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytokenmonitor.c	2006-10-15 14:43:27.000000000 -0400
+@@ -0,0 +1,1730 @@
 +/* securitytokenmonitor.c - monitor for security token insertion and
 + *                          removal events
 + * 
@@ -1020,6 +1038,30 @@
 +    return module;
 +}
 +
++static void
++sc_security_token_monitor_get_all_tokens (ScSecurityTokenMonitor *monitor)
++{
++    int i;
++
++    for (i = 0; i < monitor->priv->module->slotCount; i++) {
++	    ScSecurityToken *token;
++	    CK_SLOT_ID    slot_id;
++	    gint          slot_series;
++	    gchar *token_name;
++
++	    slot_id = PK11_GetSlotID (monitor->priv->module->slots[i]);
++	    slot_series = PK11_GetSlotSeries (monitor->priv->module->slots[i]);
++
++	    token = _sc_security_token_new (monitor->priv->module, 
++					    slot_id, slot_series);
++
++	    token_name = sc_security_token_get_name (token);
++
++	    g_hash_table_replace (monitor->priv->security_tokens,
++				  token_name, token);
++    }
++}
++
 +gboolean
 +sc_security_token_monitor_start (ScSecurityTokenMonitor  *monitor,
 +				 GError                 **error)
@@ -1090,6 +1132,10 @@
 +    g_source_attach (monitor->priv->security_token_event_source, NULL);
 +    g_source_unref (monitor->priv->security_token_event_source);
 +
++    /* populate the hash with tokens that are already inserted
++     */
++    sc_security_token_monitor_get_all_tokens (monitor);
++
 +    monitor->priv->state = SC_SECURITY_TOKEN_MONITOR_STATE_STARTED;
 +
 +out:
@@ -1421,7 +1467,7 @@
 +static void
 +sc_security_token_monitor_worker_die_with_parent (ScSecurityTokenMonitorWorker *worker)
 +{
-+    struct sigaction action = { 0 };
++    struct sigaction action = { { 0 } };
 +    gint flags;
 +
 +    /* dirty hack to clean up worker if parent goes away
@@ -1900,8 +1946,8 @@
 +    return 0;
 +}
 +#endif
---- /dev/null	2006-10-14 14:17:12.965213599 -0400
-+++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytoken.c	2006-10-14 23:39:44.000000000 -0400
+--- /dev/null	2006-10-15 12:02:21.415745159 -0400
++++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytoken.c	2006-10-15 14:43:27.000000000 -0400
 @@ -0,0 +1,680 @@
 +/* securitytoken.c - security token
 + * 
@@ -2583,8 +2629,8 @@
 +    return 0;
 +}
 +#endif
---- /dev/null	2006-10-14 14:17:12.965213599 -0400
-+++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytoken.h	2006-10-14 23:39:44.000000000 -0400
+--- /dev/null	2006-10-15 12:02:21.415745159 -0400
++++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytoken.h	2006-10-15 14:43:27.000000000 -0400
 @@ -0,0 +1,94 @@
 +/* securitytoken.h - api for reading and writing data to a security token 
 + *
@@ -2680,8 +2726,8 @@
 +
 +G_END_DECLS
 +#endif				/* SC_SECURITY_TOKEN_H */
---- /dev/null	2006-10-14 14:17:12.965213599 -0400
-+++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytokenmonitor.h	2006-10-14 23:39:44.000000000 -0400
+--- /dev/null	2006-10-15 12:02:21.415745159 -0400
++++ gnome-screensaver-2.16.0/src/cut-n-paste/securitytokenmonitor.h	2006-10-15 14:43:27.000000000 -0400
 @@ -0,0 +1,84 @@
 +/* securitytokenmonitor.h - monitor for security token insertion and
 + *                          removal events
@@ -2768,8 +2814,8 @@
 +G_END_DECLS
 +#endif				/* SC_SECURITY_TOKEN_MONITOR_H */
 --- gnome-screensaver-2.16.0/src/cut-n-paste/Makefile.am.securitytoken	2005-04-14 15:59:44.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/cut-n-paste/Makefile.am	2006-10-14 23:39:44.000000000 -0400
-@@ -10,7 +10,18 @@
++++ gnome-screensaver-2.16.0/src/cut-n-paste/Makefile.am	2006-10-15 14:43:27.000000000 -0400
+@@ -10,7 +10,18 @@ MAINTAINERCLEANFILES =                  
          Makefile.in
  
  noinst_LIBRARIES =			\
@@ -2789,9 +2835,9 @@
  
  libfast_user_switch_a_CPPFLAGS =				\
  	-DDATADIR=\""$(datadir)"\"				\
---- gnome-screensaver-2.16.0/src/gs-auth-pam.c.securitytoken	2006-06-08 16:23:40.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-auth-pam.c	2006-10-14 23:39:44.000000000 -0400
-@@ -207,6 +207,13 @@
+--- gnome-screensaver-2.16.0/src/gs-auth-pam.c.securitytoken	2006-10-15 14:43:27.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-auth-pam.c	2006-10-15 14:43:27.000000000 -0400
+@@ -264,6 +264,13 @@ pam_conversation (int                   
                                  reply [replies].resp_retcode = PAM_INCOMPLETE;
                          }
                  }
@@ -2805,9 +2851,9 @@
          }
  
          *resp = reply;
---- gnome-screensaver-2.16.0/src/gs-window-x11.c.securitytoken	2006-08-04 15:20:11.000000000 -0400
-+++ gnome-screensaver-2.16.0/src/gs-window-x11.c	2006-10-14 23:39:44.000000000 -0400
-@@ -680,6 +680,7 @@
+--- gnome-screensaver-2.16.0/src/gs-window-x11.c.securitytoken	2006-10-15 14:43:27.000000000 -0400
++++ gnome-screensaver-2.16.0/src/gs-window-x11.c	2006-10-15 14:43:27.000000000 -0400
+@@ -680,6 +680,7 @@ get_env_vars (GtkWidget *widget)
                  "XAUTHLOCALHOSTNAME",
                  "KRB5CCNAME",
                  "KRBTKFILE",
@@ -2816,8 +2862,8 @@
                  "LANGUAGE",
                  "RUNNING_UNDER_GDM",
 --- gnome-screensaver-2.16.0/configure.ac.securitytoken	2006-08-21 19:00:04.000000000 -0400
-+++ gnome-screensaver-2.16.0/configure.ac	2006-10-14 23:39:44.000000000 -0400
-@@ -43,6 +43,7 @@
++++ gnome-screensaver-2.16.0/configure.ac	2006-10-15 14:43:27.000000000 -0400
+@@ -43,6 +43,7 @@ GLADE_REQUIRED_VERSION=2.5.0
  LIBGNOME_MENU_REQUIRED_VERSION=2.11.1
  LIBEXIF_REQUIRED_VERSION=0.6.12
  GLIB_REQUIRED_VERSION=2.7.0
@@ -2825,7 +2871,7 @@
  
  AC_CHECK_HEADERS(unistd.h)
  AC_CHECK_HEADERS(crypt.h sys/select.h)
-@@ -56,7 +57,8 @@
+@@ -56,7 +57,8 @@ PKG_CHECK_MODULES(GNOME_SCREENSAVER,
          gtk+-2.0 >= $GTK_REQUIRED_VERSION
          dbus-glib-1 >= $DBUS_REQUIRED_VERSION
          gconf-2.0 >= $GCONF_REQUIRED_VERSION
@@ -2835,7 +2881,7 @@
  AC_SUBST(GNOME_SCREENSAVER_CFLAGS)
  AC_SUBST(GNOME_SCREENSAVER_LIBS)
  
-@@ -90,8 +92,6 @@
+@@ -90,8 +92,6 @@ AC_PATH_PROG(GCONFTOOL, gconftool-2)
  
  AM_GCONF_SOURCE_2
  
@@ -2844,7 +2890,7 @@
  # Solaris requires libresolv for daemon()
  case "$host" in
  	*-*-solaris*)
-@@ -234,6 +234,16 @@
+@@ -234,6 +234,16 @@ fi
  AM_CONDITIONAL(HAVE_USER_SWITCHING, test x$enable_user_switching = xyes)
  AC_SUBST(HAVE_USER_SWITCHING)
  


Index: gnome-screensaver.spec
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/gnome-screensaver.spec,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- gnome-screensaver.spec	15 Oct 2006 03:42:28 -0000	1.114
+++ gnome-screensaver.spec	15 Oct 2006 18:52:15 -0000	1.115
@@ -13,16 +13,15 @@
 Summary: GNOME Screensaver
 Name: gnome-screensaver
 Version: 2.16.0
-Release: 11%{?dist} 
+Release: 12%{?dist} 
 License: GPL
 Group: Amusements/Graphics
 Source0: %{name}-%{version}.tar.bz2
 Source1: gnome-screensaver-hide-xscreensaver.menu
 
 Patch1: gnome-screensaver-2.15.4-default-theme.patch
-Patch2: gnome-screensaver-2.16.0-securitytoken.patch
-Patch3: gnome-screensaver-2.16.0-better-pam-integration.patch
-Patch4: gnome-screensaver-2.16.0-better-debug.patch
+Patch2: gnome-screensaver-2.16.0-better-pam-integration.patch
+Patch3: gnome-screensaver-2.16.0-securitytoken.patch
 
 BuildRoot: %{_tmppath}/%{name}-root
 URL: http://www.gnome.org
@@ -64,9 +63,8 @@
 %prep
 %setup -q 
 %patch1 -p1 -b .use-floaters-by-default
-%patch2 -p1 -b .securitytoken
-%patch3 -p1 -b .better-pam-integration
-%patch4 -p1 -b .better-debug
+%patch2 -p1 -b .better-pam-integration
+%patch3 -p1 -b .securitytoken
 
 %build
 autoreconf
@@ -124,7 +122,11 @@
 %{_sysconfdir}/pam.d/*
 
 %changelog
-* Sat Oct 14 2006 Ray Strode <rstrode at redhat.com> - 2.16.0-11.fc6
+* Sun Oct 15 2006 Ray Strode <rstrode at redhat.com> - 2.16.0-12.fc7
+- lock screen immediately if login security token was removed
+  before startup (bug 210411)
+
+* Sat Oct 14 2006 Ray Strode <rstrode at redhat.com> - 2.16.0-11.fc7
 - have security token monitor helper process kill itself when 
   the communication pipe to the main process goes away (bug
   210677).




More information about the fedora-cvs-commits mailing list