some more solaris cleanup
authorMark Eichin <eichin@mit.edu>
Tue, 26 Jul 1994 06:18:07 +0000 (06:18 +0000)
committerMark Eichin <eichin@mit.edu>
Tue, 26 Jul 1994 06:18:07 +0000 (06:18 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@4016 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/bsd/ChangeLog
src/appl/bsd/configure.in
src/appl/bsd/krlogin.c
src/appl/bsd/logutil.c

index d2bc139d45887bf0acbaf49e82e30b9a704adfe9..a0dac85f00c724d62bf710ff44de4c95bfc5d4da 100644 (file)
@@ -1,5 +1,12 @@
 Tue Jul 26 00:25:57 1994  Mark Eichin  (eichin@cygnus.com)
 
+       * krlogin.c: include <fcntl.h>
+
+       * configure.in: Added tests for NO_UT_HOST, NO_UT_EXIT.
+       * logutil.c: use them.
+
+       * configure.in: add CHECK_DIRENT, CHECK_FCNTL.
+
        * configure.in: Added tests for HAVE_SETOWN, HAVE_SYS_FILIO_H.
        * krlogin.c, krsh.c, krshd.c, krlogin.c, krlogind.c: use them.
 
index bbba8b8bdf5b53cc0503ebfa169bc01fb02e1fb9..cf1322d45ab01873869c38041656efeb54988ae3 100644 (file)
@@ -8,12 +8,25 @@ AC_PROG_INSTALL
 AC_HAVE_LIBRARY(socket)
 AC_HAVE_LIBRARY(nsl)
 AC_FUNC_CHECK(utimes,AC_DEFINE(HAS_UTIMES))
+AC_FUNC_CHECK(getutent,AC_DEFINE(HAVE_GETUTENT))
 AC_HAVE_HEADERS(sys/filio.h)
+CHECK_DIRENT
+CHECK_FCNTL
 AC_COMPILE_CHECK([F_SETOWN],
 [#include <sys/types.h>
 #include <fcntl.h>],
 [1+F_SETOWN;], 
 AC_DEFINE(HAVE_SETOWN))
+AC_COMPILE_CHECK([ut_host in struct utmp],
+[#include <utmp.h>],
+[struct utmp ut; ut.ut_host;],
+,
+AC_DEFINE(NO_UT_HOST))
+AC_COMPILE_CHECK([ut_exit in struct utmp],
+[#include <utmp.h>],
+[struct utmp ut; ut.ut_exit;],
+,
+AC_DEFINE(NO_UT_EXIT))
 KRB_INCLUDE
 WITH_KRB5ROOT
 WITH_KRB4
index a9f02be62e67b2bd133a55b536cb31269f9c7c6a..ffd8b7996c87e52b2ef019cfe75efbb6eab4280b 100644 (file)
@@ -49,7 +49,8 @@ static char sccsid[] = "@(#)rlogin.c  5.12 (Berkeley) 9/19/88";
 #include <sys/time.h>
 #include <sys/resource.h>
 #include <sys/wait.h>
-     
+#include <fcntl.h>
+
 #include <netinet/in.h>
      
 #include <stdio.h>
index fd8a4301aa8157f05b11fc4bc04114468cc462c0..f2cbaae17b5e324b7ffd7c18279f961bc58c89eb 100644 (file)
 
 #include <sys/types.h>
 #include <sys/file.h>
-#if defined (CRAY) || defined (sgi)
-#include <sys/fcntl.h>
-#define L_SET 0
-#define L_INCR 1
-#endif
 #include <utmp.h>
 #include <stdio.h>
 #include <string.h>
 #include <sys/time.h>
 #include <sys/stat.h>
+#ifdef NEED_SYS_FCNTL_H
+#include <sys/fcntl.h>
+#endif
+#ifdef USE_UNISTD_H
+#include <unistd.h>
+#endif
      
 #ifndef UTMP_FILE
 #define        UTMP_FILE       "/etc/utmp"
@@ -46,7 +47,7 @@ void login(ut)
     struct utmp utmp;
     int tty;
     
-#if defined(_AIX)
+#ifdef HAVE_GETUTENT
     if (!ut->ut_pid)
        ut->ut_pid = getppid();
     ut->ut_type = USER_PROCESS;
@@ -63,7 +64,7 @@ void login(ut)
 #else
     tty = ttyslot();
     if (tty > 0 && (fd = open(UTMP_FILE, O_WRONLY, 0)) >= 0) {
-       (void)lseek(fd, (long)(tty * sizeof(struct utmp)), L_SET);
+       (void)lseek(fd, (off_t)(tty * sizeof(struct utmp)), SEEK_SET);
        (void)write(fd, (char *)ut, sizeof(struct utmp));
        (void)close(fd);
     }
@@ -93,14 +94,17 @@ logout(line)
        memset(ut.ut_host,0, sizeof(ut.ut_host));
 #endif
        (void)time(&ut.ut_time);
-#if defined(_AIX)
+#ifdef HAVE_GETUTENT
        memset(ut.ut_id, 0, sizeof(ut.ut_id));
-       ut.ut_pid = ut.ut_exit.e_exit = 0;
+       ut.ut_pid = 0;
+#ifndef NO_UT_EXIT
+       ut.ut_exit.e_exit = 0;
+#endif
        ut.ut_type = EMPTY;
 #endif
-       (void)fseek(fp, (long)-sizeof(struct utmp), L_INCR);
+       (void)fseek(fp, (off_t)-sizeof(struct utmp), SEEK_CUR);
        (void)fwrite((char *)&ut, sizeof(struct utmp), 1, fp);
-       (void)fseek(fp, (long)0, L_INCR);
+       (void)fseek(fp, (off_t)0, SEEK_CUR);
        rval = 0;
     }
     (void)fclose(fp);
@@ -140,7 +144,7 @@ logwtmp(line, name, host, keep_open, logingin)
        ut.ut_pid = getpid();
 #endif
        (void)time(&ut.ut_time);
-#if defined(_AIX)
+#ifdef HAVE_GETUTENT
        if (*name) {
            if (!ut.ut_pid)
                ut.ut_pid = getpid();