1999-10-26 Tom Yu * Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES, LOCAL_INCLUDES such that one can override CFLAGS from the command line without losing CPP search patchs and defines. Some associated Makefile cleanup. [from wsanchez@apple.com] 1999-08-03 Ken Raeburn * update_utmp.c (pty_update_utmp): Use "co" instead of "cons" for console line on Solaris. Patch from Larry Schwimmer (schwim@whatmore.Stanford.EDU). * Makefile.in (dump-utmp): Add a rule for building, never automatically done. (dump-utmp.o): Depends on dump-utmp.c. Updates from Cygnus KerbNet: * dump-utmp.c (ut_typename): Only define if HAVE_STRUCT_UTMP_UT_TYPE is defined. (main): Dump more info, and conditionalize it better. * dump-utmp.c (ctime): Declare, to prevent crashes on Alpha. * dump-utmp.c (UTMPX): Define if not defined but HAVE_UTMPX_H is defined. (ut_typename): Return shorter forms for some symbols. (main): Require `-x' flag for [uw]tmpx file instead of guessing from the name. Reject unknown `-' arguments. Print a message if an error occurs while reading from utmpx file. Break up output statements into smaller pieces. Conditionalize output of some utmp fields on whether those fields are present. Print out exit status fields and timestamp. Fri Apr 23 23:13:57 1999 Tom Yu * update_utmp.c (pty_update_utmp): utx.ut_pid is a pid_t, and ent.ut_pid is sometimes a short; accordingly, use pid rather than ent.ut_pid, which might have gotten truncated. This fixes an Irix problem found by . 1999-04-14 * update_wtmp.c: Don't use updwtmpx() even if it exists for glibc 2.1, since it's the same as updwtmp(), and glibc doesn't define PATH_WTMPX. updwtmpx() is not part of the XPG standard anyway. (Needed for RedHat 6.0.) Sun Mar 28 17:50:57 1999 Tom Yu * update_wtmp.c: Define WTMPX_FILE to be _PATH_WTMPX in case we're on a system that cleans up the namespace that way. Wed Feb 17 19:47:36 1999 Tom Yu * sane_hostname.c (pty_make_sane_hostname): Remove unused "char *scratch". Tue Feb 16 20:18:40 1999 Tom Yu * sane_hostname.c: Re-order so that pty-int.h precedes libpty.h to prevent conflicting definitions of struct sockaddr_in Thu Feb 11 22:24:03 1999 Tom Yu * sane_hostname.c: Force maxlen to be 16 if it's less than 16, since otherwise a numeric IP address won't fit. * Makefile.in: Add sane_hostname.{o,c}; bump minor version. * libpty.h: Add prototype for make_sane_hostname. * sane_hostname.c: New file; add function to "sanitize" hostname for logging purposes. 1999-01-27 Theodore Ts'o * configure.in: Remove test CHECK_WAIT_TYPE since nothing is using the results of that test (WAIT_USES_INT). 1998-08-16 * Makefile.in (SHLIB_EXPDEPS): Depend on lib_comerr 1998-07-05 * update_utmp.c (pty_update_utmp): If the ut_exit differs test indicates the structures differ, and we don't have a special case, do nothing rather than trying to copy the field. It's not worth breaking the build over. Mon Apr 6 19:35:33 1998 Tom Yu * update_utmp.c (pty_update_utmp): Don't record LOGIN_PROCESS entries, as they confuse last on some systems. [pty/569] Thu Mar 12 18:09:25 1998 Tom Yu * update_utmp.c (pty_update_utmp): Fix bogus entry of PTY_LOGIN_PROCESS types on BSD-ish systems. [pty/531] Wed Feb 18 16:33:58 1998 Tom Yu * Makefile.in: Remove trailing slash from thisconfigdir. Fix up BUILDTOP for new conventions. Mon Feb 2 16:18:08 1998 Theodore Ts'o * Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile * configure.in, Makefile.in: Remove CopySrcHeader and CopyHeader from configure.in and move equivalent functionality to Makefile.in Sun Dec 7 00:05:28 1997 Tom Yu * getpty.c (pty_getpty): Fix goof in previous, which introduced another fencepost error. Thu Dec 4 21:48:12 1997 Tom Yu * getpty.c (pty_getpty): Fix checks on string lengths to account for terminating nul character. Some whitespace fixups. Wed Dec 3 17:16:44 1997 Tom Yu * pty_err.et: Add PTY_OPEN_SLAVE_TOOSHORT error code. * open_slave.c (pty_open_slave): Check to ensure that the slave name is not NULL or zero-length. Tue Oct 28 13:28:54 1997 Ezra Peisach * pty-int.h: Do not prototype initialize_pty_error_table as pty-err.h does as well. Fri Oct 24 09:12:43 1997 Ezra Peisach * Makefile.in (CFILES): Add $(srcdir). Wed Oct 1 04:53:30 1997 Tom Yu * configure.in: Default to a long rather than an int for a time_t for paranoia reasons. Tue Jun 3 23:05:07 1997 Theodore Y. Ts'o * getpty.c (pty_getpty): Remove erroneous space from the HPUX open(). Fri Apr 25 19:14:48 1997 Theodore Y. Ts'o * configure.in: Check for openpty() in -lutil. It's there on FreeBSD and BSDI systems. Fri Feb 21 18:25:47 1997 Sam Hartman * pty-int.h: No longer prototype error table init function. Thu Jan 16 18:47:12 1997 Tom Yu * Makefile.in: Cause "clean" to dtrt. * configure.in: Punt spurious call to KRB5_LIB_PARAMS. Sun Dec 29 21:32:41 1996 Tom Yu * Makefile.in: Update to set STLIBOBJS instead of LIBSRCS; also clean up a little bit. Fri Dec 27 17:09:46 1996 Tom Yu * Makefile.in: Fix to use OBJS.ST rather than ./OBJS.ST. * Makefile.in: * configure.in: Changes to use new library build system. Thu Dec 5 22:43:35 1996 Theodore Y. Ts'o * update_utmp.c (pty_update_utmp): Apply platform specific patch so that HPUX works. (Kludge for 1.0 release) [PR#40] Fri Nov 22 11:52:52 1996 Sam Hartman * configure.in : Make sure time_t is define [203] * update_wtmp.c (ptyint_update_wtmp): Use time_t for call to time(2). [203] Fri Nov 15 08:33:54 1996 Ezra Peisach * update_utmp.c (pty_update_utmp): Handle case where utmp uses ut_exit.e_exit and utmpx uses ut_exit.ut_exit. * configure.in (UT_EXIT_STRUCTURE_DIFFER): If utmpx.h exists, and getutmpx does not exist then test if the ut_exit part of the utmp/utmpx structure is a structure and if their types differ. (e_exit vs. ut_exit). Fri Nov 8 17:45:42 1996 Theodore Y. Ts'o * update_utmp.c (pty_update_utmp): Add code which attempts to compensate for systems that don't have getutmpx() * configure.in: Check for getutmpx(). Replace calls to AC_FUNC_CHECK with AC_HAVE_FUNCS(). Thu Jun 13 22:14:24 1996 Tom Yu * configure.in: remove ref to ET_RULES Thu Jun 13 14:12:16 1996 Sam Hartman * update_wtmp.c (ptyint_update_wtmp): Only update wtmpx if we have updwtmpx. This probably should be more general, but I'm not really sure of HP caviats. * configure.in : check for updwtmpx * getpty.c (pty_getpty): Actually check for 256 ptys on SunOS and other old-style systems. Tue Apr 16 22:06:36 1996 Ken Raeburn * dump-utmp.c: New file. Not automatically used by anything, but may be useful for examining utmp/wtmp files when comparing behavior against system software. Sun Mar 31 02:04:28 1996 Ken Raeburn * update_utmp.c (pty_update_utmp): Always use id "cons" for console. For HP-UX, omit "kl" prefix. Reindent for readability. * update_wtmp.c (ptyint_update_wtmp): For HP-UX, copy ut_id and ut_type from input utmp structure. Reindent for readability. Wed Mar 27 21:14:33 1996 Marc Horowitz * init_slave.c (pty_initialize_slave): Spurious signal stuff which did nothing deleted. Tue Apr 16 13:43:43 1996 Sam Hartman * configure.in : Don't use streams on HPUX. * getpty.c (pty_getpty): Check /dev/ptym/clone for HPUX10, only try /dev/ptmx if HAVE_STREAMS defined so we can bipass for HPUX9. Sun Apr 14 00:36:33 1996 Sam Hartman * pty-int.h: Don't include sys/wait.h here. * configure.in : Check for waitpid. Sat Apr 13 18:58:43 1996 Sam Hartman * cleanup.c (pty_cleanup): If we are doing a vhangup, then fork and dissociate on hangup. This makes the HP happy, because there is no way to get rid of a controlling terminal besides setsid() on the HP. Sun Mar 24 19:59:14 1996 Sam Hartman * configure.in : Do streams handling by deciding what modules to push for each system. * init_slave.c (pty_initialize_slave): Better abstraction for dealing with what modules get pushed on what streams system. There is a list of modules controlled on a module-by-module basis by configure.in, and the modules included in that list are pushed. * void_assoc.c: Duplicate comment from open_ctty.c explaining that it's OK to call void_association twice, and giving the caviats about setsid. * open_ctty.c (pty_open_ctty): Remove test to make sure /dev/tty worked, so we can push the streams for the HP. * open_slave.c (pty_open_slave): Test to see if /dev/tty works only after calling pty_initialize_slave. Sat Mar 23 15:24:38 1996 Sam Hartman * configure.in : Remove shadow passwords check because nothing in libpty cares about the result; remove use of libkrb5, libkrb4, libkadm; Check for _getpty * getpty.c (pty_getpty): Support _getpty for Irix; Irix has /dev/ptmx, but it doesn't work correctly at all. Also, Irix, tends to create device nodes on the fly. * pty-int.h: No need to include sys/socket.h Sat Feb 24 21:34:58 1996 Theodore Y. Ts'o * vhangup.c (ptyint_vhangup): Don't do call vhangup() if system doesn't have it. Sat Jan 27 01:13:34 1996 Mark Eichin * void_assoc.c (ptyint_void_association): if we don't have TIOCNOTTY (HP/UX 9 for example) don't try to use it. Fri Jan 26 00:26:37 1996 Sam Hartman * cleanup.c (pty_cleanup): Update utmp only if update_utmp is true. Tue Jan 16 13:52:22 1996 Sam Hartman * void_assoc.c (ptyint_void_association): Move setsid call from open_ctty to void_association. * logwtmp.c (pty_logwtmp): Pass user argument to update_wtmp. * update_utmp.c (update_utmp): Implement PTY_UTMP_USERNAME_VALID flag Mon Jan 15 15:48:37 1996 Sam Hartman (hartmans@justforfun) * cleanup.c: Change to indiciate utmp user name is valid. * Mon Jan 15 15:21:16 1996 Sam Hartman * update_utmp.c (pty_update_utmp): Add flags field; use ttyslot only if reasonable. Fri Jan 12 16:33:37 1996 Sam Hartman * open_slave.c (pty_open_slave): Don't use fchmod or fchown; they don't buy much security unless /dev is world-writable and may prevent Solaris lossage. Thu Dec 21 00:12:58 1995 Sam Hartman * open_slave.c (pty_open_slave): Open with no delay. Wed Jan 10 22:20:04 1996 Theodore Y. Ts'o * open_slave.c (pty_open_slave): Added hack by Doug Engert to get util/pty to work under Solaris. We should double check to make sure this is a correct fix. Sun Nov 12 12:44:33 1995 Sam Hartman * open_ctty.c (pty_open_ctty): Remove redundant Ultrix calls to setpgrp() Sun Oct 22 03:48:37 1995 Sam Hartman * update_wtmp.c (ptyint_update_wtmp): Add comments explaining why ifdefs are right. Sun Oct 22 01:20:52 1995 Sam Hartman * update_wtmp.c (ptyint_update_wtmp): Try utx not uts. Mon Oct 16 17:41:45 1995 Sam Hartman * update_wtmp.c (ptyint_update_wtmp): Update to take host name, so we can get the full host name if it is chopped in utmp. * update_wtmp.c (ptyint_update_wtmp): Insert fallback path for Sunos and others, return defined value. * update_utmp.c (pty_update_utmp): Incorperate utmpx handling patch from ramus@nersc.gov to deal with support for longer hostanmes in utmpx. *update_utmp.c: Add return statement and fallback path for Sunos. Sat Oct 14 20:49:40 1995 Sam Hartman Fri Aug 11 17:49:36 1995 Samuel D Hartman (hartmans@vorlon) Fri Sep 29 14:18:03 1995 Theodore Y. Ts'o * update_wtmp.c (ptyint_update_wtmp): If EMPTY not defined as a utmp type, use DEAD_PROCESS. * configure.in: * Makefile.in: Use the SubdirLibraryRule defined in aclocal.m4 to create the DONE file (and to properly clean it up). Mon Sep 25 16:42:36 1995 Theodore Y. Ts'o * Makefile.in: Removed "foo:: foo-$(WHAT)" lines from the Makefile. Thu Sep 7 19:13:05 1995 Mark Eichin * update_utmp.c: ultimately fall back to /etc/utmp for UTMP_FILE, if it is still missing after all previous efforts. * update_wtmp.c: /usr/adm/wtmp for WTMP_FILE likewise. Thu Aug 24 18:40:48 1995 Theodore Y. Ts'o * .Sanitize: Update file list Tue Aug 15 21:42:16 1995 * update_wtmp.c (ptyint_update_wtmp): If EMPTY is not defined, then set ut.ut_type to 0 instead. Fri Aug 11 15:49:30 1995 Sam Hartman * Makefile.in (CFILES): Rename initialize_slave.c to init_slave.c so it isn't truncated in libpty.a. Fri Aug 11 01:12:03 1995 Sam Hartman * initialize_slave.c (pty_initialize_slave): You really do need to push and pop the streams on a Sun. Fri Aug 11 00:49:23 1995 Sam Hartman * configure.in (ac_cv_func_setsid): Pretend that Ultrix doesn't have setsid, because if it does make the call then the pty never becomes controlling tty. Thu Aug 10 09:47:07 1995 Sam Hartman * open_ctty.c (pty_open_ctty): Move setpgrp() after void_assoc call Wed Aug 9 00:16:40 1995 Sam Hartman * pty-int.h (VHANG_first): Change defines so VHANG_FIRST doesn't get defined under Ultrix because Ultrix can only establish controlling terminal once per process and we need to get controlling terminal again after vhangup(). * getpty.c (pty_getpty): Use the right test for slave buffer length. Tue Aug 8 22:20:33 1995 Tom Yu * update_utmp.c (UTMP_FILE): _PATH_UTMP under NetBSD, not _UTMP_PATH; also fix typo (missing '&' on reference to ent) Tue Aug 8 20:47:01 1995 Tom Yu * update_utmp.c (pty_update_utmp): change #ifdef NO_UT_PID to #ifndef Tue Aug 8 09:13:50 1995 Sam Hartman * open_slave.c (pty_open_slave): Dissociate from controlling terminal before calling revoke. (pty_open_slave): Don't ask for a controlling terminal unless we need it. Tue Aug 8 20:32:08 1995 Tom Yu * update_utmp.c: flush preprocessor directive to left margin. * pty_err.et: Fix typo in error description. * cleanup.c (pty_cleanup): Don't change slave before revoking it. Also return a value all the time, not just on systems without revoke. * update_utmp.c (pty_update_utmp): Move #ifdef back to column 1. Mon Aug 7 17:41:39 1995 Sam Hartman * cleanup.c (pty_cleanup): Call pty_update_utmp using new interface. * update_utmp.c logwtmp.c : Call ptyint_update_wtmp not pty_update_wtmp. * cleanup.c (pty_cleanup): We can't use pid_t because we need to use something in libpty.h and we can't wait for pid_t to be defined there because we may not have configure. * update_wtmp.c (pty_update_wtmp): Rename to ptyint_update_wtmp. * update_utmp.c (pty_update_utmp): Change interface so it doesn't take a struct utmp. * libpty.h: Remove pty_update_wtmp as it's becoming an internal interface. Sat Aug 5 01:00:35 1995 Ezra Peisach * open_slave.c (pty_open_slave): pty_open_ctty returns != 0 on error, not less than. Fri Aug 4 13:59:11 1995 Theodore Y. Ts'o * libpty.h (pty_cleanup): Fix argument type of pid to patch that used in the C file. Include if present. Only include if it is present. * configure.in: Check for utmp.h and utmpx.h Fri Aug 4 00:59:20 1995 Tom Yu * Makefile.in: use libupdate so to not get multiple copies of object files upon rebuild. * vhangup.c (ptyint_vhangup): Make sure preprocessor directives are at left margin. * open_slave.c (pty_open_slave): Make sure preprocessor directives are at left margin. * open_ctty.c (pty_open_ctty): Make sure preprocessor directives are at left margin. * cleanup.c (pty_cleanup): Add missing declarations for retval and fd. Also, align preprocessor directives with left margin. Thu Aug 3 15:04:34 1995 Sam Hartman * configure.in: Check for vhangup and killpg. * cleanup.c (pty_cleanup): Kill the process group associated with the pty if using revoke. This won't always work, but will at least attempt to remove processes associated with the pty. Wed Aug 2 11:59:19 1995 Sam Hartman * init.c (pty_init): New file to handle initialization--currently only error tables. * getpty.c (pty_getpty): Reverse sense of logic tests so they work. Tue Aug 1 08:20:06 1995 Sam Hartman * cleanup.c (pty_cleanup): Allow pid to be zero (unknown). * pty-int.h: Define VHANG_FIRST and VHANG_LAST based on presence of vhangup. * pty_err.et: Define PTY_GETPTY_SLAVE_TOOLONG * getpty.c (pty_getpty): Close slave side if we call openpty. (pty_getpty): Take length parameter; return error if it isn't big enough. Tue Aug 1 12:06:14 1995 Ezra Peisach * open_ctty.c (pty_open_ctty): Fixed typo TIOCSTTY to TIOCSCTTY.