Hello community,
here is the log from the commit of package gnome-screensaver
checked in at Sat Jul 28 16:12:37 CEST 2007.
--------
--- GNOME/gnome-screensaver/gnome-screensaver.changes 2007-07-09 20:33:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/gnome-screensaver/gnome-screensaver.changes 2007-07-27 22:32:16.778033000 +0200
@@ -1,0 +2,6 @@
+Fri Jul 27 22:30:31 CEST 2007 - jberkman@novell.com
+
+- add support for locking the screen if a smartcard was used to log in, and
+ for unlocking using a smartcard
+
+-------------------------------------------------------------------
New:
----
gnome-screensaver-2.19.1.1-securitytoken.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-screensaver.spec ++++++
--- /var/tmp/diff_new_pack.S13529/_old 2007-07-28 16:11:29.000000000 +0200
+++ /var/tmp/diff_new_pack.S13529/_new 2007-07-28 16:11:29.000000000 +0200
@@ -18,7 +18,7 @@
BuildRequires: dbus-1-devel dbus-1-glib
%endif
Version: 2.19.1.1
-Release: 1
+Release: 8
URL: http://www.gnome.org/
Group: System/GUI/GNOME
License: GPL v2 or later
@@ -28,6 +28,7 @@
# FIXME: This patch needs to be redone.
Patch6: gnome-screensaver-unlock-dialog-size.patch
Patch7: gnome-screensaver-xvkbd-on-lock.patch
+Patch8: gnome-screensaver-2.19.1.1-securitytoken.patch
Autoreqprov: on
Requires: /sbin/unix2_chkpwd xscreensaver
Provides: %{name}-devel = %{version}-%{release}
@@ -57,6 +58,7 @@
%patch
# %patch6 -p1
%patch7 -p1
+%patch8 -p1
%build
# gnome-common intltool are needed only here
@@ -82,6 +84,7 @@
%find_lang %{name}
%find_gconf_schemas
cat %{name}.lang %{name}.schemas_list >%{name}.lst
+sed -e 's/common-auth/common-auth-smartcard/g' < $RPM_BUILD_ROOT/etc/pam.d/gnome-screensaver > $RPM_BUILD_ROOT/etc/pam.d/gnome-screensaver-smartcard
%clean
rm -rf $RPM_BUILD_ROOT
@@ -96,6 +99,7 @@
%defattr (-, root, root)
%doc AUTHORS COPYING ChangeLog HACKING NEWS README TODO
%config /etc/pam.d/gnome-screensaver
+%config /etc/pam.d/gnome-screensaver-smartcard
%{_sysconfdir}/xdg/menus/gnome-screensavers.menu
%{_bindir}/*
%{_datadir}/applications/*.desktop
@@ -114,6 +118,9 @@
#%dir %{_sysconfdir}/xdg/menus
%changelog
+* Fri Jul 27 2007 - jberkman@novell.com
+- add support for locking the screen if a smartcard was used to log in, and
+ for unlocking using a smartcard
* Mon Jul 09 2007 - maw@suse.de
- Update to version 2.19.1.1
- Fixes for bugzilla.gnome.org #384509, #411252, and #428199.
++++++ gnome-screensaver-2.19.1.1-securitytoken.patch ++++++
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gnome-screensaver-dialog.c gnome-screensaver-2.19.1.1/src/gnome-screensaver-dialog.c
--- gnome-screensaver-2.19.1.1.orig/src/gnome-screensaver-dialog.c 2007-04-23 15:29:13.000000000 -0400
+++ gnome-screensaver-2.19.1.1/src/gnome-screensaver-dialog.c 2007-07-26 13:45:13.000000000 -0400
@@ -47,6 +47,7 @@ static gboolean enable_logout = FALSE;
static gboolean enable_switch = FALSE;
static char *logout_command = NULL;
static char *away_message = NULL;
+static gboolean token = FALSE;
static GOptionEntry entries [] = {
{ "verbose", 0, 0, G_OPTION_ARG_NONE, &verbose,
@@ -61,6 +62,8 @@ static GOptionEntry entries [] = {
N_("Show the switch user button"), NULL },
{ "away-message", 0, 0, G_OPTION_ARG_STRING, &away_message,
N_("Message to show in the dialog"), N_("MESSAGE") },
+ { "token", 0, 0, G_OPTION_ARG_NONE, &token,
+ N_("Authenticate using a smart card token"), NULL },
{ NULL }
};
@@ -288,7 +291,7 @@ do_auth_check (GSLockPlug *plug)
gs_lock_plug_disable_prompt (plug);
gs_lock_plug_set_busy (plug);
- res = gs_auth_verify_user (g_get_user_name (), g_getenv ("DISPLAY"), auth_message_handler, plug, &error);
+ res = gs_auth_verify_user (g_get_user_name (), g_getenv ("DISPLAY"), token, auth_message_handler, plug, &error);
gs_debug ("Verify user returned: %s", res ? "TRUE" : "FALSE");
if (! res) {
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gs-auth.h gnome-screensaver-2.19.1.1/src/gs-auth.h
--- gnome-screensaver-2.19.1.1.orig/src/gs-auth.h 2007-02-22 23:39:09.000000000 -0500
+++ gnome-screensaver-2.19.1.1/src/gs-auth.h 2007-07-26 13:45:13.000000000 -0400
@@ -56,6 +56,7 @@ gboolean gs_auth_priv_init (void);
gboolean gs_auth_init (void);
gboolean gs_auth_verify_user (const char *username,
const char *display,
+ gboolean token,
GSAuthMessageFunc func,
gpointer data,
GError **error);
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gs-auth-helper.c gnome-screensaver-2.19.1.1/src/gs-auth-helper.c
--- gnome-screensaver-2.19.1.1.orig/src/gs-auth-helper.c 2007-02-22 23:39:09.000000000 -0500
+++ gnome-screensaver-2.19.1.1/src/gs-auth-helper.c 2007-07-26 13:45:13.000000000 -0400
@@ -78,7 +78,8 @@ gs_auth_get_verbose (void)
static gboolean
ext_run (const char *user,
const char *typed_passwd,
- gboolean verbose)
+ gboolean verbose,
+ gboolean token)
{
int pfd[2], status;
pid_t pid;
@@ -107,7 +108,9 @@ ext_run (const char *user,
}
/* Helper is invoked as helper service-name [user] */
- execlp (PASSWD_HELPER_PROGRAM, PASSWD_HELPER_PROGRAM, "gnome-screensaver", user, NULL);
+ execlp (PASSWD_HELPER_PROGRAM, PASSWD_HELPER_PROGRAM,
+ token ? PAM_SERVICE_NAME"-smartcard" : PAM_SERVICE_NAME,
+ user, NULL);
if (verbose) {
g_message ("%s: %s", PASSWD_HELPER_PROGRAM, strerror (errno));
}
@@ -150,6 +153,7 @@ ext_run (const char *user,
gboolean
gs_auth_verify_user (const char *username,
const char *display,
+ gboolean token,
GSAuthMessageFunc func,
gpointer data,
GError **error)
@@ -162,7 +166,7 @@ gs_auth_verify_user (const char *u
/* ask for the password for user */
if (func != NULL) {
func (GS_AUTH_MESSAGE_PROMPT_ECHO_OFF,
- "Password: ",
+ token ? "PIN: " : "Password: ",
&password,
data);
}
@@ -171,7 +175,7 @@ gs_auth_verify_user (const char *u
return FALSE;
}
- res = ext_run (username, password, gs_auth_get_verbose ());
+ res = ext_run (username, password, gs_auth_get_verbose (), token);
return res;
}
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gs-auth-pam.c gnome-screensaver-2.19.1.1/src/gs-auth-pam.c
--- gnome-screensaver-2.19.1.1.orig/src/gs-auth-pam.c 2007-02-22 23:39:09.000000000 -0500
+++ gnome-screensaver-2.19.1.1/src/gs-auth-pam.c 2007-07-26 13:45:13.000000000 -0400
@@ -373,10 +373,11 @@ static gboolean
create_pam_handle (const char *username,
const char *display,
struct pam_conv *conv,
- int *status_code)
+ int *status_code,
+ gboolean token)
{
int status;
- const char *service = PAM_SERVICE_NAME;
+ const char *service = token ? PAM_SERVICE_NAME"-smartcard" : PAM_SERVICE_NAME;
char *disp;
gboolean ret;
@@ -668,6 +669,7 @@ gs_auth_pam_verify_user (pam_handle_t *h
gboolean
gs_auth_verify_user (const char *username,
const char *display,
+ gboolean token,
GSAuthMessageFunc func,
gpointer data,
GError **error)
@@ -690,7 +692,7 @@ gs_auth_verify_user (const char *u
conv.appdata_ptr = (void *) &c;
/* Initialize PAM. */
- create_pam_handle (username, display, &conv, &status);
+ create_pam_handle (username, display, &conv, &status, token);
if (status != PAM_SUCCESS) {
goto done;
}
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gs-auth-pwent.c gnome-screensaver-2.19.1.1/src/gs-auth-pwent.c
--- gnome-screensaver-2.19.1.1.orig/src/gs-auth-pwent.c 2007-02-22 23:39:09.000000000 -0500
+++ gnome-screensaver-2.19.1.1/src/gs-auth-pwent.c 2007-07-26 13:45:13.000000000 -0400
@@ -242,6 +242,7 @@ passwds_match (const char *cleartext,
gboolean
gs_auth_verify_user (const char *username,
const char *display,
+ gboolean token,
GSAuthMessageFunc func,
gpointer data,
GError **error)
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gs-manager.c gnome-screensaver-2.19.1.1/src/gs-manager.c
--- gnome-screensaver-2.19.1.1.orig/src/gs-manager.c 2007-04-23 15:29:13.000000000 -0400
+++ gnome-screensaver-2.19.1.1/src/gs-manager.c 2007-07-26 13:45:13.000000000 -0400
@@ -1284,7 +1284,7 @@ window_obscured_cb (GSWindow *window,
maybe_set_window_throttle (manager, window, obscured);
if (! obscured) {
- gs_manager_request_unlock (manager);
+ gs_manager_request_unlock (manager, FALSE);
}
}
@@ -1294,7 +1294,7 @@ window_activity_cb (GSWindow *window,
{
gboolean handled;
- handled = gs_manager_request_unlock (manager);
+ handled = gs_manager_request_unlock (manager, FALSE);
return handled;
}
@@ -1564,7 +1564,7 @@ gs_manager_get_active (GSManager *manage
}
gboolean
-gs_manager_request_unlock (GSManager *manager)
+gs_manager_request_unlock (GSManager *manager, gboolean token)
{
GSWindow *window;
@@ -1593,7 +1593,7 @@ gs_manager_request_unlock (GSManager *ma
/* Find the GSWindow that contains the pointer */
window = find_window_at_pointer (manager);
- gs_window_request_unlock (window);
+ gs_window_request_unlock (window, token);
return TRUE;
}
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gs-manager.h gnome-screensaver-2.19.1.1/src/gs-manager.h
--- gnome-screensaver-2.19.1.1.orig/src/gs-manager.h 2007-04-23 15:29:13.000000000 -0400
+++ gnome-screensaver-2.19.1.1/src/gs-manager.h 2007-07-26 13:45:13.000000000 -0400
@@ -95,7 +95,7 @@ void gs_manager_set_themes
GSList *themes);
void gs_manager_set_mode (GSManager *manager,
GSSaverMode mode);
-gboolean gs_manager_request_unlock (GSManager *manager);
+gboolean gs_manager_request_unlock (GSManager *manager, gboolean token);
void gs_manager_cancel_unlock_request (GSManager *manager);
G_END_DECLS
diff -ruNp gnome-screensaver-2.19.1.1.orig/src/gs-monitor.c gnome-screensaver-2.19.1.1/src/gs-monitor.c
--- gnome-screensaver-2.19.1.1.orig/src/gs-monitor.c 2007-04-23 15:29:13.000000000 -0400
+++ gnome-screensaver-2.19.1.1/src/gs-monitor.c 2007-07-26 13:45:13.000000000 -0400
@@ -29,6 +29,10 @@
#include
participants (1)
-
root@Hilbert.suse.de