summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-08-15 10:21:17 +1000
committerDamien Miller <djm@mindrot.org>2000-08-15 10:21:17 +1000
commite477ef65294501de06096cfecb6cfcc923f634f5 (patch)
tree1d569c95095d2bac58a33aacc105b3c93dc42612
parentc83aa8378447861b1bc0a030fdb32f78783dc979 (diff)
- (djm) Don't seek in directory based lastlogs
- (djm) Fix --with-ipaddr-display configure option test. Patch from Jarno Huuskonen <jhuuskon@messi.uku.fi>
-rw-r--r--ChangeLog3
-rw-r--r--configure.in2
-rw-r--r--loginrec.c17
3 files changed, 14 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 39ac03e5..ba4eaa12 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
- (djm) More SunOS 4.1.x fixes from Nate Itkin <nitkin@europa.com>
- (djm) Avoid failures on Irix when ssh is not setuid. Fix from
Michael Stone <mstone@cs.loyola.edu>
+ - (djm) Don't seek in directory based lastlogs
+ - (djm) Fix --with-ipaddr-display configure option test. Patch from
+ Jarno Huuskonen <jhuuskon@messi.uku.fi>
20000813
- (djm) Add $(srcdir) to includes when compiling (for VPATH). Report from
diff --git a/configure.in b/configure.in
index 0c9e4fc6..7ad0d01d 100644
--- a/configure.in
+++ b/configure.in
@@ -1031,7 +1031,7 @@ DISPLAY_HACK_MSG="no"
AC_ARG_WITH(ipaddr-display,
[ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY],
[
- if test "x$withval" = "xno" ; then
+ if test "x$withval" != "xno" ; then
AC_DEFINE(IPADDR_IN_DISPLAY)
DISPLAY_HACK_MSG="yes"
fi
diff --git a/loginrec.c b/loginrec.c
index 798e966f..6b87ba32 100644
--- a/loginrec.c
+++ b/loginrec.c
@@ -160,7 +160,7 @@
#include "xmalloc.h"
#include "loginrec.h"
-RCSID("$Id: loginrec.c,v 1.19 2000/08/15 00:01:22 djm Exp $");
+RCSID("$Id: loginrec.c,v 1.20 2000/08/15 00:21:17 djm Exp $");
/**
** prototypes for helper functions in this file
@@ -1380,14 +1380,17 @@ lastlog_openseek(struct logininfo *li, int *fd, int filemode)
return 0;
}
- /* find this uid's offset in the lastlog file */
- offset = (off_t) ( (long)li->uid * sizeof(struct lastlog));
+ if (type == LL_FILE) {
+ /* find this uid's offset in the lastlog file */
+ offset = (off_t) ( (long)li->uid * sizeof(struct lastlog));
- if ( lseek(*fd, offset, SEEK_SET) != offset ) {
- log("lastlog_openseek: %s->lseek(): %s",
- lastlog_file, strerror(errno));
- return 0;
+ if ( lseek(*fd, offset, SEEK_SET) != offset ) {
+ log("lastlog_openseek: %s->lseek(): %s",
+ lastlog_file, strerror(errno));
+ return 0;
+ }
}
+
return 1;
}