File lightdm-disable-utmp-handling.patch of Package lightdm
# git changeset patch
# Parent e4be60aa2d0234c4c8714033287e482e5673b18c
disable utmp handling since this is handled in the Xstartup/Xreset scripts
Index: lightdm-1.30.0/src/session-child.c
===================================================================
--- lightdm-1.30.0.orig/src/session-child.c
+++ lightdm-1.30.0/src/session-child.c
@@ -13,8 +13,10 @@
#include <grp.h>
#include <glib.h>
#include <security/pam_appl.h>
+#if 0
#include <utmp.h>
#include <utmpx.h>
+#endif
#include <sys/mman.h>
#if HAVE_LIBAUDIT
@@ -192,6 +194,7 @@ read_xauth (void)
return x_authority_new (x_authority_family, x_authority_address, x_authority_address_length, x_authority_number, x_authority_name, x_authority_data, x_authority_data_length);
}
+#if 0
/* GNU provides this but we can't rely on that so let's make our own version */
static void
updwtmpx (const gchar *wtmp_file, struct utmpx *ut)
@@ -213,6 +216,7 @@ updwtmpx (const gchar *wtmp_file, struct
updwtmp (wtmp_file, &u);
}
+#endif
#if HAVE_LIBAUDIT
static void
@@ -344,6 +348,7 @@ session_child_run (int argc, char **argv
/* Write record to btmp database */
if (authentication_result == PAM_AUTH_ERR)
{
+#if 0
struct utmpx ut;
struct timeval tv;
@@ -364,6 +369,7 @@ session_child_run (int argc, char **argv
ut.ut_tv.tv_usec = tv.tv_usec;
updwtmpx ("/var/log/btmp", &ut);
+#endif
#if HAVE_LIBAUDIT
audit_event (AUDIT_USER_LOGIN, username, -1, remote_host_name, tty, FALSE);
@@ -684,6 +690,7 @@ session_child_run (int argc, char **argv
/* Wait for the command to complete (blocks) */
if (child_pid > 0)
{
+#if 0
/* Log to utmp */
if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), "greeter") != 0)
{
@@ -711,11 +718,11 @@ session_child_run (int argc, char **argv
g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
endutxent ();
updwtmpx ("/var/log/wtmp", &ut);
-
#if HAVE_LIBAUDIT
audit_event (AUDIT_USER_LOGIN, username, uid, remote_host_name, tty, TRUE);
#endif
}
+#endif
int child_status;
waitpid (child_pid, &child_status, 0);
@@ -725,6 +732,7 @@ session_child_run (int argc, char **argv
else
return_code = EXIT_FAILURE;
+#if 0
/* Log to utmp */
if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), "greeter") != 0)
{
@@ -757,6 +765,7 @@ session_child_run (int argc, char **argv
audit_event (AUDIT_USER_LOGOUT, username, uid, remote_host_name, tty, TRUE);
#endif
}
+#endif
}
/* Remove X authority */