2005-04-05 Ken Raeburn <raeburn@mit.edu> * commands.c (shell): Change 0 to (char*)NULL in execl calls. Patch provided by Michael Calmer. 2005-03-28 Tom Yu <tlyu@mit.edu> * telnet.c (slc_add_reply, slc_end_reply): Fix buffer overflow vulnerability by checking lengths. (env_opt_add): Ensure buffer allocation is sufficiently large, accounting for expansion during IAC quoting. 2004-03-04 Ken Raeburn <raeburn@mit.edu> * configure.in: Deleted; configure this dir from parent now. * Makefile.in (thisconfigdir, mydir): Updated. (LIBS): Define from @TELNET_LIBS@. 2003-04-23 Ken Raeburn <raeburn@mit.edu> * externs.h: Don't declare errno. 2003-01-07 Ken Raeburn <raeburn@mit.edu> * Makefile.orig: Deleted. 2002-11-15 Ezra Peisach <epeisach@bu.edu> * sys_bsd.c: Moved declaration for susp() to type of file and provide prototype. * commands.c, externs.h, telnet.c, network.c: Add prototype declaration for command handler table dispatch functions. Make functions called consistant with prototype. Misc unsigned/signed cleanups. * authenc.c, main.c, utilities.c: Signed vs. unsigned cleanup. 2002-10-22 Ezra Peisach <epeisach@bu.edu> * configure.in: Autoconf 2.55 will not simply use cpp to test for header file existance - the header file must be compilable. This will mean that if one header depends on another, it must be included. Test for term.h using the optional fourth argument to AC_CHECK_HEADERS to specify include files to test. 2002-08-29 Ken Raeburn <raeburn@mit.edu> * Makefile.in: Revert $(S)=>/ change, for Windows support. 2002-08-23 Ken Raeburn <raeburn@mit.edu> * Makefile.in: Change $(S)=>/ and $(U)=>.. globally. 2002-04-12 Tom Yu <tlyu@mit.edu> * configure.in: Sepcial-case solaris+gcc to always find curses.h, since it fails to find it otherwise due to some macro redefinition warnings. 2002-03-26 Ken Raeburn <raeburn@mit.edu> * commands.c: Include fake-addrinfo.h, not fake-addrinfo.c. (FAI_PREFIX): Delete. 2001-10-09 Ken Raeburn <raeburn@mit.edu> * commands.c, externs.h, ring.h, telnet.c: Make prototypes unconditional. 2001-09-07 Ken Raeburn <raeburn@mit.edu> * commands.c (tn): Don't crash printing null hostname in case where supplied destination is a numeric address that doesn't map to a hostname. 2001-09-01 Ken Raeburn <raeburn@mit.edu> * Makefile.in (SRCS): Use $(srcdir). 2001-08-30 Ken Raeburn <raeburn@mit.edu> * commands.c: Include netdb.h and fake-addrinfo.c. (FAI_PREFIX): Define. (hostaddr): Deleted. (hostaddrstring): New static variable. (status): Use hostaddrstring instead of hostaddr. (tn): Use get{addr,name}info instead of gethostby{name,addr}, and attempt to connect to both IPv6 and IPv4 sockets. Add workarounds for GNU libc bugs. Fill in hostaddrstring with printable form of each net address. Source routing is still IPv4-only. * configure.in: Run KRB5_AC_INET6. 2001-08-29 Ken Raeburn <raeburn@mit.edu> * telnet.c (setupterm): Now static. (suboption): Rename local variable "ospeed" to "o_speed" to avoid conflict with global. (env_opt_add): Cast opt_welldefined argument to char * to silence warning. 2001-07-08 Ezra Peisach <epeisach@mit.edu> * configure.in: Add AC_HEADER_STDARG. * commands.c (call): Rewrite to use varargs/stdarg interface. 2001-07-06 Ezra Peisach <epeisach@mit.edu> * configure.in: Check if prototype needed for herror(). * commands.c (ayt_status): Add explict return type (void or int) depending on signal handler definition. Add prototype for herror if system does not provide one. 2001-07-02 Ezra Peisach <epeisach@mit.edu> * commands.c: Remove prototypes for EncryptAutoEnc(), EncryptAuthDec(), EcnryptDebug(), EncryptVerbose() as they exists in enc-proto.h in libtelnet. 2001-07-02 Ezra Peisach <epeisach@mit.edu> * commands.c: Declare sourceroute() static. 2001-07-01 Ezra Peisach <epeisach@mit.edu> * commands.c: Declare local functions static. * main.c: Declare usage() static. * ring.h: Provide full prototypes for ring_mark() and ring_clear_mark(). * sys_bsd.c: Declare signal handler and NetNonblockingIO static. * telnet.c: Declear gettermname() and mklist() static. Change local variable timeout to tmie_out to avoid shadowing curses header file. 2001-06-22 Ezra Peisach <epeisach@mit.edu> * commands.c (tn): Change sin to sin4 to not shadow global. * authenc.c (telnet_gets): Change local variable prompt to tprompt to not shadow global variable. 2001-06-21 Ezra Peisach <epeisach@mit.edu> * configure.in: Test for parsetos() prototype and presence of curses.h and term.h header files. * telnet.c: Include term.h and curses.h if present for setupterm() prototype. * main.c: Declare prototype for parsetos() if needed. 2001-06-19 Ezra Peisach <epeisach@mit.edu> * telnet.c (telrcv): Ensure variable set before use. 2001-06-18 Ezra Peisach <epeisach@mit.edu> * commands.c: Cast argument to isspace() to int. * telnet.c (mklist): Cast argument to islower()/toupper() to int. 2001-06-08 Ezra Peisach <epeisach@mit.edu> * main.c: Include unistd.h (if present) for getopt() prototype. 2001-06-07 Ezra Peisach <epeisach@mit.edu> * authenc.c (telnet_gets): Cleanup assignment in conditional. * commands.c: Include sys/wait.h, libtelent/auth.h, libtelnet/encrypt.h for prototypes. Explicity declare functions as returning int. Assignments in conditionals cleanup. * externs.h: Add numerous prototypes. * ring.c (ring_init): Explicitly declare as returning int. * ring.h: Add prototype for ring_at_mark(). * telnet.c: Include unistd.h, libtelnet/auth.h, libtelnet/encrypt.h for prototypes. Delcare is_unique() static. Fix up format string for sprintf() to expect longs. Assignments in conditionals cleaned up. * main.c, terminal.c: Include libtelnet/encrypt.h for prototype. * utilities.c: Include sys/socket.h, libtelent/auth.h, libtelnet/encrypt.h for prototypes. 2001-05-01 Ken Raeburn <raeburn@mit.edu> * telnet.c (telnet): Fix grammar in some error messages. Based on a patch from Garry Zacheiss. 2000-12-06 Ken Raeburn <raeburn@mit.edu> * commands.c (tn): Local var "user" should be volatile. * main.c (main): Local var "argp" should be volatile. 2000-11-01 Ezra Peisach <epeisach@mit.edu> * configure.in: Use AC_CHECK_HEADER and AC_FUNC_VFORK instead of AC_HEADER_CHECK and AC_VFORK. 2000-05-11 Nalin Dahyabhai <nalin@redhat.com> * commands.c (makeargv): Don't overflow buffer "saveline". (tn): Don't overflow buffer "_hostname". (cmdrc): Don't overflow buffer "m1save". * externs.h: Include the size of "tline", so that we can check for overflows elsewhere. * main.c(main, tn370): Don't overflow buffer "tline". * utilities.c (SetNetTrace): Don't overflow buffer "NetTraceFile". 2000-04-28 Nalin Dahyabhai <nalin@redhat.com> * commands.c (cmdrc): Don't overflow buffer "rcbuf". * tn3270.c (settranscom): Don't overflow buffer "transcom". 2000-02-24 Ezra Peisach <epeisach@mit.edu> * configure.in: Remove dependency on libdes425 when krb4 support is not compiled in. 2000-02-16 Ezra Peisach <epeisach@mit.edu> * commands.c: Move include of libtelnet/auth.h earlier to provide prototype for auth_cmd. 1999-10-26 Wilfredo Sanchez <tritan@mit.edu> * 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. 1999-07-26 Tom Yu <tlyu@mit.edu> * telnet.c (telnet): Fix typo in error message, via schwim@whatmore.Stanford.EDU 1999-04-13 <tytso@rsts-11.mit.edu> * configure.in: Check for setupterm() in libncurses in addition to libcurses. (Will be needed for Linux/Redhat 6.0) 1998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu> * Makefile.in: Set the myfulldir and mydir variables (which are relative to buildtop and thisconfigdir, respectively.) 1998-10-26 Marc Horowitz <marc@mit.edu> * commands.c: remove calls to setuid(getuid()). This looks like it was once an attempt to make it safe to run setuid, but it's not safe for a number of other reasons, so there's no reason to pretend. Sat Oct 10 06:24:55 1998 Geoffrey King <gjking@mit.edu> * telnet.c (telnet): Cosmetic change: Put a newline after "Waiting for encryption to be negotiated..." so that the response "[ Kerberos V5 accepts you as ``gjking@ATHENA.MIT.EDU'' ]" doesn't run off the end of the line. Mon Aug 17 04:32:08 1998 Geoffrey King <gjking@mit.edu> * main.c (main): Declare dst_realm_sz as extern int instead of extern char, to agree with its definition in libtelnet/kerberos.c. This was causing dst_realm_sz to be zero unexpectedly, and so strncpy was not copying the -k realm argument into dest_realm. [krb5-appl/616] Tue May 26 15:27:55 1998 Tom Yu <tlyu@mit.edu> * configure.in: Re-order check for setupterm to avoid lossage if setupterm is defined in libtermcap or libcurses. 1998-05-06 Theodore Ts'o <tytso@rsts-11.mit.edu> * main.c (main): POSIX states that getopt returns -1 when it is done parsing options, not EOF. * configure.in: Use standard autoconf test names. Change tests to define standard autoconf CPP macro names, not the non-standard HAS_GETTOS, etc. * main.c, commands.c: Use HAVE_GETTOSBYNAME instead of HAS_GETTOS * ring.c, externs.h: Use HAVE_SYS_FILIO_H instead of FILIO_H Wed Feb 18 15:38:05 1998 Tom Yu <tlyu@mit.edu> * Makefile.in: Remove trailing slash from thisconfigdir. Fix up BUILDTOP for new conventions. Mon Feb 2 17:02:29 1998 Theodore Ts'o <tytso@rsts-11.mit.edu> * Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile Wed Feb 12 15:23:36 1997 Tom Yu <tlyu@voltage-multiplier.mit.edu> * configure.in: Fix DES425_LIB... missed this in libhack_branch; prevents --without-krb4 from working for some odd reason, though comments says "fix post beta-6". Wed Feb 5 22:03:35 1997 Tom Yu <tlyu@mit.edu> * Makefile.in: * configure.in: Update to new program build procedure. Tue Nov 26 20:41:31 1996 Tom Yu <tlyu@voltage-multiplier.mit.edu> * configure.in: Check for apra/inet.h * commands.c: Remove explicit declaration of inet_addr, and declare INADDR_NONE to be 0xffffffff again, but mask off the lower 32 bits while doing the compare. Sat Nov 23 00:33:58 1996 Sam Hartman <hartmans@mit.edu> * commands.c (tn): Patch from mycroft@mit.edu for Alpha NetBSD. Comparing to -1 is not 64-bit clean. [233] (INADDR_NONE): Mycroft suggests using -1 not 0xffffffff if I have to define it ourselves. [233] Fri Nov 22 15:48:57 1996 unknown <bjaspan@mit.edu> * commands.c (sourceroute): use sizeof instead of h_length to determine number of bytes of addr to copy from DNS response [krb5-misc/211] Thu Nov 14 14:25:51 1996 Theodore Ts'o <tytso@rsts-11.mit.edu> * sys_bsd.c(intr): Added checks to intr_waiting and intr_happened to handle ^C while waiting for encryption negotiation. * telnet.c (telnet): Allow ^C to work while waiting for encryption negotiation to finish. [telnet/64] Sun Nov 10 17:34:40 1996 Sam Hartman <hartmans@mit.edu> * commands.c (tn): Reverse resolve address to deal with dialup pools [krb5-libs/170] (tn): Store IP and print in status; patch from jhawk. [113] Fri Nov 1 00:49:21 1996 Sam Hartman <hartmans@mit.edu> * main.c: Implement Type Of Service patch from jhawk. [57] Thu Oct 31 18:12:15 1996 Sam Hartman <hartmans@mit.edu> * main.c commands.c: Don't define OPTS_FORWARD* here; include libtelnet/auth.h to get them. * commands.c (forw_status): Integrate forward command from jik@cam.ov.com [45] Mon Oct 14 02:22:16 1996 Sam Hartman <hartmans@mit.edu> * commands.c (env_cmd): Print only' at correct times. Patch from jhawk. [ 75] Sat Sep 21 03:47:46 1996 Sam Hartman <hartmans@mit.edu> * telnet.c (telnet): Only support XDISPLOC if DISPLAY is supported, thanks to jik. * commands.c (tn): Save away arguments before memory used by other functions. Patch thanks to jik. (env_init): Cannonify DISPLAY; patch thanks to jik. * sys_bsd.c: Use POSIX_SIGNALS when available. This patch is contribued by jik. It could be cleaned up a bit to be more consistent with Kerberos style, but is functionally correct. Tue Sep 10 14:09:49 1996 Tom Yu <tlyu@mit.edu> * telnet.1: remove ".so man1/header.doc" * telnet.1: Update -x flag usage to reflect our behavior of dropping connection if encryption cannot be negotiated. Sat Jul 27 21:34:22 1996 Sam Hartman <hartmans@tertius.mit.edu> * telnet.c(setupterm): Only compile if setupterm not present in library; for Debian Linux and others, you get an endless loop because tcgetent is defined in terms of setupterm, and setupterm in telnet calls tcgetent. * configure.in : Check for setupterm Mon Jun 3 21:31:37 1996 Tom Yu <tlyu@mit.edu> * configure.in: Ezra's patches to allow compilation w/o krb4 support Mon Mar 18 20:31:44 1996 Theodore Y. Ts'o <tytso@dcl> * Makefile.in: Added flags to turn on the encryption option. * authenc.c (telnet_spin): Implemented the telnet spin function, which works by calling the Scheduler with the tty_lockout flag set. * main.c (main): If the -x option is given, set the autologin, wantencryption, and auth_enable_encrypt flag. They enable authentication, enforcement of the encryption option, and a flag to the auth layer to negotiate authentication with mandatory encryption option. * telnet.c (telnet): If the wantencryption flag is set (because the user has given the -x option, then we enforce that encryption must be turned on. The user will not be able to type to the network stream until encryption is enabled, and if encryption is refused, the client will print an error message. (Scheduler): If the tty_lockout flag is set, then don't process keyboard read events. This prevents the user from typing over the network until encryption is enabled. * utilities.c (printsub): Added print support for the authentication must-encrypt option. Sun Feb 25 20:32:57 1996 Sam Hartman <hartmans@tertius.mit.edu> * configure.in: Check for arpa/nameser.h * commands.c : use MAXDNAME as maximum length of a domain. Sun Nov 12 04:53:17 1995 Mark W. Eichin <eichin@cygnus.com> * main.c: initialize line (to avoid splitting up forward.c.) Mon Aug 7 19:39:36 1995 Theodore Y. Ts'o <tytso@dcl> * Makefile.in (SRCS): Add authenc.c to the SRCS list; authenc.o is in the OBJS list, after all. Fri Jul 7 15:49:55 EDT 1995 Paul Park (pjpark@mit.edu) * Makefile.in - Remove explicit library handling. * configure.in - Add USE_KRB4_LIBRARY and KRB5_LIBRARIES. Sun Jul 2 04:19:48 1995 Tom Yu <tlyu@lothlorien.MIT.EDU> * commands.c: rename setmode() and clearmode() to tel_setmode() and tel_clearmode() to avoid conflicts with setmode() defined in NetBSD unistd.h Tue Jun 20 14:10:26 1995 Tom Yu (tlyu@dragons-lair) * externs.h: NO_STRING_H -> HAVE_STRING_H * configure.in: add test for string.h Fri Jun 16 09:18:42 1995 Tom Yu (tlyu@dragons-lair) * Makefile.in: "install::" to shut up gmake Thu Jun 15 17:41:31 EDT 1995 Paul Park (pjpark@mit.edu) * Makefile.in - Change explicit library names to -l<lib> form, and change target link line to use $(LD) and associated flags. Also, remove DBMLIB, it was not used. * configure.in - Remove dbm library checks, these are no longer needed with the Berkeley database code. Also, add shared library usage check. Fri Jun 9 18:29:49 1995 <tytso@rsx-11.mit.edu> * configure.in: Remove standardized set of autoconf macros, which are now handled by CONFIG_RULES. Wed May 24 10:00:38 1995 Ezra Peisach <epeisach@kangaroo.mit.edu> * ring.c: Include string.h or strings.h * configure.in: Check for stdlib.h * externs.h: Include sys/param.h before redefining BSD Include stdlib.h or define malloc, realloc, calloc Fri Apr 28 18:07:03 1995 Mark Eichin <eichin@cygnus.com> * Makefile.in (KLIB): put KRB4_LIB inside KLIB. Thu Apr 27 13:56:12 1995 Mark Eichin <eichin@cygnus.com> * Makefile.in (telnet): use KRB4_LIB directly. * configure.in: use WITH_KRB4 as-is. Fri Apr 21 12:45:40 1995 Mark Eichin <eichin@cygnus.com> * main.c (main): Handle -k if KRB5 is defined. (from ian@cygnus.com) Wed Mar 29 15:39:02 1995 Theodore Y. Ts'o (tytso@dcl) * Makefile.in: Add dependency for libtelnet.a Tue Mar 7 19:59:07 1995 Mark Eichin <eichin@cygnus.com> * configure.in: take out ISODE_INCLUDE. Thu Mar 2 12:30:14 1995 Theodore Y. Ts'o <tytso@dcl> * Makefile.in (ISODELIB): Remove reference to $(ISODELIB). Wed Mar 1 16:25:34 1995 Theodore Y. Ts'o <tytso@dcl> * configure.in: Remove ISODE_INCLUDE and ISODE_DEFS, replace check for -lsocket and -lnsl with WITH_NETLIB check. Tue Feb 28 13:28:02 1995 Theodore Y. Ts'o <tytso@dcl> * Makefile.in (install): Add $(srcdir) to install line so that installs work correctly when the build tree != the source tree. Wed Jan 25 18:33:41 1995 Mark Eichin (eichin@cygnus.com) * telnet.1: refer to man1/tmac.doc. * tmac.doc: actually works with telnet. * Makefile.in (install): install tmac.doc. CLIENT_MANDIR had better be man1. Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu) * Added krb5_context to all krb5_routines Thu Dec 1 13:09:34 1994 <tytso@rsx-11.mit.edu> * externs.h: If USE_TERMIO is defined and SYSV_TERMIO isn't, then always #define termio to termios. * configure: Set K4LIBS correctly. Fri Nov 18 01:21:54 1994 Mark Eichin <eichin@cygnus.com> * Makefile.in (install): install telnet man page. (from Ted Lemon <mellon@ipd.wellsfargo.com>). Fri Nov 18 00:38:18 1994 Mark Eichin <eichin@cygnus.com> * configure.in (LIBS): use WITH_KRB4, CHECK_SIGNALS, and cache cc_t in termio.h check. (from epeisach) * Makefile.in (K4LIB): set to @K4LIB@ instead of explicit setting. (telnet): link with $(K4LIB). (from epeisach). Tue Nov 8 01:42:13 1994 Theodore Y. Ts'o (tytso@dcl) * commands.c (EncryptList): Fix spelling typo. Mon Nov 7 22:40:17 1994 Theodore Y. Ts'o (tytso@dcl) * commands.c (auth_cmd, encrypt_cmd): Print an error message if there are no arguments to "auth" or "encrypt", instead of core dumping. * commands.c (auth_enable, auth_disable): Change prototypes of these routines to be a char *. Mon Oct 3 13:28:04 1994 Theodore Y. Ts'o (tytso@dcl) * externs.h: The proper place to look for termios.h is <termios.h>, not <sys/termios.h>. Thu Sep 29 22:51:39 1994 Theodore Y. Ts'o (tytso@dcl) * Makefile.in: Relink executables if libraries change Tue Aug 16 18:07:54 1994 Mark Eichin (eichin@cygnus.com) * externs.h: don't hide termdata under defined(unix). * commands.c: ditto. Tue Aug 16 18:00:48 1994 Mark Eichin (eichin@cygnus.com) * configure.in: use AC_VFORK (runtime test -- consider just using fork instead.) * commands.c: check HAVE_VFORK_H. Tue Aug 9 04:02:28 1994 Mark Eichin (eichin@tess-turbo) * configure.in: test for -lsocket, -lnsl, POSIX_SIGNALS * sys_bsd.c: use POSIX_SIGNALS. * commands.c: don't use Berzerkely-style string functions. Sat Aug 6 18:05:42 1994 Mark Eichin (eichin@cygnus.com) * commands.c: in_systm.h is *not* broken on linux with 4.5 libc. Thu Aug 4 03:36:59 1994 Tom Yu (tlyu@dragons-lair) * Makefile.in: * configure.in: make install fixes Wed Jul 27 22:49:18 1994 Tom Yu (tlyu@dragons-lair) * configure.in: add check for dbm libs * commands.c: linux in_system.h (note "e") is broken Tue Jul 26 18:22:00 1994 Tom Yu (tlyu@dragons-lair) * Makefile.in: forgot some $(srcdir) stuff