rpms/gdm/devel gdm-2.16.0-security-tokens.patch,1.2,1.3

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Sep 15 21:35:26 UTC 2006


Author: rstrode

Update of /cvs/dist/rpms/gdm/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv24708

Modified Files:
	gdm-2.16.0-security-tokens.patch 
Log Message:
remove wtmp patch from security-tokens patch


gdm-2.16.0-security-tokens.patch:
 config/Makefile.am            |   31 
 config/gdm.conf.in            |    4 
 config/securitytokens.conf.in |    3 
 configure.ac                  |    3 
 daemon/Makefile.am            |    7 
 daemon/gdm.c                  |   93 ++
 daemon/securitytoken.c        |  580 +++++++++++++++
 daemon/securitytoken.h        |   91 ++
 daemon/securitytokenmonitor.c | 1612 ++++++++++++++++++++++++++++++++++++++++++
 daemon/securitytokenmonitor.h |   84 ++
 10 files changed, 2503 insertions(+), 5 deletions(-)

Index: gdm-2.16.0-security-tokens.patch
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/gdm-2.16.0-security-tokens.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdm-2.16.0-security-tokens.patch	15 Sep 2006 21:03:00 -0000	1.2
+++ gdm-2.16.0-security-tokens.patch	15 Sep 2006 21:35:22 -0000	1.3
@@ -2556,179 +2556,6 @@
 +    ve_config_destroy (cfg);
 +}
  /* EOF */
---- gdm-2.16.0/daemon/verify-pam.c.security-tokens	2006-09-14 02:40:07.000000000 -0400
-+++ gdm-2.16.0/daemon/verify-pam.c	2006-09-14 02:40:07.000000000 -0400
-@@ -29,6 +29,7 @@
- #ifdef sun
- #include <fcntl.h>
- #endif
-+#include <utmp.h>
- 
- #include <glib/gi18n.h>
- 
-@@ -55,6 +56,16 @@
- #define log_to_audit_system(l,h,d,s)	do { ; } while (0)
- #endif
- 
-+gboolean gdm_should_use_security_tokens_pam_stack (void);
-+
-+#ifndef GDM_BAD_RECORDS_FILE
-+#define GDM_BAD_RECORDS_FILE "/var/log/btmp"
-+#endif
-+
-+#ifndef GDM_NEW_RECORDS_FILE
-+#define GDM_NEW_RECORDS_FILE "/var/log/wtmp"
-+#endif
-+
- /* Evil, but this way these things are passed to the child session */
- static pam_handle_t *pamh = NULL;
- 
-@@ -78,7 +89,6 @@
- 
- static	adt_session_data_t      *adt_ah = NULL;    /* audit session handle */
- 
--
- /*
-  * audit_success_login - audit successful login
-  *
-@@ -417,6 +427,125 @@
- 		selected_user = g_strdup (user);
- }
- 
-+void   
-+gdm_verify_write_record (GdmDisplay *d,
-+			 GdmVerifyRecordType record_type,
-+			 const gchar *username,
-+			 const gchar *console_name,
-+			 const gchar *host_name,
-+			 GPid  pid)
-+{
-+    struct utmp record = { 0 };
-+    GTimeVal now = { 0 };
-+    gchar *host;
-+
-+    gdm_debug ("writing %s record",
-+	       record_type == GDM_VERIFY_RECORD_TYPE_LOGIN? "session" :
-+	       record_type == GDM_VERIFY_RECORD_TYPE_LOGOUT?  "logout" :
-+	       "failed session attempt");
-+
-+    if (record_type != GDM_VERIFY_RECORD_TYPE_LOGOUT)
-+    {
-+	    /* it's possible that PAM failed before
-+	     * it mapped the user input into a valid username
-+	     * so we fallback to try using "(unknown)"
-+	     */
-+	    if (username != NULL)
-+		    strncpy (record.ut_user,
-+			     username, 
-+			     sizeof (record.ut_user));
-+	    else
-+		    strncpy (record.ut_user,
-+			     "(unknown)",
-+			     sizeof (record.ut_user));
-+    }
-+
-+    gdm_debug ("using username %.*s",
-+	       sizeof (record.ut_user),
-+	       record.ut_user);
-+
-+    strncpy (record.ut_id, 
-+	     console_name + 
-+	     strlen (console_name) - 
-+	     sizeof (record.ut_id),
-+	     sizeof (record.ut_id));
-+
-+    gdm_debug ("using id %.*s",
-+	       sizeof (record.ut_id),
-+	       record.ut_id);
-+
-+    if (g_str_has_prefix (console_name, "/dev/")) {
-+	    strncpy (record.ut_line, 
-+		     console_name + strlen ("/dev/"),
-+		     sizeof (record.ut_line));
-+    } else if (g_str_has_prefix (console_name, ":")) {
-+	    strncpy (record.ut_line, 
-+		     console_name,
-+		     sizeof (record.ut_line));
-+    }
-+
-+    gdm_debug ("using line %.*s",
-+	       sizeof (record.ut_line),
-+	       record.ut_line);
-+
-+    host = NULL;
-+    if ((host_name != NULL) &&
-+	g_str_has_prefix (console_name, ":"))
-+	    host = g_strdup_printf ("%s%s",
-+				    host_name,
-+				    console_name);
-+    else if ((host_name != NULL) && 
-+	     !strstr (console_name, ":"))
-+	    host = g_strdup (host_name);
-+    else if (!g_str_has_prefix (console_name, ":") &&
-+	     strstr (console_name, ":"))
-+	    host = g_strdup (console_name);
-+
-+    if (host)
-+    {
-+	    strncpy (record.ut_host, host, sizeof (record.ut_host));
-+	    g_free (host);
-+	    gdm_debug ("using hostname %.*s",
-+		       sizeof (record.ut_host),
-+		       record.ut_host);
-+    }
-+
-+    g_get_current_time (&now);
-+    record.ut_tv.tv_sec = now.tv_sec;
-+    record.ut_tv.tv_usec = now.tv_usec;
-+
-+    gdm_debug ("using time %ld", (glong) record.ut_tv.tv_sec);
-+
-+    record.ut_type = USER_PROCESS; 
-+    gdm_debug ("using type USER_PROCESS"); 
-+
-+    record.ut_pid = pid;
-+
-+    gdm_debug ("using pid %d", (gint) record.ut_pid);
-+
-+    switch (record_type)
-+    {
-+	    case GDM_VERIFY_RECORD_TYPE_LOGIN:
-+		    gdm_debug ("writing session record to " 
-+			       GDM_NEW_RECORDS_FILE);
-+		    updwtmp (GDM_NEW_RECORDS_FILE, &record);
-+		    break;
-+
-+	    case GDM_VERIFY_RECORD_TYPE_LOGOUT: 
-+		    gdm_debug ("writing logout record to " 
-+			       GDM_NEW_RECORDS_FILE);
-+		    updwtmp (GDM_NEW_RECORDS_FILE, &record);
-+		    break;
-+
-+	    case GDM_VERIFY_RECORD_TYPE_FAILED_ATTEMPT:
-+		    gdm_debug ("writing failed session attempt record to " 
-+			       GDM_BAD_RECORDS_FILE);
-+		    updwtmp (GDM_BAD_RECORDS_FILE, &record);
-+		    break;
-+    }
-+
-+}
-+
- static const char *
- perhaps_translate_message (const char *msg)
- {
-@@ -1169,6 +1298,11 @@
-     audit_fail_login (d, pw_change, pwent, pamerr);
- #endif	/* HAVE_ADT */
- 
-+    gdm_verify_write_record (d, GDM_VERIFY_RECORD_TYPE_FAILED_ATTEMPT,
-+			     login == NULL? tmp_PAM_USER : login, display, 
-+			     d->attached? NULL : d->hostname,
-+			     getpid ());
-+
-     /* The verbose authentication is turned on, output the error
-      * message from the PAM subsystem */
-     if ( ! error_msg_given &&
 --- /dev/null	2006-09-15 14:34:25.793453720 -0400
 +++ gdm-2.16.0/daemon/securitytokenmonitor.h	2006-09-14 02:40:07.000000000 -0400
 @@ -0,0 +1,84 @@




More information about the fedora-cvs-commits mailing list