login.c (dolastlog): BSD 4.4 systems don't have lastlog.h, but still
authorTheodore Tso <tytso@mit.edu>
Wed, 27 May 1998 19:12:45 +0000 (19:12 +0000)
committerTheodore Tso <tytso@mit.edu>
Wed, 27 May 1998 19:12:45 +0000 (19:12 +0000)
define struct lastlog somewhere.  Included from Dima Ruban's FreeBSD
patches.

krlogin.c: Include sys/ioctl_compat.h if it is present (instead of
just for 386BSD).

loginpaths.h (LPATH): If the OS provides _PATH_DEFPATH, use it to
define LPATH and RPATH.

login.c: #include paths.h if present, and use it to set the pathnames
for certain common files.

configure.in (withval): Check for <sys/ioctl_compat.h> and <paths.h>

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10586 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/bsd/ChangeLog
src/appl/bsd/configure.in
src/appl/bsd/krlogin.c
src/appl/bsd/login.c
src/appl/bsd/loginpaths.h

index 00b6d4bf1fba220d723e69aa0d5604b2c7c065c0..1ccedefd456485e146d5645a3ab1f33ca62981be 100644 (file)
@@ -1,3 +1,21 @@
+1998-05-26  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * login.c (dolastlog): BSD 4.4 systems don't have lastlog.h, but
+               still define struct lastlog somewhere.  Included from Dima
+               Ruban's FreeBSD patches.
+
+       * krlogin.c: Include sys/ioctl_compat.h if it is present (instead
+               of just for 386BSD).  
+
+       * loginpaths.h (LPATH): If the OS provides _PATH_DEFPATH, use it
+               to define LPATH and RPATH.
+
+       * login.c: #include paths.h if present, and use it to set the
+               pathnames for certain common files.
+
+       * configure.in (withval): Check for <sys/ioctl_compat.h> and
+          <paths.h>
+
 Sat May 16 16:07:42 1998  Tom Yu  <tlyu@mit.edu>
 
        * login.c: Replace strcpy with strncpy in places.  Add nul
index 25c3d1703d2630d92ebfe3ffa7dd51c230589991..e9895225a5316b4d91907a8e9111e38ab3ba18da 100644 (file)
@@ -64,7 +64,7 @@ dnl
 AC_VFORK
 AC_TYPE_MODE_T
 AC_CHECK_FUNCS(isatty inet_aton gettosbyname killpg initgroups setpriority setreuid setresuid waitpid setsid ptsname setlogin tcgetpgrp tcsetpgrp setpgid strsave utimes)
-AC_CHECK_HEADERS(unistd.h stdlib.h string.h sys/filio.h sys/sockio.h sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h sys/ptyvar.h utmp.h sys/time.h krb4-proto.h)
+AC_CHECK_HEADERS(unistd.h stdlib.h string.h sys/filio.h sys/sockio.h sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h sys/ptyvar.h utmp.h sys/time.h krb4-proto.h sys/ioctl_compat.h paths.h)
 AC_HEADER_STDARG
 AC_REPLACE_FUNCS(getdtablesize)
 KRB5_SIGTYPE
index e3f89788cc3ec0c0e33786cd6066b9ba45572523..baa9fb1a2219eea45297e72373f78d2fae680296 100644 (file)
@@ -120,7 +120,7 @@ char copyright[] =
 #define TIOCPKT_FLUSHWRITE      0x02
 #endif
 
-#ifdef __386BSD__
+#ifdef HAVE_SYS_IOCTL_COMPAT_H
 #include <sys/ioctl_compat.h>
 #endif
 
index 9a5b2f8b75fa2debb5d78a2046009da34443179b..cb18f4c2c5d886d768d52442c9fe634bf1d21cf2 100644 (file)
@@ -204,6 +204,10 @@ static const char * krb_get_err_text(kerror)
 #endif
 #endif
 
+#ifdef HAVE_PATHS_H
+#include <paths.h>
+#endif
+
 #include "loginpaths.h"
 
 #ifdef POSIX_TERMIOS
@@ -231,12 +235,33 @@ static const char * krb_get_err_text(kerror)
 
 #define        TTYGRPNAME      "tty"           /* name of group to own ttys */
 
+#if defined(_PATH_MAILDIR)
+#define MAILDIR                _PATH_MAILDIR
+#else
+#define MAILDIR                "/usr/spool/mail"
+#endif
+#if defined(_PATH_NOLOGIN)
+#define NOLOGIN                _PATH_NOLOGIN
+#else
+#define NOLOGIN                "/etc/nologin"
+#endif
+#if defined(_PATH_LASTLOG)
+#define LASTLOG                _PATH_LASTLOG
+#else
+#define LASTLOG                "/usr/adm/lastlog"
+#endif
+#if defined(_PATH_BSHELL)
+#define BSHELL         _PATH_BSHELL
+#else
+#define BSHELL         "/bin/sh"
+#endif
+
+#if (defined(BSD) && (BSD >= 199103))  /* no /usr/ucb */
+#define QUOTAWARN      "/usr/bin/quota"
+#endif
+
 #define        MOTDFILE        "/etc/motd"
-#define        MAILDIR         "/usr/spool/mail"
-#define        NOLOGIN         "/etc/nologin"
 #define        HUSHLOGIN       ".hushlogin"
-#define        LASTLOG         "/usr/adm/lastlog"
-#define        BSHELL          "/bin/sh"
 
 #if !defined(OQUOTA) && !defined(QUOTAWARN)
 #define QUOTAWARN      "/usr/ucb/quota" /* warn user about quotas */
@@ -1401,7 +1426,6 @@ int rewrite_ccache = 1; /*try to write out ccache*/
                if (pwd == NULL || pwd->pw_uid)
                        checknologin();
 
-
                /*
                 * Allows automatic login by root.
                 * If not invoked by root, disallow if the uid's differ.
@@ -2201,7 +2225,7 @@ void dolastlog(quiet, tty)
        int quiet;
        char *tty;
 {
-#ifdef HAVE_LASTLOG_H
+#if defined(HAVE_LASTLOG_H) || (defined(BSD) && (BSD >= 199103))
        struct lastlog ll;
        int fd;
 
index 99d28b091ad9694f98b002128c646135f63fef60..41683ee3811b7d803387d07457b261ed627966c1 100644 (file)
 #endif
 #endif
 
+#ifdef _PATH_DEFPATH
+#define LPATH _PATH_DEFPATH
+#define RPATH _PATH_DEFPATH
+#endif
+
 /* catch-all entries for operating systems we haven't looked up
    hardcoded paths for */
 #ifndef LPATH