rpms/gnome-screensaver/devel gnome-screensaver-2.22.0-securitytoken.patch, NONE, 1.1 icon-names.patch, NONE, 1.1 gnome-screensaver.spec, 1.188, 1.189 gnome-screensaver-2.15.4-default-theme.patch, 1.1, NONE gnome-screensaver-2.18.0-handle-overlapping-heads.patch, 1.2, NONE gnome-screensaver-2.18.0-power-preferences.patch, 1.1, NONE gnome-screensaver-2.18.0-require-mouse-grab.patch, 1.1, NONE gnome-screensaver-2.18.0-standard-flexi-server.patch, 1.1, NONE gnome-screensaver-2.18.0-user-dirs.patch, 1.2, NONE gnome-screensaver-2.20.0-restore-gamma.patch, 1.1, NONE stupid-bullets.patch, 1.1, NONE
Matthias Clasen (mclasen)
fedora-extras-commits at redhat.com
Mon Jul 28 03:36:19 UTC 2008
- Previous message (by thread): rpms/ldm/F-9 .cvsignore, 1.7, 1.8 ldm.spec, 1.11, 1.12 sources, 1.11, 1.12
- Next message (by thread): rpms/kernel/devel config-generic, 1.146, 1.147 kernel.spec, 1.813, 1.814
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mclasen
Update of /cvs/extras/rpms/gnome-screensaver/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28641
Modified Files:
gnome-screensaver.spec
Added Files:
gnome-screensaver-2.22.0-securitytoken.patch icon-names.patch
Removed Files:
gnome-screensaver-2.15.4-default-theme.patch
gnome-screensaver-2.18.0-handle-overlapping-heads.patch
gnome-screensaver-2.18.0-power-preferences.patch
gnome-screensaver-2.18.0-require-mouse-grab.patch
gnome-screensaver-2.18.0-standard-flexi-server.patch
gnome-screensaver-2.18.0-user-dirs.patch
gnome-screensaver-2.20.0-restore-gamma.patch
stupid-bullets.patch
Log Message:
use standard icon names
gnome-screensaver-2.22.0-securitytoken.patch:
--- NEW FILE gnome-screensaver-2.22.0-securitytoken.patch ---
diff -up gnome-screensaver-2.23.3/configure.ac.securitytoken gnome-screensaver-2.23.3/configure.ac
--- gnome-screensaver-2.23.3/configure.ac.securitytoken 2008-05-29 13:52:18.000000000 -0400
+++ gnome-screensaver-2.23.3/configure.ac 2008-07-27 23:20:06.000000000 -0400
@@ -45,6 +45,7 @@ GNOME_DESKTOP_REQUIRED_VERSION=2.23.2
GLADE_REQUIRED_VERSION=2.5.0
LIBGNOMEKBDUI_REQUIRED_VERSION=0.1
+NSS_REQUIRED_VERSION=3.11.2
AC_CHECK_HEADERS(unistd.h)
AC_CHECK_HEADERS(crypt.h sys/select.h)
@@ -59,7 +60,8 @@ PKG_CHECK_MODULES(GNOME_SCREENSAVER,
dbus-glib-1 >= $DBUS_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
gnome-desktop-2.0 >= $GNOME_DESKTOP_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)
@@ -96,8 +98,6 @@ AC_PATH_PROG(GCONFTOOL, gconftool-2)
AM_GCONF_SOURCE_2
-GNOME_COMPILE_WARNINGS(yes)
-
# Solaris requires libresolv for daemon()
case "$host" in
*-*-solaris*)
@@ -219,6 +219,16 @@ fi
AM_CONDITIONAL(HAVE_USER_SWITCHING, test x$enable_user_switching = xyes)
AC_SUBST(HAVE_USER_SWITCHING)
+
+# 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)
+
+
+
dnl ---------------------------------------------------------------------------
dnl - Where should we put documentation ?
dnl ---------------------------------------------------------------------------
diff -up gnome-screensaver-2.23.3/src/gs-auth-pam.c.securitytoken gnome-screensaver-2.23.3/src/gs-auth-pam.c
--- gnome-screensaver-2.23.3/src/gs-auth-pam.c.securitytoken 2008-04-29 22:30:08.000000000 -0400
+++ gnome-screensaver-2.23.3/src/gs-auth-pam.c 2008-07-27 23:20:06.000000000 -0400
@@ -354,6 +354,13 @@ close_pam_handle (int status)
status2,
(status2 == PAM_SUCCESS ? "Success" : "Failure"));
}
+
+ /* 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));
}
if (message_handled_condition != NULL) {
diff -up gnome-screensaver-2.23.3/src/gs-monitor.c.securitytoken gnome-screensaver-2.23.3/src/gs-monitor.c
--- gnome-screensaver-2.23.3/src/gs-monitor.c.securitytoken 2008-04-29 22:30:08.000000000 -0400
+++ gnome-screensaver-2.23.3/src/gs-monitor.c 2008-07-27 23:20:06.000000000 -0400
@@ -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,36 @@ 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 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)
+{
+ if (gs_monitor_should_lock_on_login_security_token_removal () &&
+ 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,
@@ -210,37 +247,6 @@ watcher_idle_notice_cb (GSWatcher *watch
}
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");
- }
-}
-
-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
listener_lock_cb (GSListener *listener,
GSMonitor *monitor)
{
@@ -425,6 +431,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);
@@ -458,6 +485,26 @@ gs_monitor_init (GSMonitor *monitor)
monitor->priv->manager = gs_manager_new ();
connect_manager_signals (monitor);
[...2518 lines suppressed...]
+
+ _exit (0);
+ }
+
+ close (write_fd);
+
+#ifndef SC_SECURITY_TOKEN_MONITOR_DRIVER_CAN_BE_RELOADED_AFTER_BEING_DESTROYED
+ g_array_append_val (monitor->priv->fds_to_close_on_fork, read_fd);
+#endif
+
+ if (worker_pid)
+ *worker_pid = child_pid;
+
+ if (worker_fd)
+ *worker_fd = read_fd;
+
+ return TRUE;
+}
+
+#ifdef SC_SECURITY_TOKEN_MONITOR_ENABLE_TEST
+#include <glib.h>
+
+static GMainLoop *event_loop;
+static gboolean should_exit_on_next_remove = FALSE;
+
+static gboolean
+on_timeout (ScSecurityTokenMonitor *monitor)
+{
+ GError *error;
+ g_print ("Re-enabling monitor.\n");
+
+ if (!sc_security_token_monitor_start (monitor, &error)) {
+ g_warning ("could not start security token monitor - %s",
+ error->message);
+ g_error_free (error);
+ return 1;
+ }
+ g_print ("Please re-insert security token\n");
+
+ should_exit_on_next_remove = TRUE;
+
+ return FALSE;
+}
+
+static void
+on_device_inserted (ScSecurityTokenMonitor * monitor,
+ ScSecurityToken *token)
+{
+ g_print ("security token inserted!\n");
+ g_print ("Please remove it.\n");
+}
+
+static void
+on_device_removed (ScSecurityTokenMonitor * monitor,
+ ScSecurityToken *token)
+{
+ g_print ("security token removed!\n");
+
+ if (should_exit_on_next_remove)
+ g_main_loop_quit (event_loop);
+ else {
+ g_print ("disabling monitor for 2 seconds\n");
+ sc_security_token_monitor_stop (monitor);
+ g_timeout_add (2000, (GSourceFunc) on_timeout, monitor);
+ }
+}
+
+int
+main (int argc,
+ char *argv[])
+{
+ ScSecurityTokenMonitor *monitor;
+ GError *error;
+
+ g_log_set_always_fatal (G_LOG_LEVEL_ERROR
+ | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING);
+
+ g_type_init ();
+
+ g_message ("creating instance of 'security token monitor' object...");
+ monitor = sc_security_token_monitor_new (NULL);
+ g_message ("'security token monitor' object created successfully");
+
+ g_signal_connect (monitor, "security-token-inserted",
+ G_CALLBACK (on_device_inserted), NULL);
+
+ g_signal_connect (monitor, "security-token-removed",
+ G_CALLBACK (on_device_removed), NULL);
+
+ g_message ("starting listener...");
+
+ error = NULL;
+ if (!sc_security_token_monitor_start (monitor, &error)) {
+ g_warning ("could not start security token monitor - %s",
+ error->message);
+ g_error_free (error);
+ return 1;
+ }
+
+ event_loop = g_main_loop_new (NULL, FALSE);
+ g_main_loop_run (event_loop);
+ g_main_loop_unref (event_loop);
+ event_loop = NULL;
+
+ g_message ("destroying previously created 'security token monitor' object...");
+ g_object_unref (monitor);
+ monitor = NULL;
+ g_message ("'security token monitor' object destroyed successfully");
+
+ return 0;
+}
+#endif
diff -up /dev/null gnome-screensaver-2.23.3/src/securitytokenmonitor.h
--- /dev/null 2008-07-27 17:37:58.142005663 -0400
+++ gnome-screensaver-2.23.3/src/securitytokenmonitor.h 2008-07-27 23:20:06.000000000 -0400
@@ -0,0 +1,84 @@
+/* securitytokenmonitor.h - monitor for security token insertion and
+ * removal events
+ *
+ * Copyright (C) 2006 Ray Strode
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+#ifndef SC_SECURITY_TOKEN_MONITOR_H
+#define SC_SECURITY_TOKEN_MONITOR_H
+
+#define SC_SECURITY_TOKEN_ENABLE_INTERNAL_API
+#include "securitytoken.h"
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+#define SC_TYPE_SECURITY_TOKEN_MONITOR (sc_security_token_monitor_get_type ())
+#define SC_SECURITY_TOKEN_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SC_TYPE_SECURITY_TOKEN_MONITOR, ScSecurityTokenMonitor))
+#define SC_SECURITY_TOKEN_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SC_TYPE_SECURITY_TOKEN_MONITOR, ScSecurityTokenMonitorClass))
+#define SC_IS_SECURITY_TOKEN_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SC_TYPE_SECURITY_TOKEN_MONITOR))
+#define SC_IS_SECURITY_TOKEN_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SC_TYPE_SECURITY_TOKEN_MONITOR))
+#define SC_SECURITY_TOKEN_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SC_TYPE_SECURITY_TOKEN_MONITOR, ScSecurityTokenMonitorClass))
+#define SC_SECURITY_TOKEN_MONITOR_ERROR (sc_security_token_monitor_error_quark ())
+typedef struct _ScSecurityTokenMonitor ScSecurityTokenMonitor;
+typedef struct _ScSecurityTokenMonitorClass ScSecurityTokenMonitorClass;
+typedef struct _ScSecurityTokenMonitorPrivate ScSecurityTokenMonitorPrivate;
+typedef enum _ScSecurityTokenMonitorError ScSecurityTokenMonitorError;
+
+struct _ScSecurityTokenMonitor {
+ GObject parent;
+
+ /*< private > */
+ ScSecurityTokenMonitorPrivate *priv;
+};
+
+struct _ScSecurityTokenMonitorClass {
+ GObjectClass parent_class;
+
+ /* Signals */
+ void (*security_token_inserted) (ScSecurityTokenMonitor *monitor,
+ ScSecurityToken *token);
+ void (*security_token_removed) (ScSecurityTokenMonitor *monitor,
+ ScSecurityToken *token);
+ void (*error) (ScSecurityTokenMonitor *monitor,
+ GError *error);
+};
+
+enum _ScSecurityTokenMonitorError {
+ SC_SECURITY_TOKEN_MONITOR_ERROR_GENERIC = 0,
+ SC_SECURITY_TOKEN_MONITOR_ERROR_WITH_NSS,
+ SC_SECURITY_TOKEN_MONITOR_ERROR_LOADING_DRIVER,
+ SC_SECURITY_TOKEN_MONITOR_ERROR_WATCHING_FOR_EVENTS,
+ SC_SECURITY_TOKEN_MONITOR_ERROR_REPORTING_EVENTS
+};
+
+GType sc_security_token_monitor_get_type (void) G_GNUC_CONST;
+GQuark sc_security_token_monitor_error_quark (void) G_GNUC_CONST;
+
+ScSecurityTokenMonitor *sc_security_token_monitor_new (const gchar *module);
+
+gboolean sc_security_token_monitor_start (ScSecurityTokenMonitor *monitor,
+ GError **error);
+
+void sc_security_token_monitor_stop (ScSecurityTokenMonitor *monitor);
+
+gchar *sc_security_token_monitor_get_module_path (ScSecurityTokenMonitor *monitor);
+gboolean sc_security_token_monitor_login_token_is_inserted (ScSecurityTokenMonitor *monitor);
+
+G_END_DECLS
+#endif /* SC_SECURITY_TOKEN_MONITOR_H */
icon-names.patch:
--- NEW FILE icon-names.patch ---
diff -up gnome-screensaver-2.23.3/src/copy-theme-dialog.c.icon-names gnome-screensaver-2.23.3/src/copy-theme-dialog.c
--- gnome-screensaver-2.23.3/src/copy-theme-dialog.c.icon-names 2008-07-27 23:29:10.000000000 -0400
+++ gnome-screensaver-2.23.3/src/copy-theme-dialog.c 2008-07-27 23:29:50.000000000 -0400
@@ -301,7 +301,7 @@ add_file_to_dialog (gpointer data, gpoin
uri);
g_free (uri);
gtk_window_set_title (GTK_WINDOW (dialog), "");
- gtk_window_set_icon_name (GTK_WINDOW (dialog), "screensaver");
+ gtk_window_set_icon_name (GTK_WINDOW (dialog), "preferences-desktop-screensaver");
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
diff -up gnome-screensaver-2.23.3/src/gnome-screensaver-preferences.c.icon-names gnome-screensaver-2.23.3/src/gnome-screensaver-preferences.c
--- gnome-screensaver-2.23.3/src/gnome-screensaver-preferences.c.icon-names 2008-07-27 23:30:09.000000000 -0400
+++ gnome-screensaver-2.23.3/src/gnome-screensaver-preferences.c 2008-07-27 23:30:44.000000000 -0400
@@ -826,7 +826,7 @@ theme_installer_run (GtkWidget *prefs_di
gtk_window_set_transient_for (GTK_WINDOW (copy_dialog),
GTK_WINDOW (prefs_dialog));
gtk_window_set_icon_name (GTK_WINDOW (copy_dialog),
- "screensaver");
+ "preferences-desktop-screensaver");
g_signal_connect (copy_dialog, "complete",
G_CALLBACK (theme_copy_complete_cb), NULL);
@@ -1461,7 +1461,7 @@ init_capplet (void)
setup_list_size_constraint (list_scroller, treeview);
gtk_widget_set_size_request (preview, 480, 300);
- gtk_window_set_icon_name (GTK_WINDOW (dialog), "screensaver");
+ gtk_window_set_icon_name (GTK_WINDOW (dialog), "preferences-desktop-screensaver");
gtk_window_set_icon_name (GTK_WINDOW (fullscreen_preview_window), "screensaver");
gtk_drag_dest_set (dialog, GTK_DEST_DEFAULT_ALL,
Index: gnome-screensaver.spec
===================================================================
RCS file: /cvs/extras/rpms/gnome-screensaver/devel/gnome-screensaver.spec,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -r1.188 -r1.189
--- gnome-screensaver.spec 4 Jun 2008 22:57:53 -0000 1.188
+++ gnome-screensaver.spec 28 Jul 2008 03:35:49 -0000 1.189
@@ -14,18 +14,20 @@
Summary: GNOME Screensaver
Name: gnome-screensaver
Version: 2.23.3
-Release: 0.2008.05.29.2%{?dist}
+Release: 0.2008.05.29.3%{?dist}
License: GPLv2+
Group: Amusements/Graphics
Source0: http://download.gnome.org/sources/gnome-screensaver/2.23/%{name}-%{version}.tar.bz2
Source1: gnome-screensaver-hide-xscreensaver.menu
Patch1: gnome-screensaver-2.20.0-default-theme.patch
-Patch2: gnome-screensaver-2.18.0-securitytoken.patch
+Patch2: gnome-screensaver-2.22.0-securitytoken.patch
# add support for gnome-keyring to the pam stack
Patch4: gnome-keyring.patch
Patch7: gnome-screensaver-2.20.0-blank-by-default.patch
Patch8: gnome-screensaver-2.20.0-selinux-permit.patch
+# http://bugzilla.gnome.org/show_bug.cgi?id=545072
+Patch9: icon-names.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
URL: http://www.gnome.org
@@ -80,6 +82,7 @@
%patch4 -p1 -b .gnome-keyring
%patch7 -p1 -b .blank-by-default
%patch8 -p1 -b .selinux-permit
+%patch9 -p1 -b .icon-names
%build
# grr, autoreconf seems to break with intltool 0.36.0, unless
@@ -146,6 +149,9 @@
%doc %{_mandir}/man1/*.1.gz
%changelog
+* Sun Jul 27 2008 Matthias Clasen <mclasen at redhat.com> - 2.23.3-0.2008.05.29.3
+- Use standard icon names
+
* Wed Jun 4 2008 Matthias Clasen <mclasen at redhat.com> - 2.23.3-0.2008.05.29.2
- Rebuild
--- gnome-screensaver-2.15.4-default-theme.patch DELETED ---
--- gnome-screensaver-2.18.0-handle-overlapping-heads.patch DELETED ---
--- gnome-screensaver-2.18.0-power-preferences.patch DELETED ---
--- gnome-screensaver-2.18.0-require-mouse-grab.patch DELETED ---
--- gnome-screensaver-2.18.0-standard-flexi-server.patch DELETED ---
--- gnome-screensaver-2.18.0-user-dirs.patch DELETED ---
--- gnome-screensaver-2.20.0-restore-gamma.patch DELETED ---
--- stupid-bullets.patch DELETED ---
- Previous message (by thread): rpms/ldm/F-9 .cvsignore, 1.7, 1.8 ldm.spec, 1.11, 1.12 sources, 1.11, 1.12
- Next message (by thread): rpms/kernel/devel config-generic, 1.146, 1.147 kernel.spec, 1.813, 1.814
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list