rpms/gnome-screensaver/devel gnome-screensaver-2.15.4-securitytoken.patch, 1.3, 1.4 gnome-screensaver.spec, 1.91, 1.92
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Mon Jul 17 06:10:20 UTC 2006
- Previous message (by thread): rpms/paps/devel paps-0.6.6-cpilpi.patch, 1.1, 1.2 paps-cups.patch, 1.3, 1.4 paps.spec, 1.9, 1.10
- Next message (by thread): rpms/indent/FC-4 indent-2.2.9-cdw.patch, NONE, 1.1 indent-2.2.9-explicits.patch, NONE, 1.1 indent-2.2.9-lcall.patch, NONE, 1.1 indent-2.2.9-man.patch, NONE, 1.1 indent-2.2.9-zh_TW.patch, NONE, 1.1 indent.spec, 1.14, 1.15
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: rstrode
Update of /cvs/dist/rpms/gnome-screensaver/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv25608
Modified Files:
gnome-screensaver-2.15.4-securitytoken.patch
gnome-screensaver.spec
Log Message:
- only lock screen if screen locking is enabled and the token
pulled out is a login token (requires uncommited changes to
pam_pkcs11).
gnome-screensaver-2.15.4-securitytoken.patch:
configure.ac | 14
src/Makefile.am | 1
src/cut-n-paste/Makefile.am | 13
src/cut-n-paste/securitytoken.c | 602 +++++++++++++++++++++++
src/cut-n-paste/securitytoken.h | 101 +++
src/cut-n-paste/securitytokenmonitor.c | 840 +++++++++++++++++++++++++++++++++
src/cut-n-paste/securitytokenmonitor.h | 81 +++
src/gs-monitor.c | 118 +++-
8 files changed, 1747 insertions(+), 23 deletions(-)
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.3 -r 1.4 gnome-screensaver-2.15.4-securitytoken.patch
Index: gnome-screensaver-2.15.4-securitytoken.patch
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/gnome-screensaver-2.15.4-securitytoken.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gnome-screensaver-2.15.4-securitytoken.patch 16 Jul 2006 19:42:27 -0000 1.3
+++ gnome-screensaver-2.15.4-securitytoken.patch 17 Jul 2006 06:10:18 -0000 1.4
@@ -1,198 +1,77 @@
---- gnome-screensaver-2.15.4/src/gs-monitor.c.securitytoken 2006-07-05 20:59:14.000000000 +0200
-+++ gnome-screensaver-2.15.4/src/gs-monitor.c 2006-07-16 15:23:19.000000000 +0200
-@@ -41,10 +41,15 @@
- #include "gs-prefs.h"
- #include "gs-debug.h"
-
-+#include "securitytokenmonitor.h"
-+
- static void gs_monitor_class_init (GSMonitorClass *klass);
- static void gs_monitor_init (GSMonitor *monitor);
- static void gs_monitor_finalize (GObject *object);
-
-+static void gs_monitor_simulate_user_activity (GSMonitor *monitor);
-+static void gs_monitor_lock_screen (GSMonitor *monitor);
-+
- #define GS_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GS_TYPE_MONITOR, GSMonitorPrivate))
-
- struct GSMonitorPrivate
-@@ -56,6 +61,8 @@ struct GSMonitorPrivate
- GSFade *fade;
- GSGrab *grab;
-
-+ ScSecurityTokenMonitor *security_token_monitor;
-+
- guint release_grab_id;
- };
-
-@@ -100,6 +107,22 @@ manager_auth_request_end_cb (GSManager *
- gs_listener_emit_auth_request_end (monitor->priv->listener);
- }
-
-+static void
-+security_token_inserted_cb (ScSecurityTokenMonitor *token_monitor,
-+ ScSecurityToken *token,
-+ GSMonitor *monitor)
-+{
-+ gs_monitor_simulate_user_activity (monitor);
-+}
-+
-+static void
-+security_token_removed_cb (ScSecurityTokenMonitor *token_monitor,
-+ ScSecurityToken *token,
-+ GSMonitor *monitor)
-+{
-+ gs_monitor_lock_screen (monitor);
-+}
-+
- static gboolean
- watcher_idle_cb (GSWatcher *watcher,
- gboolean is_idle,
-@@ -183,20 +206,7 @@ static void
- listener_lock_cb (GSListener *listener,
- GSMonitor *monitor)
- {
-- gboolean res;
-- gboolean locked;
--
-- /* set lock flag before trying to activate screensaver
-- in case something tries to react to the ActiveChanged signal */
--
-- gs_manager_get_lock_active (monitor->priv->manager, &locked);
-- gs_manager_set_lock_active (monitor->priv->manager, TRUE);
-- res = gs_listener_set_active (monitor->priv->listener, TRUE);
-- if (! res) {
-- /* If we've failed then restore lock status */
-- gs_manager_set_lock_active (monitor->priv->manager, locked);
-- gs_debug ("Unable to lock the screen");
-- }
-+ gs_monitor_lock_screen (monitor);
- }
-
- static void
-@@ -257,13 +267,7 @@ static void
- listener_simulate_user_activity_cb (GSListener *listener,
- GSMonitor *monitor)
- {
-- /* in case the screen isn't blanked reset the
-- idle watcher */
-- gs_watcher_reset (monitor->priv->watcher);
--
-- /* request that the manager unlock -
-- will pop up a dialog if necessary */
-- gs_manager_request_unlock (monitor->priv->manager);
-+ gs_monitor_simulate_user_activity (monitor);
- }
-
- static void
-@@ -375,6 +379,27 @@ connect_manager_signals (GSMonitor *moni
- }
-
- static void
-+disconnect_security_token_monitor_signals (GSMonitor *monitor)
-+{
-+ g_signal_handlers_disconnect_by_func (monitor->priv->security_token_monitor,
-+ security_token_removed_cb, monitor);
-+
-+ g_signal_handlers_disconnect_by_func (monitor->priv->security_token_monitor,
-+ security_token_inserted_cb, monitor);
-+}
-+
-+static void
-+connect_security_token_monitor_signals (GSMonitor *monitor)
-+{
-+ g_signal_connect (monitor->priv->security_token_monitor,
-+ "security-token-removed",
-+ G_CALLBACK (security_token_removed_cb), monitor);
-+ g_signal_connect (monitor->priv->security_token_monitor,
-+ "security-token-inserted",
-+ G_CALLBACK (security_token_inserted_cb), monitor);
-+}
-+
-+static void
- disconnect_prefs_signals (GSMonitor *monitor)
- {
- g_signal_handlers_disconnect_by_func (monitor->priv->prefs, _gs_monitor_update_from_prefs, monitor);
-@@ -408,6 +433,11 @@ gs_monitor_init (GSMonitor *monitor)
- monitor->priv->manager = gs_manager_new ();
- connect_manager_signals (monitor);
-
-+ 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);
-+
- _gs_monitor_update_from_prefs (monitor, monitor->priv->prefs);
- }
-
-@@ -423,6 +453,9 @@ gs_monitor_finalize (GObject *object)
-
- g_return_if_fail (monitor->priv != NULL);
+--- gnome-screensaver-2.15.4/configure.ac
++++ gnome-screensaver-2.15.4/configure.ac
+@@ -42,6 +42,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
++NSS_REQUIRED_VERSION=3.11.2
-+ sc_security_token_monitor_stop (monitor->priv->security_token_monitor);
-+ disconnect_security_token_monitor_signals (monitor);
-+
- disconnect_watcher_signals (monitor);
- disconnect_listener_signals (monitor);
- disconnect_manager_signals (monitor);
-@@ -434,6 +467,7 @@ gs_monitor_finalize (GObject *object)
- g_object_unref (monitor->priv->listener);
- g_object_unref (monitor->priv->manager);
- g_object_unref (monitor->priv->prefs);
-+ g_object_unref (monitor->priv->security_token_monitor);
+ AC_CHECK_HEADERS(unistd.h)
+ AC_CHECK_HEADERS(crypt.h sys/select.h)
+@@ -55,7 +56,8 @@ PKG_CHECK_MODULES(GNOME_SCREENSAVER,
+ gtk+-2.0 >= $GTK_REQUIRED_VERSION
+ dbus-glib-1 >= $DBUS_REQUIRED_VERSION
+ gconf-2.0 >= $GCONF_REQUIRED_VERSION
+- libgnome-menu >= $LIBGNOME_MENU_REQUIRED_VERSION)
++ libgnome-menu >= $LIBGNOME_MENU_REQUIRED_VERSION
++ nss >= $NSS_REQUIRED_VERSION)
+ AC_SUBST(GNOME_SCREENSAVER_CFLAGS)
+ AC_SUBST(GNOME_SCREENSAVER_LIBS)
- G_OBJECT_CLASS (gs_monitor_parent_class)->finalize (object);
- }
-@@ -460,3 +494,34 @@ gs_monitor_start (GSMonitor *monitor,
+@@ -229,6 +231,16 @@ fi
+ AM_CONDITIONAL(HAVE_USER_SWITCHING, test x$enable_user_switching = xyes)
+ AC_SUBST(HAVE_USER_SWITCHING)
- return TRUE;
- }
-+
-+static void
-+gs_monitor_simulate_user_activity (GSMonitor *monitor)
-+{
-+ /* in case the screen isn't blanked reset the
-+ idle watcher */
-+ gs_watcher_reset (monitor->priv->watcher);
+
-+ /* request that the manager unlock -
-+ will pop up a dialog if necessary */
-+ gs_manager_request_unlock (monitor->priv->manager);
-+}
++# security token support
++PKG_CHECK_MODULES(SECURITY_TOKEN,
++ gobject-2.0 >= $GLIB_REQUIRED_VERSION
++ nss >= $NSS_REQUIRED_VERSION)
++AC_SUBST(SECURITY_TOKEN_CFLAGS)
++AC_SUBST(SECURITY_TOKEN_LIBS)
+
-+static void
-+gs_monitor_lock_screen (GSMonitor *monitor)
[...2760 lines suppressed...]
+ GSGrab *grab;
- AC_CHECK_HEADERS(unistd.h)
- AC_CHECK_HEADERS(crypt.h sys/select.h)
-@@ -55,7 +56,8 @@ PKG_CHECK_MODULES(GNOME_SCREENSAVER,
- gtk+-2.0 >= $GTK_REQUIRED_VERSION
- dbus-glib-1 >= $DBUS_REQUIRED_VERSION
- gconf-2.0 >= $GCONF_REQUIRED_VERSION
-- libgnome-menu >= $LIBGNOME_MENU_REQUIRED_VERSION)
-+ libgnome-menu >= $LIBGNOME_MENU_REQUIRED_VERSION
-+ nss >= $NSS_REQUIRED_VERSION)
- AC_SUBST(GNOME_SCREENSAVER_CFLAGS)
- AC_SUBST(GNOME_SCREENSAVER_LIBS)
++ ScSecurityTokenMonitor *security_token_monitor;
++
+ guint release_grab_id;
+ };
-@@ -89,8 +91,6 @@ AC_PATH_PROG(GCONFTOOL, gconftool-2)
+@@ -100,6 +107,33 @@ manager_auth_request_end_cb (GSManager *
+ gs_listener_emit_auth_request_end (monitor->priv->listener);
+ }
- AM_GCONF_SOURCE_2
++static void
++security_token_inserted_cb (ScSecurityTokenMonitor *token_monitor,
++ ScSecurityToken *token,
++ GSMonitor *monitor)
++{
++ gs_monitor_simulate_user_activity (monitor);
++}
++
++static void
++security_token_removed_cb (ScSecurityTokenMonitor *token_monitor,
++ ScSecurityToken *token,
++ GSMonitor *monitor)
++{
++ gboolean locking_is_enabled;
++
++ /* FIXME: why isn't there a getter for this? Should I be
++ * looking it up from the prefs object instead?
++ */
++ locking_is_enabled = FALSE;
++ g_object_get (monitor->priv->manager,
++ "lock-enabled", &locking_is_enabled, NULL);
++
++ if (locking_is_enabled &&
++ sc_security_token_is_login_token (token))
++ gs_monitor_lock_screen (monitor);
++}
++
+ static gboolean
+ watcher_idle_cb (GSWatcher *watcher,
+ gboolean is_idle,
+@@ -183,20 +217,7 @@ static void
+ listener_lock_cb (GSListener *listener,
+ GSMonitor *monitor)
+ {
+- gboolean res;
+- gboolean locked;
+-
+- /* set lock flag before trying to activate screensaver
+- in case something tries to react to the ActiveChanged signal */
+-
+- gs_manager_get_lock_active (monitor->priv->manager, &locked);
+- gs_manager_set_lock_active (monitor->priv->manager, TRUE);
+- res = gs_listener_set_active (monitor->priv->listener, TRUE);
+- if (! res) {
+- /* If we've failed then restore lock status */
+- gs_manager_set_lock_active (monitor->priv->manager, locked);
+- gs_debug ("Unable to lock the screen");
+- }
++ gs_monitor_lock_screen (monitor);
+ }
--GNOME_COMPILE_WARNINGS(yes)
+ static void
+@@ -257,13 +278,7 @@ static void
+ listener_simulate_user_activity_cb (GSListener *listener,
+ GSMonitor *monitor)
+ {
+- /* in case the screen isn't blanked reset the
+- idle watcher */
+- gs_watcher_reset (monitor->priv->watcher);
-
- # Solaris requires libresolv for daemon()
- AC_CHECK_LIB(resolv, daemon, [GNOME_SCREENSAVER_LIBS="$GNOME_SCREENSAVER_LIBS -lresolv"])
-
-@@ -229,6 +229,16 @@ fi
- AM_CONDITIONAL(HAVE_USER_SWITCHING, test x$enable_user_switching = xyes)
- AC_SUBST(HAVE_USER_SWITCHING)
+- /* request that the manager unlock -
+- will pop up a dialog if necessary */
+- gs_manager_request_unlock (monitor->priv->manager);
++ gs_monitor_simulate_user_activity (monitor);
+ }
+
+ static void
+@@ -375,6 +390,27 @@ connect_manager_signals (GSMonitor *moni
+ }
+ static void
++disconnect_security_token_monitor_signals (GSMonitor *monitor)
++{
++ g_signal_handlers_disconnect_by_func (monitor->priv->security_token_monitor,
++ security_token_removed_cb, monitor);
+
-+# security token support
-+PKG_CHECK_MODULES(SECURITY_TOKEN,
-+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
-+ nss >= $NSS_REQUIRED_VERSION)
-+AC_SUBST(SECURITY_TOKEN_CFLAGS)
-+AC_SUBST(SECURITY_TOKEN_LIBS)
++ g_signal_handlers_disconnect_by_func (monitor->priv->security_token_monitor,
++ security_token_inserted_cb, monitor);
++}
++
++static void
++connect_security_token_monitor_signals (GSMonitor *monitor)
++{
++ g_signal_connect (monitor->priv->security_token_monitor,
++ "security-token-removed",
++ G_CALLBACK (security_token_removed_cb), monitor);
++ g_signal_connect (monitor->priv->security_token_monitor,
++ "security-token-inserted",
++ G_CALLBACK (security_token_inserted_cb), monitor);
++}
++
++static void
+ disconnect_prefs_signals (GSMonitor *monitor)
+ {
+ g_signal_handlers_disconnect_by_func (monitor->priv->prefs, _gs_monitor_update_from_prefs, monitor);
+@@ -408,6 +444,11 @@ gs_monitor_init (GSMonitor *monitor)
+ monitor->priv->manager = gs_manager_new ();
+ connect_manager_signals (monitor);
+
++ 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);
+
+ _gs_monitor_update_from_prefs (monitor, monitor->priv->prefs);
+ }
+
+@@ -423,6 +464,9 @@ gs_monitor_finalize (GObject *object)
+
+ g_return_if_fail (monitor->priv != NULL);
+
++ sc_security_token_monitor_stop (monitor->priv->security_token_monitor);
++ disconnect_security_token_monitor_signals (monitor);
+
+ disconnect_watcher_signals (monitor);
+ disconnect_listener_signals (monitor);
+ disconnect_manager_signals (monitor);
+@@ -434,6 +478,7 @@ gs_monitor_finalize (GObject *object)
+ g_object_unref (monitor->priv->listener);
+ g_object_unref (monitor->priv->manager);
+ g_object_unref (monitor->priv->prefs);
++ g_object_unref (monitor->priv->security_token_monitor);
+
+ G_OBJECT_CLASS (gs_monitor_parent_class)->finalize (object);
+ }
+@@ -460,3 +505,34 @@ gs_monitor_start (GSMonitor *monitor,
+
+ return TRUE;
+ }
+
- dnl ---------------------------------------------------------------------------
- dnl - Where should we put documentation ?
- dnl ---------------------------------------------------------------------------
++static void
++gs_monitor_simulate_user_activity (GSMonitor *monitor)
++{
++ /* in case the screen isn't blanked reset the
++ idle watcher */
++ gs_watcher_reset (monitor->priv->watcher);
++
++ /* request that the manager unlock -
++ will pop up a dialog if necessary */
++ gs_manager_request_unlock (monitor->priv->manager);
++}
++
++static void
++gs_monitor_lock_screen (GSMonitor *monitor)
++{
++ gboolean res;
++ gboolean locked;
++
++ /* set lock flag before trying to activate screensaver
++ in case something tries to react to the ActiveChanged signal */
++
++ gs_manager_get_lock_active (monitor->priv->manager, &locked);
++ gs_manager_set_lock_active (monitor->priv->manager, TRUE);
++ res = gs_listener_set_active (monitor->priv->listener, TRUE);
++ if (! res) {
++ /* If we've failed then restore lock status */
++ gs_manager_set_lock_active (monitor->priv->manager, locked);
++ gs_debug ("Unable to lock the screen");
++ }
++}
Index: gnome-screensaver.spec
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/gnome-screensaver.spec,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- gnome-screensaver.spec 16 Jul 2006 19:13:16 -0000 1.91
+++ gnome-screensaver.spec 17 Jul 2006 06:10:18 -0000 1.92
@@ -12,7 +12,7 @@
Summary: GNOME Screensaver
Name: gnome-screensaver
Version: 2.15.4
-Release: 2
+Release: 3
License: GPL
Group: Amusement/Graphics
Source0: %{name}-%{version}.tar.bz2
@@ -154,6 +154,11 @@
%{_sysconfdir}/pam.d/*
%changelog
+* Sun Jul 16 2006 Ray Strode <rstrode at redhat.com> - 2.15.4-3
+- only lock screen if screen locking is enabled and the token
+ pulled out is a login token (requires uncommited changes to
+ pam_pkcs11).
+
* Sat Jul 15 2006 Ray Strode <rstrode at redhat.com> - 2.15.4-2
- add initial security token support (still needs work)
- Previous message (by thread): rpms/paps/devel paps-0.6.6-cpilpi.patch, 1.1, 1.2 paps-cups.patch, 1.3, 1.4 paps.spec, 1.9, 1.10
- Next message (by thread): rpms/indent/FC-4 indent-2.2.9-cdw.patch, NONE, 1.1 indent-2.2.9-explicits.patch, NONE, 1.1 indent-2.2.9-lcall.patch, NONE, 1.1 indent-2.2.9-man.patch, NONE, 1.1 indent-2.2.9-zh_TW.patch, NONE, 1.1 indent.spec, 1.14, 1.15
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list