- (djm) Login fixes from Tom Bertelson <tbert@abac.com>

This commit is contained in:
Damien Miller 2000-07-01 13:17:42 +10:00
parent d8cfda6bf6
commit 8e81ed3081
4 changed files with 16 additions and 4 deletions

View File

@ -1,5 +1,6 @@
20000701
- (djm) Fix Tru64 SIA problems reported by John P Speno <speno@isc.upenn.edu>
- (djm) Login fixes from Tom Bertelson <tbert@abac.com>
20000628
- (djm) Fixes to lastlog code for Irix

View File

@ -57,6 +57,7 @@
#undef HAVE_TV_IN_UTMP
#undef HAVE_TV_IN_UTMPX
#undef HAVE_ID_IN_UTMP
#undef HAVE_ID_IN_UTMPX
#undef HAVE_EXIT_IN_UTMP
#undef HAVE_TIME_IN_UTMP
#undef HAVE_TIME_IN_UTMPX

View File

@ -636,6 +636,7 @@ OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmp.h, HAVE_TYPE_IN_UTMP)
OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmpx.h, HAVE_TYPE_IN_UTMPX)
OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmp.h, HAVE_TV_IN_UTMP)
OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmp.h, HAVE_ID_IN_UTMP)
OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmpx.h, HAVE_ID_IN_UTMPX)
OSSH_CHECK_HEADER_FOR_FIELD(ut_addr, utmp.h, HAVE_ADDR_IN_UTMP)
OSSH_CHECK_HEADER_FOR_FIELD(ut_addr, utmpx.h, HAVE_ADDR_IN_UTMPX)
OSSH_CHECK_HEADER_FOR_FIELD(ut_addr_v6, utmp.h, HAVE_ADDR_V6_IN_UTMP)

View File

@ -170,7 +170,7 @@
#include "xmalloc.h"
#include "loginrec.h"
RCSID("$Id: loginrec.c,v 1.12 2000/06/27 14:50:50 djm Exp $");
RCSID("$Id: loginrec.c,v 1.13 2000/07/01 03:17:42 djm Exp $");
/**
** prototypes for helper functions in this file
@ -535,11 +535,18 @@ line_abbrevname(char *dst, const char *src, int dstsize)
memset(dst, '\0', dstsize);
/* Always skip prefix if present */
if (strncmp(src, "/dev/", 5) == 0)
src += 5;
len = strlen(src);
if (len <= 0) {
src += (len - dstsize);
strncpy(dst, src, dstsize); /* note: _don't_ change this to strlcpy */
if (len > 0) {
if (((int)len - dstsize) > 0)
src += ((int)len - dstsize);
/* note: _don't_ change this to strlcpy */
strncpy(dst, src, (size_t)dstsize);
}
return dst;
@ -647,7 +654,9 @@ void
construct_utmpx(struct logininfo *li, struct utmpx *utx)
{
memset(utx, '\0', sizeof(struct utmpx));
# ifdef HAVE_ID_IN_UTMPX
line_abbrevname(utx->ut_id, li->line, sizeof(utx->ut_id));
# endif
/* this is done here to keep utmp constants out of loginrec.h */
switch (li->type) {