ping ! On Tue, May 24, 2016 at 5:36 PM, <maxin.john@xxxxxxxxx> wrote: > From: "Maxin B. John" <maxin.john@xxxxxxxxx> > > Define strndupa if not available in libc. Also fix headers to explicitly > needed include files which glibc was including indirectly > > Signed-off-by: Khem Raj <raj.khem@xxxxxxxxx> > Signed-off-by: Maxin B. John <maxin.john@xxxxxxxxx> > --- > modules/pam_lastlog/pam_lastlog.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/modules/pam_lastlog/pam_lastlog.c b/modules/pam_lastlog/pam_lastlog.c > index 1e2f08d..6c17a31 100644 > --- a/modules/pam_lastlog/pam_lastlog.c > +++ b/modules/pam_lastlog/pam_lastlog.c > @@ -23,9 +23,11 @@ > #include <stdarg.h> > #include <stdio.h> > #include <string.h> > +#include <sys/file.h> > #include <sys/types.h> > #include <syslog.h> > #include <unistd.h> > +#include <paths.h> > > #if defined(hpux) || defined(sunos) || defined(solaris) > # ifndef _PATH_LASTLOG > @@ -332,6 +334,23 @@ last_login_read(pam_handle_t *pamh, int announce, int last_fd, uid_t uid, time_t > return retval; > } > > +#ifndef __GLIBC__ > +static void logwtmp(const char * line, const char * name, const char * host) > +{ > + struct utmp u; > + memset(&u, 0, sizeof(u)); > + > + u.ut_pid = getpid(); > + u.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS; > + strncpy(u.ut_line, line, sizeof(u.ut_line)); > + strncpy(u.ut_name, name, sizeof(u.ut_name)); > + strncpy(u.ut_host, host, sizeof(u.ut_host)); > + gettimeofday(&(u.ut_tv), NULL); > + > + updwtmp(_PATH_WTMP, &u); > +} > +#endif /* __GLIBC__ */ > + > static int > last_login_write(pam_handle_t *pamh, int announce, int last_fd, > uid_t uid, const char *user) > -- > 2.4.0 > > _______________________________________________ > Pam-list mailing list > Pam-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/pam-list _______________________________________________ Pam-list mailing list Pam-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/pam-list