[2616] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

krb5-build/327: Kerberos doesn't build on Unixware

daemon@ATHENA.MIT.EDU (Anthony J. Lill)
Tue Dec 31 00:13:04 1996

Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: tlyu@MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, ajlill@ajlc.waterloo.on.ca
Date: Tue, 31 Dec 1996 05:09:35 GMT
From: "Anthony J. Lill" <ajlill@ajlc.waterloo.on.ca>
Reply-To: ajlill@ajlc.waterloo.on.ca
To: krb5-bugs@MIT.EDU


>Number:         327
>Category:       krb5-build
>Synopsis:       Kerberos doesn't build on Unixware
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    tlyu
>State:          open
>Class:          sw-bug
>Submitter-Id:   unknown
>Arrival-Date:   Tue Dec 31 00:11:01 EST 1996
>Last-Modified:
>Originator:     Anthony J. Lill
>Organization:
Tony Lill,                         Tony.Lill@AJLC.Waterloo.ON.CA
President, A. J. Lill Consultants                 (519) 241 2461
539 Grand Valley Dr., Cambridge, Ont.    fax/data (519) 650 3571
--------------- http://www.ajlc.waterloo.on.ca/ ----------------
"Welcome to All Things UNIX, where if it's not UNIX, it's CRAP!"
>Release:        1.0
>Environment:
	All SVR4 except Solaris
System: UNIX_SV matrix 4.2MP 2.03 i386 x86at


>Description:
	1) The distributed code does not build or run on SVR4 sytems.
	2) If you telnet through an FWTK to a system that supports
NEW_ENVIRON, telnet hangs.
>How-To-Repeat:
	When you telnet, toggle options, and you will see the
following sequence:
telnet
> toggle options
>Fix:
	The following patch will make Kerberos compile and pass all tests
on Unixware 2.03, and work in day-to-day use. The bit in telnet
surrounded by #ifdef OLD_ENVIRON fixes the telnet bug.

cvs rdiff: Diffing bin/kerberos
Index: bin/kerberos/src/aclocal.m4
diff -c bin/kerberos/src/aclocal.m4:1.1.1.3 bin/kerberos/src/aclocal.m4:1.4
*** bin/kerberos/src/aclocal.m4:1.1.1.3	Thu Dec 26 18:51:50 1996
--- bin/kerberos/src/aclocal.m4	Mon Dec 30 22:49:05 1996
***************
*** 82,87 ****
--- 82,88 ----
  WITH_CPPOPTS dnl
  WITH_KRB4 dnl
  AC_CONST dnl
+ AC_CHECK_LIB(gen,syslog) dnl
  WITH_NETLIB dnl
  KRB_INCLUDE dnl
  AC_ARG_PROGRAM dnl
Index: bin/kerberos/src/configure.in
diff -c bin/kerberos/src/configure.in:1.1.1.3 bin/kerberos/src/configure.in:1.4
*** bin/kerberos/src/configure.in:1.1.1.3	Thu Dec 26 18:51:51 1996
--- bin/kerberos/src/configure.in	Mon Dec 30 22:49:06 1996
***************
*** 120,125 ****
--- 120,151 ----
  	krb5_cv_shlibs_run_libpath=no
  	krb5_cv_shlibs_run_rldroot=no
  	;;
+ i?86-*-sysv4*)
+ 	echo "Enabling shared libraries for SVR4...."
+ 	if test $krb5_cv_prog_gcc = yes; then
+ 		krb5_cv_shlibs_cflags=-fpic
+ 	else
+ 		krb5_cv_shlibs_cflags=-Kpic
+ 	fi
+ 	krb5_cv_shlibs_ext=so
+ 	krb5_cv_noshlibs_ext=a
+ 	krb5_cv_shlibs_versioned_filenames=yes
+ 	krb5_cv_shlibs_need_nover=yes
+ 	krb5_cv_shlibs_dir=shared
+ 	krb5_cv_shlibs_ldflag="-dy"
+ 	krb5_cv_noshlibs_ldflag="-dn"
+ 	krb5_cv_shlibs_sym_ufo="-u"
+ 	krb5_cv_shlibs_dirhead="-L"
+ 	krb5_cv_exe_need_dirs=yes
+ 	krb5_cv_shlibs_use_dirs=yes
+ 	krb5_cv_shlibs_use_colon_dirs=no
+ 	krb5_cv_shlibs_tail_comp=
+ 	krb5_cv_staticlibs_enabled=yes
+ 	krb5_cv_shlibs_enabled=yes
+ 	krb5_cv_shlibs_run_ldpath=default
+ 	krb5_cv_shlibs_run_libpath=no
+ 	krb5_cv_shlibs_run_rldroot=no
+ 	;;
  *-*-solaris*)
  	echo "Enabling shared libraries for Solaris...."
  	if test $krb5_cv_prog_gcc = yes; then
Index: bin/kerberos/src/appl/bsd/configure.in
diff -c bin/kerberos/src/appl/bsd/configure.in:1.1.1.3 bin/kerberos/src/appl/bsd/configure.in:1.4
*** bin/kerberos/src/appl/bsd/configure.in:1.1.1.3	Thu Dec 26 18:59:02 1996
--- bin/kerberos/src/appl/bsd/configure.in	Mon Dec 30 22:49:13 1996
***************
*** 82,88 ****
  AC_FUNC_CHECK(setpgid,AC_DEFINE(HAVE_SETPGID))
  AC_CHECK_HEADERS(unistd.h stdlib.h string.h sys/filio.h sys/sockio.h )
  AC_CHECK_HEADERS(sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h )
! AC_CHECK_HEADERS(sys/ptyvar.h utmp.h sys/time.h)
  AC_HEADER_STDARG
  AC_REPLACE_FUNCS(getdtablesize)
  KRB5_SIGTYPE
--- 82,88 ----
  AC_FUNC_CHECK(setpgid,AC_DEFINE(HAVE_SETPGID))
  AC_CHECK_HEADERS(unistd.h stdlib.h string.h sys/filio.h sys/sockio.h )
  AC_CHECK_HEADERS(sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h )
! AC_CHECK_HEADERS(sys/ptyvar.h utmp.h utmpx.h sys/time.h sys/ttold.h)
  AC_HEADER_STDARG
  AC_REPLACE_FUNCS(getdtablesize)
  KRB5_SIGTYPE
Index: bin/kerberos/src/appl/bsd/krlogin.c
diff -c bin/kerberos/src/appl/bsd/krlogin.c:1.1.1.3 bin/kerberos/src/appl/bsd/krlogin.c:1.4
*** bin/kerberos/src/appl/bsd/krlogin.c:1.1.1.3	Thu Dec 26 18:59:07 1996
--- bin/kerberos/src/appl/bsd/krlogin.c	Mon Dec 30 22:49:14 1996
***************
*** 42,48 ****
--- 42,50 ----
  
  #include <sys/types.h>
  #include <sys/param.h>
+ #ifndef POSIX_TERMIOS
  #include <sys/ioctl.h>
+ #endif
  #include <sys/errno.h>
  #include <sys/file.h>
  #include <sys/socket.h>
***************
*** 71,76 ****
--- 73,82 ----
  #include <sys/time.h>
  #endif
  
+ #ifdef HAVE_SYS_TTOLD_H
+ #include <sys/ttold.h>
+ #endif
+ 
  #ifdef POSIX_TERMIOS
  #include <termios.h>
  #ifndef CNUL
***************
*** 101,107 ****
  #ifdef HAVE_STREAMS
  #ifdef HAVE_SYS_PTYVAR_H
  #include <sys/tty.h>
- #include <sys/ttold.h>
  /* solaris actually uses packet mode, so the real macros are needed too */
  #include <sys/ptyvar.h>
  #endif
--- 107,112 ----
Index: bin/kerberos/src/appl/bsd/krlogind.c
diff -c bin/kerberos/src/appl/bsd/krlogind.c:1.1.1.3 bin/kerberos/src/appl/bsd/krlogind.c:1.4
*** bin/kerberos/src/appl/bsd/krlogind.c:1.1.1.3	Thu Dec 26 18:59:08 1996
--- bin/kerberos/src/appl/bsd/krlogind.c	Mon Dec 30 22:49:15 1996
***************
*** 106,112 ****
--- 106,114 ----
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/socket.h>
+ #if !defined(POSIX_TERMIOS) || defined(ultrix)
  #include <sys/ioctl.h>
+ #endif
  #include <sys/wait.h>
  #include <sys/file.h>
  #include <sys/time.h>
Index: bin/kerberos/src/appl/bsd/krshd.c
diff -c bin/kerberos/src/appl/bsd/krshd.c:1.1.1.2 bin/kerberos/src/appl/bsd/krshd.c:1.3
*** bin/kerberos/src/appl/bsd/krshd.c:1.1.1.2	Thu Dec 26 18:59:11 1996
--- bin/kerberos/src/appl/bsd/krshd.c	Mon Dec 30 22:49:17 1996
***************
*** 85,91 ****
--- 85,93 ----
  #endif
  
  #include <sys/types.h>
+ #ifndef POSIX_TERMIOS
  #include <sys/ioctl.h>
+ #endif
  #include <sys/param.h>
  #include <sys/socket.h>
  #include <sys/file.h>
Index: bin/kerberos/src/appl/bsd/login.c
diff -c bin/kerberos/src/appl/bsd/login.c:1.1.1.3 bin/kerberos/src/appl/bsd/login.c:1.4
*** bin/kerberos/src/appl/bsd/login.c:1.1.1.3	Thu Dec 26 18:59:13 1996
--- bin/kerberos/src/appl/bsd/login.c	Mon Dec 30 22:49:18 1996
***************
*** 94,100 ****
--- 94,102 ----
  #include <sys/time.h>
  #include <sys/resource.h>
  #include <sys/file.h>
+ #ifndef POSIX_TERMIOS
  #include <sys/ioctl.h>
+ #endif
  #include <fcntl.h>
  
  #include <utmp.h>
cvs rdiff: Diffing bin/kerberos/src/appl/gss-sample
cvs rdiff: Diffing bin/kerberos/src/appl/gssftp
cvs rdiff: Diffing bin/kerberos/src/appl/gssftp/arpa
cvs rdiff: Diffing bin/kerberos/src/appl/gssftp/ftp
Index: bin/kerberos/src/appl/gssftp/ftp/ftp.c
diff -c bin/kerberos/src/appl/gssftp/ftp/ftp.c:1.1.1.3 bin/kerberos/src/appl/gssftp/ftp/ftp.c:1.4
*** bin/kerberos/src/appl/gssftp/ftp/ftp.c:1.1.1.3	Thu Dec 26 18:59:32 1996
--- bin/kerberos/src/appl/gssftp/ftp/ftp.c	Mon Dec 30 22:49:21 1996
***************
*** 131,136 ****
--- 131,140 ----
  FILE	*cin, *cout;
  FILE	*dataconn();
  
+ #ifndef MAXHOSTNAMELEN
+ #define MAXHOSTNAMELEN 512
+ #endif
+ 
  char *
  hookup(host, port)
  	char *host;
cvs rdiff: Diffing bin/kerberos/src/appl/gssftp/ftpd
Index: bin/kerberos/src/appl/gssftp/ftpd/ftpd.c
diff -c bin/kerberos/src/appl/gssftp/ftpd/ftpd.c:1.1.1.3 bin/kerberos/src/appl/gssftp/ftpd/ftpd.c:1.4
*** bin/kerberos/src/appl/gssftp/ftpd/ftpd.c:1.1.1.3	Thu Dec 26 18:59:42 1996
--- bin/kerberos/src/appl/gssftp/ftpd/ftpd.c	Mon Dec 30 22:49:24 1996
***************
*** 181,186 ****
--- 181,190 ----
  #undef CMASK
  #define CMASK 027
  #endif
+ #ifndef MAXHOSTNAMELEN
+ #define MAXHOSTNAMELEN 512
+ #endif
+ 
  int	defumask = CMASK;		/* default umask value */
  char	tmpline[FTP_BUFSIZ];
  char	hostname[MAXHOSTNAMELEN];
cvs rdiff: Diffing bin/kerberos/src/appl/mailquery
cvs rdiff: Diffing bin/kerberos/src/appl/movemail
cvs rdiff: Diffing bin/kerberos/src/appl/popper
Index: bin/kerberos/src/appl/telnet/telnet/commands.c
diff -c bin/kerberos/src/appl/telnet/telnet/commands.c:1.1.1.2 bin/kerberos/src/appl/telnet/telnet/commands.c:1.3
*** bin/kerberos/src/appl/telnet/telnet/commands.c:1.1.1.2	Thu Dec 26 19:00:31 1996
--- bin/kerberos/src/appl/telnet/telnet/commands.c	Mon Dec 30 22:49:35 1996
***************
*** 2742,2749 ****
  	putchar('\n');
  #if	defined(unix)
      } else {
! 	(void) signal(SIGINT, SIG_DFL);
! 	(void) signal(SIGQUIT, SIG_DFL);
  #endif	/* defined(unix) */
      }
      for (;;) {
--- 2742,2749 ----
  	putchar('\n');
  #if	defined(unix)
      } else {
! 	(void) SIGNAL(SIGINT, SIG_DFL);
! 	(void) SIGNAL(SIGQUIT, SIG_DFL);
  #endif	/* defined(unix) */
      }
      for (;;) {
Index: bin/kerberos/src/appl/telnet/telnet/defines.h
diff -c bin/kerberos/src/appl/telnet/telnet/defines.h:1.1.1.1 bin/kerberos/src/appl/telnet/telnet/defines.h:1.2
*** bin/kerberos/src/appl/telnet/telnet/defines.h:1.1.1.1	Mon Jun 10 17:41:51 1996
--- bin/kerberos/src/appl/telnet/telnet/defines.h	Thu Dec 26 17:52:33 1996
***************
*** 59,61 ****
--- 59,67 ----
  #define	MODE_COMMAND_LINE(m)	((m)==-1)
  
  #define	CONTROL(x)	((x)&0x1f)		/* CTRL(x) is not portable */
+ 
+ #ifdef POSIX_SIGNALS
+ #define SIGNAL(a,b) bsd_signal(a,b)
+ #else
+ #define SIGNAL(a,b) signal(a,b)
+ #endif
Index: bin/kerberos/src/appl/telnet/telnet/sys_bsd.c
diff -c bin/kerberos/src/appl/telnet/telnet/sys_bsd.c:1.1.1.2 bin/kerberos/src/appl/telnet/telnet/sys_bsd.c:1.3
*** bin/kerberos/src/appl/telnet/telnet/sys_bsd.c:1.1.1.2	Thu Dec 26 19:00:37 1996
--- bin/kerberos/src/appl/telnet/telnet/sys_bsd.c	Mon Dec 30 22:49:37 1996
***************
*** 646,655 ****
  #endif
  
  #ifdef	SIGTSTP
! 	(void) signal(SIGTSTP, susp);
  #endif	/* SIGTSTP */
  #ifdef	SIGINFO
! 	(void) signal(SIGINFO, ayt);
  #endif
  #if	defined(USE_TERMIO) && defined(NOKERNINFO)
  	tmp_tc.c_lflag |= NOKERNINFO;
--- 646,655 ----
  #endif
  
  #ifdef	SIGTSTP
! 	(void) SIGNAL(SIGTSTP, susp);
  #endif	/* SIGTSTP */
  #ifdef	SIGINFO
! 	(void) SIGNAL(SIGINFO, ayt);
  #endif
  #if	defined(USE_TERMIO) && defined(NOKERNINFO)
  	tmp_tc.c_lflag |= NOKERNINFO;
***************
*** 693,702 ****
  #ifdef	SIGINFO
  	SIG_FUNC_RET ayt_status();
  
! 	(void) signal(SIGINFO, ayt_status);
  #endif
  #ifdef	SIGTSTP
! 	(void) signal(SIGTSTP, SIG_DFL);
  #ifdef POSIX_SIGNALS
  	{
  	  sigset_t tmask;
--- 693,702 ----
  #ifdef	SIGINFO
  	SIG_FUNC_RET ayt_status();
  
! 	(void) SIGNAL(SIGINFO, ayt_status);
  #endif
  #ifdef	SIGTSTP
! 	(void) SIGNAL(SIGTSTP, SIG_DFL);
  #ifdef POSIX_SIGNALS
  	{
  	  sigset_t tmask;
***************
*** 933,949 ****
      void
  sys_telnet_init()
  {
!     (void) signal(SIGINT, intr);
!     (void) signal(SIGQUIT, intr2);
!     (void) signal(SIGPIPE, deadpeer);
  #ifdef	SIGWINCH
!     (void) signal(SIGWINCH, sendwin);
  #endif
  #ifdef	SIGTSTP
!     (void) signal(SIGTSTP, susp);
  #endif
  #ifdef	SIGINFO
!     (void) signal(SIGINFO, ayt);
  #endif
  
      setconnmode(0);
--- 933,949 ----
      void
  sys_telnet_init()
  {
!     (void) SIGNAL(SIGINT, intr);
!     (void) SIGNAL(SIGQUIT, intr2);
!     (void) SIGNAL(SIGPIPE, deadpeer);
  #ifdef	SIGWINCH
!     (void) SIGNAL(SIGWINCH, sendwin);
  #endif
  #ifdef	SIGTSTP
!     (void) SIGNAL(SIGTSTP, susp);
  #endif
  #ifdef	SIGINFO
!     (void) SIGNAL(SIGINFO, ayt);
  #endif
  
      setconnmode(0);
***************
*** 1209,1211 ****
--- 1209,1227 ----
  
      return returnValue;
  }
+ 
+ #ifdef POSIX_SIGNALS
+ int bsd_signal( int sig, void (*func)(int) )
+ {
+     struct sigaction act, oact;
+     sigset_t set;
+ 
+     act.sa_handler = func;
+     sigemptyset(&act.sa_mask);
+     act.sa_flags = SA_RESTART;
+     if( sigaction(sig,&act,&oact) < 0 ) 
+ 	return(-1);
+     else
+ 	return(oact.sa_handler);
+ }
+ #endif
Index: bin/kerberos/src/appl/telnet/telnet/telnet.c
diff -c bin/kerberos/src/appl/telnet/telnet/telnet.c:1.1.1.3 bin/kerberos/src/appl/telnet/telnet/telnet.c:1.3
*** bin/kerberos/src/appl/telnet/telnet/telnet.c:1.1.1.3	Thu Dec 26 19:00:41 1996
--- bin/kerberos/src/appl/telnet/telnet/telnet.c	Mon Dec 30 22:49:38 1996
***************
*** 565,570 ****
--- 565,577 ----
  		slc_init();
  		send_do(TELOPT_SGA, 0);
  		return;
+ #ifdef OLD_ENVIRON
+ 	    case TELOPT_OLD_ENVIRON:	/* Old environment variable option */
+ 		if (my_state_is_will(TELOPT_NEW_ENVIRON)) {
+ 			send_wont(TELOPT_OLD_ENVIRON, 0); /* turn off the old */
+ 			return;		/* Don't enable if new one is in use! */
+ 		}
+ #endif
  	    }
  	  }
  	}
***************
*** 2204,2210 ****
  #   if defined(TN3270) && defined(unix)
      if (HaveInput) {
  	HaveInput = 0;
! 	(void) signal(SIGIO, inputAvailable);
      }
  #endif	/* defined(TN3270) && defined(unix) */
  
--- 2211,2217 ----
  #   if defined(TN3270) && defined(unix)
      if (HaveInput) {
  	HaveInput = 0;
! 	(void) SIGNAL(SIGIO, inputAvailable);
      }
  #endif	/* defined(TN3270) && defined(unix) */
  
cvs rdiff: Diffing bin/kerberos/src/appl/telnet/telnetd
Index: bin/kerberos/src/appl/telnet/telnetd/sys_term.c
diff -c bin/kerberos/src/appl/telnet/telnetd/sys_term.c:1.1.1.2 bin/kerberos/src/appl/telnet/telnetd/sys_term.c:1.3
*** bin/kerberos/src/appl/telnet/telnetd/sys_term.c:1.1.1.2	Sun Sep 15 14:10:00 1996
--- bin/kerberos/src/appl/telnet/telnetd/sys_term.c	Thu Dec 26 17:52:37 1996
***************
*** 211,217 ****
  	termbuf2 = termbuf;
  }
  
! #if	defined(LINEMODE) && defined(TIOCPKT_IOCTL)
  	void
  copy_termbuf(cp, len)
  	char *cp;
--- 211,217 ----
  	termbuf2 = termbuf;
  }
  
! #if	defined(LINEMODE) && (defined(TIOCPKT_IOCTL) || defined(M_IOCTL))
  	void
  copy_termbuf(cp, len)
  	char *cp;
Index: bin/kerberos/src/appl/telnet/telnetd/telnetd.c
diff -c bin/kerberos/src/appl/telnet/telnetd/telnetd.c:1.1.1.3 bin/kerberos/src/appl/telnet/telnetd/telnetd.c:1.4
*** bin/kerberos/src/appl/telnet/telnetd/telnetd.c:1.1.1.3	Thu Dec 26 19:00:53 1996
--- bin/kerberos/src/appl/telnet/telnetd/telnetd.c	Mon Dec 30 22:49:41 1996
***************
*** 39,44 ****
--- 39,45 ----
  
  /* based on @(#)telnetd.c	8.1 (Berkeley) 6/4/93 */
  
+ #define _KMEMUSER 1
  #include "telnetd.h"
  #include "pathnames.h"
  
***************
*** 1386,1398 ****
--- 1387,1407 ----
  				/*
  				 * If ioctl from pty, pass it through net
  				 */
+ #ifdef TIOCPKT_IOCTL
  				if (ptyibuf[0] & TIOCPKT_IOCTL) {
+ #else
+ 				if (ptyibuf[0] == M_IOCTL) {
+ #endif
  					copy_termbuf(ptyibuf+1, pcc-1);
  					localstat();
  					pcc = 1;
  				}
  #endif	/* LINEMODE */
+ #ifdef TIOCPKT_FLUSHWRITE
  				if (ptyibuf[0] & TIOCPKT_FLUSHWRITE) {
+ #else
+ 				if ((unsigned char)ptyibuf[0] == M_FLUSH) {
+ #endif
  					netclear();	/* clear buffer back */
  #ifndef	NO_URGENT
  					/*
***************
*** 1407,1416 ****
--- 1416,1432 ----
  #endif
  				}
  				if (his_state_is_will(TELOPT_LFLOW) &&
+ #ifdef TIOCPKT_NOSTOP
  				    (ptyibuf[0] &
  				     (TIOCPKT_NOSTOP|TIOCPKT_DOSTOP))) {
  					int newflow =
  					    ptyibuf[0] & TIOCPKT_DOSTOP ? 1 : 0;
+ #else
+ 				    ((unsigned char)ptyibuf[0] == M_STOP || (unsigned char)ptyibuf[0]
+ 				     == M_START)) {
+ 					int newflow =
+ 					    (unsigned char)ptyibuf[0] == M_STOP ? 1 : 0;
+ #endif
  					if (newflow != flowmode) {
  						flowmode = newflow;
  						(void) sprintf(nfrontp,
***************
*** 1532,1538 ****
--- 1548,1558 ----
  	switch (ctlbuf[0]) {
  	case M_FLUSH:
  		if (ibuf[1] & FLUSHW)
+ #ifdef TIOCPKT_FLUSHWRITE
  			ibuf[0] = TIOCPKT_FLUSHWRITE;
+ #else
+ 			ibuf[0] = M_FLUSH;
+ #endif
  		return(1);
  
  	case M_IOCTL:
***************
*** 1549,1555 ****
--- 1569,1579 ----
  		newflow =  (ixon && (vstart == 021) && (vstop == 023)) ? 1 : 0;
  		if (newflow != flowison) {  /* it's a change */
  			flowison = newflow;
+ #ifdef TIOCPKT_DOSTOP
  			ibuf[0] = newflow ? TIOCPKT_DOSTOP : TIOCPKT_NOSTOP;
+ #else
+ 			ibuf[0] = newflow ? M_STOP : M_START;
+ #endif
  			return(1);
  		}
  	}
Index: bin/kerberos/src/appl/telnet/telnetd/termio-tn.c
diff -c bin/kerberos/src/appl/telnet/telnetd/termio-tn.c:1.1.1.1 bin/kerberos/src/appl/telnet/telnetd/termio-tn.c:1.2
*** bin/kerberos/src/appl/telnet/telnetd/termio-tn.c:1.1.1.1	Mon Jun 10 17:42:00 1996
--- bin/kerberos/src/appl/telnet/telnetd/termio-tn.c	Tue Sep 10 13:05:37 1996
***************
*** 1,6 ****
--- 1,7 ----
  /* handle having mutually exclusive termio vs. termios */
  /* return 0 if handled */
  #ifdef	STREAMSPTY
+ #define _KMEMUSER 1
  #include <sys/types.h>
  #include <sys/stream.h>
  #include <sys/ioctl.h>
Index: bin/kerberos/src/appl/telnet/telnetd/termios-tn.c
diff -c bin/kerberos/src/appl/telnet/telnetd/termios-tn.c:1.1.1.1 bin/kerberos/src/appl/telnet/telnetd/termios-tn.c:1.2
*** bin/kerberos/src/appl/telnet/telnetd/termios-tn.c:1.1.1.1	Mon Jun 10 17:42:00 1996
--- bin/kerberos/src/appl/telnet/telnetd/termios-tn.c	Tue Sep 10 13:05:38 1996
***************
*** 1,6 ****
--- 1,7 ----
  /* handle having mutually exclusive termio vs. termios */
  /* return 0 if handled */
  #ifdef	STREAMSPTY
+ #define _KMEMUSER
  #include <sys/types.h>
  #include <sys/stream.h>
  #include <sys/ioctl.h>
cvs rdiff: Diffing bin/kerberos/src/appl/user_user
cvs rdiff: Diffing bin/kerberos/src/appl/zmailnotify
cvs rdiff: Diffing bin/kerberos/src/clients
cvs rdiff: Diffing bin/kerberos/src/clients/kdestroy
cvs rdiff: Diffing bin/kerberos/src/clients/kinit
cvs rdiff: Diffing bin/kerberos/src/clients/klist
cvs rdiff: Diffing bin/kerberos/src/clients/ksu
cvs rdiff: Diffing bin/kerberos/src/config
cvs rdiff: Diffing bin/kerberos/src/config/doc
cvs rdiff: Diffing bin/kerberos/src/config-files
cvs rdiff: Diffing bin/kerberos/src/gen-manpages
cvs rdiff: Diffing bin/kerberos/src/include
Index: bin/kerberos/src/include/k5-int.h
diff -c bin/kerberos/src/include/k5-int.h:1.1.1.3 bin/kerberos/src/include/k5-int.h:1.4
*** bin/kerberos/src/include/k5-int.h:1.1.1.3	Thu Dec 26 19:01:41 1996
--- bin/kerberos/src/include/k5-int.h	Mon Dec 30 22:49:43 1996
***************
*** 118,126 ****
  #define INI_KRB_CCACHE  "krb5cc"       /* Location of the ccache */
  #define INI_KRB5_CONF   "krb5.ini"		/* Location of krb5.conf file */
  
- #define MAXHOSTNAMELEN  512
- #define MAXPATHLEN      256            /* Also for Windows temp files */
- 
  #define KRB5_USE_INET
  #define MSDOS_FILESYSTEM
  #define USE_STRING_H 
--- 118,123 ----
***************
*** 637,642 ****
--- 634,646 ----
  #include <sys/file.h>			/* prototypes for file-related
  					   syscalls; flags for open &
  					   friends */
+ #endif
+ 
+ #ifndef MAXHOSTNAMELEN
+ #define MAXHOSTNAMELEN  512
+ #endif
+ #ifndef MAXPATHLEN
+ #define MAXPATHLEN      2048            /* Also for Windows temp files */
  #endif
  
  #include <fcntl.h>
cvs rdiff: Diffing bin/kerberos/src/include/kerberosIV
Index: bin/kerberos/src/include/kerberosIV/krb.h
diff -c bin/kerberos/src/include/kerberosIV/krb.h:1.1.1.1 bin/kerberos/src/include/kerberosIV/krb.h:1.2
*** bin/kerberos/src/include/kerberosIV/krb.h:1.1.1.1	Mon Jun 10 17:42:17 1996
--- bin/kerberos/src/include/kerberosIV/krb.h	Tue Sep 10 13:05:44 1996
***************
*** 426,431 ****
--- 426,436 ----
  #include <time.h>		/* For localtime, etc */
  #endif
  #endif
+ 
+ #ifndef MAXHOSTNAMELEN
+ #define MAXHOSTNAMELEN  512
+ #endif
+ 
  /*
   * Compatability with WinSock calls on MS-Windows...
   */
cvs rdiff: Diffing bin/kerberos/src/include/krb5
Index: bin/kerberos/src/lib/crypto/sha/configure.in
diff -c bin/kerberos/src/lib/crypto/sha/configure.in:1.1.1.2 bin/kerberos/src/lib/crypto/sha/configure.in:1.3
*** bin/kerberos/src/lib/crypto/sha/configure.in:1.1.1.2	Sun Sep 15 14:01:54 1996
--- bin/kerberos/src/lib/crypto/sha/configure.in	Thu Dec 26 17:53:14 1996
***************
*** 1,5 ****
--- 1,6 ----
  AC_INIT(configure.in)
  CONFIG_RULES
+ AC_C_BIGENDIAN
  dnl AC_DEFINE(NEW_SHS)
  V5_SHARED_LIB_OBJS
  AC_CHECK_HEADERS(sys/types.h)
Index: bin/kerberos/src/lib/crypto/sha/shs.c
diff -c bin/kerberos/src/lib/crypto/sha/shs.c:1.1.1.2 bin/kerberos/src/lib/crypto/sha/shs.c:1.3
*** bin/kerberos/src/lib/crypto/sha/shs.c:1.1.1.2	Sun Sep 15 14:01:56 1996
--- bin/kerberos/src/lib/crypto/sha/shs.c	Thu Dec 26 17:53:14 1996
***************
*** 215,220 ****
--- 215,221 ----
  
  void longReverse( LONG *buffer, int byteCount )
  {
+ #ifndef WORDS_BIGENDIAN
      LONG value;
      static int init = 0;
      char *cp;
***************
*** 240,245 ****
--- 241,247 ----
                  ( ( value & 0x00FF00FFL ) << 8 );
          *buffer++ = ( value << 16 ) | ( value >> 16 );
      }
+ #endif
  }
  
  /* Update SHS for a block of data */
cvs rdiff: Diffing bin/kerberos/src/lib/des425
cvs rdiff: Diffing bin/kerberos/src/lib/gssapi
cvs rdiff: Diffing bin/kerberos/src/lib/gssapi/generic
Index: bin/kerberos/src/lib/rpc/clnt_udp.c
diff -c bin/kerberos/src/lib/rpc/clnt_udp.c:1.1.1.2 bin/kerberos/src/lib/rpc/clnt_udp.c:1.3
*** bin/kerberos/src/lib/rpc/clnt_udp.c:1.1.1.2	Thu Dec 26 18:55:54 1996
--- bin/kerberos/src/lib/rpc/clnt_udp.c	Mon Dec 30 22:50:16 1996
***************
*** 47,52 ****
--- 47,57 ----
  #include <netdb.h>
  #include <errno.h>
  #include <rpc/pmap_clnt.h>
+ #ifndef FIONBIO
+ #include <sys/fcntl.h>
+ #include <unistd.h>
+ #endif
+ 
  
  extern int errno;
  
***************
*** 178,184 ****
--- 183,193 ----
  		/* attempt to bind to prov port */
  		(void)bindresvport(*sockp, (struct sockaddr_in *)0);
  		/* the sockets rpc controls are non-blocking */
+ #ifdef FIONBIO
  		(void)ioctl(*sockp, FIONBIO, (char *) &dontblock);
+ #else
+ 		(void)fcntl(*sockp, F_SETFL, O_NONBLOCK);
+ #endif
  		cu->cu_closeit = TRUE;
  	} else {
  		cu->cu_closeit = FALSE;
Index: bin/kerberos/src/lib/rpc/configure.in
diff -c bin/kerberos/src/lib/rpc/configure.in:1.1.1.2 bin/kerberos/src/lib/rpc/configure.in:1.3
*** bin/kerberos/src/lib/rpc/configure.in:1.1.1.2	Thu Dec 26 18:55:55 1996
--- bin/kerberos/src/lib/rpc/configure.in	Mon Dec 30 22:50:18 1996
***************
*** 6,11 ****
--- 6,12 ----
  AC_PROG_ARCHIVE_ADD
  AC_PROG_RANLIB
  AC_PROG_INSTALL
+ AC_HAVE_HEADERS(sys/sockio.h)
  dnl Arrange for types.hin to include stdlib.h
  AC_CHECK_HEADER(stdlib.h, [
       STDLIB_INCLUDE="#include <stdlib.h>"],
Index: bin/kerberos/src/lib/rpc/get_myaddress.c
diff -c bin/kerberos/src/lib/rpc/get_myaddress.c:1.1.1.2 bin/kerberos/src/lib/rpc/get_myaddress.c:1.3
*** bin/kerberos/src/lib/rpc/get_myaddress.c:1.1.1.2	Thu Dec 26 18:55:55 1996
--- bin/kerberos/src/lib/rpc/get_myaddress.c	Mon Dec 30 22:50:19 1996
***************
*** 81,87 ****
  #include <rpc/types.h>
  #include <rpc/pmap_prot.h>
  #include <sys/socket.h>
! #if defined(sun)
  #include <sys/sockio.h>
  #endif
  #include <stdio.h>
--- 81,87 ----
  #include <rpc/types.h>
  #include <rpc/pmap_prot.h>
  #include <sys/socket.h>
! #ifdef HAVE_SYS_SOCKIO_H
  #include <sys/sockio.h>
  #endif
  #include <stdio.h>
Index: bin/kerberos/src/lib/rpc/pmap_rmt.c
diff -c bin/kerberos/src/lib/rpc/pmap_rmt.c:1.1.1.2 bin/kerberos/src/lib/rpc/pmap_rmt.c:1.3
*** bin/kerberos/src/lib/rpc/pmap_rmt.c:1.1.1.2	Thu Dec 26 18:56:01 1996
--- bin/kerberos/src/lib/rpc/pmap_rmt.c	Mon Dec 30 22:50:20 1996
***************
*** 44,50 ****
  #include <rpc/pmap_clnt.h>
  #include <rpc/pmap_rmt.h>
  #include <sys/socket.h>
! #ifdef sun
  #include <sys/sockio.h>
  #endif
  #include <stdio.h>
--- 44,50 ----
  #include <rpc/pmap_clnt.h>
  #include <rpc/pmap_rmt.h>
  #include <sys/socket.h>
! #ifdef HAVE_SYS_SOCKIO_H
  #include <sys/sockio.h>
  #endif
  #include <stdio.h>
cvs rdiff: Diffing bin/kerberos/src/lib/rpc/unit-test
Index: bin/kerberos/src/tests/dejagnu/krb-root/telnet.exp
diff -c bin/kerberos/src/tests/dejagnu/krb-root/telnet.exp:1.1.1.2 bin/kerberos/src/tests/dejagnu/krb-root/telnet.exp:1.2
*** bin/kerberos/src/tests/dejagnu/krb-root/telnet.exp:1.1.1.2	Thu Dec 26 19:04:50 1996
--- bin/kerberos/src/tests/dejagnu/krb-root/telnet.exp	Mon Dec 30 22:50:33 1996
***************
*** 63,69 ****
      # we don't need to use inetd.  The 3023 is the port to listen at.
      # Note that tmppwd here is a shell variable, which is set in
      # setup_root_shell, not a TCL variable.
!     send -i $rlogin_spawn_id "sh -c \"$TELNETD -debug -t \$tmppwd/srvtab -R $REALMNAME -L $tmppwd/login.wrap -X KERBEROS_V4 3023\" &\r"
      expect {
  	-i $rlogin_spawn_id 
  	-re "$ROOT_PROMPT" { }
--- 63,69 ----
      # we don't need to use inetd.  The 3023 is the port to listen at.
      # Note that tmppwd here is a shell variable, which is set in
      # setup_root_shell, not a TCL variable.
!     send -i $rlogin_spawn_id "$TELNETD -debug -t \$tmppwd/srvtab -R $REALMNAME -L $tmppwd/login.wrap -X KERBEROS_V4 3023 &\r"
      expect {
  	-i $rlogin_spawn_id 
  	-re "$ROOT_PROMPT" { }
***************
*** 381,387 ****
  # Run the test.  Logging in sometimes takes a while, so increase the
  # timeout.
  set oldtimeout $timeout
! set timeout 60
  set status [catch telnet_test msg]
  set timeout $oldtimeout
  
--- 381,387 ----
  # Run the test.  Logging in sometimes takes a while, so increase the
  # timeout.
  set oldtimeout $timeout
! set timeout 120
  set status [catch telnet_test msg]
  set timeout $oldtimeout
  
cvs rdiff: Diffing bin/kerberos/src/tests/dejagnu/krb-standalone
cvs rdiff: Diffing bin/kerberos/src/tests/gssapi
cvs rdiff: Diffing bin/kerberos/src/tests/hammer
cvs rdiff: Diffing bin/kerberos/src/tests/misc
cvs rdiff: Diffing bin/kerberos/src/tests/resolve
Index: bin/kerberos/src/tests/resolve/resolve.c
diff -c bin/kerberos/src/tests/resolve/resolve.c:1.1.1.1 bin/kerberos/src/tests/resolve/resolve.c:1.2
*** bin/kerberos/src/tests/resolve/resolve.c:1.1.1.1	Mon Jun 10 17:42:55 1996
--- bin/kerberos/src/tests/resolve/resolve.c	Tue Sep 10 13:05:52 1996
***************
*** 59,64 ****
--- 59,68 ----
  
  #include <netdb.h>
  
+ #ifndef MAXHOSTNAMELEN
+ #define MAXHOSTNAMELEN 512
+ #endif
+ 
  int
  main(argc, argv)
       int argc;
cvs rdiff: Diffing bin/kerberos/src/tests/verify
cvs rdiff: Diffing bin/kerberos/src/util
Index: bin/kerberos/src/util/makeshlib.sh
diff -c bin/kerberos/src/util/makeshlib.sh:1.1.1.3 bin/kerberos/src/util/makeshlib.sh:1.4
*** bin/kerberos/src/util/makeshlib.sh:1.1.1.3	Thu Dec 26 19:05:12 1996
--- bin/kerberos/src/util/makeshlib.sh	Mon Dec 30 22:50:36 1996
***************
*** 69,74 ****
--- 69,91 ----
  	$CC -G $ldflags -o $library $optflags $FILES $libdirfl $liblist
  	stat=$?
  	;;
+ i?86-*-sysv4*)
+ 	FILES=`for i 
+ 	do
+ 		sed -e "s;^;$i/shared/;" -e "s; ; $i/shared/;g" $i/DONE
+ 	done`
+  
+ 	if test "$HAVE_GCC"x = "x" ; then
+ 		optflags="-G -h $library"
+ 	else
+ 		optflags="-shared -h $library"
+ 	fi
+ 	ldflags="`echo $ldflags | sed -e 's/-L /-L/g'`"
+ 
+ 	echo $CC $optflags $ldflags -o $library $FILES $libdirfl $liblist 
+ 	$CC $optflags $ldflags -o $library $FILES $libdirfl $liblist
+ 	stat=$?
+ 	;;
  *-*-solaris*)
  	FILES=`for i 
  	do
cvs rdiff: Diffing bin/kerberos/src/util/autoconf
Index: bin/kerberos/src/util/db2/test/run.test
diff -c bin/kerberos/src/util/db2/test/run.test:1.1.1.2 bin/kerberos/src/util/db2/test/run.test:1.3
*** bin/kerberos/src/util/db2/test/run.test:1.1.1.2	Thu Dec 26 19:05:54 1996
--- bin/kerberos/src/util/db2/test/run.test	Mon Dec 30 22:50:40 1996
***************
*** 20,25 ****
--- 20,27 ----
  		DICT=/usr/share/dict/words
  	elif [ -f /usr/dict/words ]; then
  		DICT=/usr/dict/words
+ 	elif [ -f /usr/ucblib/dict/words ]; then
+ 		DICT=/usr/ucblib/dict/words
  	elif [ -f /usr/share/lib/dict/words ]; then
  		DICT=/usr/share/lib/dict/words
  	elif [ -f $srcdir/../test/dictionary ]; then
***************
*** 71,80 ****
  test1()
  {
  	echo "Test 1: btree, hash: small key, small data pairs"
! 	sed 200q $DICT > $TMP1
  	for type in btree hash; do
  		rm -f $TMP2 $TMP3
! 		for i in `sed 200q $DICT`; do
  			echo p
  			echo k$i
  			echo d$i
--- 73,82 ----
  test1()
  {
  	echo "Test 1: btree, hash: small key, small data pairs"
! 	sed -e 1,2d -e 202q $DICT > $TMP1
  	for type in btree hash; do
  		rm -f $TMP2 $TMP3
! 		for i in `sed -e 1,2d -e 202q $DICT`; do
  			echo p
  			echo k$i
  			echo d$i
***************
*** 90,96 ****
  	done
  	echo "Test 1: recno: small key, small data pairs"
  	rm -f $TMP2 $TMP3
! 	sed 200q $DICT |
  	awk '{ 
  		++i;
  		printf("p\nk%d\nd%s\ng\nk%d\n", i, $0, i);
--- 92,98 ----
  	done
  	echo "Test 1: recno: small key, small data pairs"
  	rm -f $TMP2 $TMP3
! 	sed -e 1,2d -e 202q $DICT |
  	awk '{ 
  		++i;
  		printf("p\nk%d\nd%s\ng\nk%d\n", i, $0, i);
***************
*** 113,119 ****
  	awk '{ for (i = 1; i < 201; ++i) print $0 }' > $TMP1
  	for type in hash btree; do
  		rm -f $TMP2 $TMP3
! 		for i in `sed 200q $DICT`; do
  			echo p
  			echo k$i
  			echo d$mdata
--- 115,121 ----
  	awk '{ for (i = 1; i < 201; ++i) print $0 }' > $TMP1
  	for type in hash btree; do
  		rm -f $TMP2 $TMP3
! 		for i in `sed -e 1,2d -e 202q $DICT`; do
  			echo p
  			echo k$i
  			echo d$mdata
***************
*** 559,565 ****
  	awk '{ for (i = 1; i < 20001; ++i) print $0 }' > $TMP1
  	for type in btree; do
  		rm -f $TMP2 $TMP3
! 		for i in `sed 20000q $DICT | rev`; do
  			echo p
  			echo k$i
  			echo d$mdata
--- 561,567 ----
  	awk '{ for (i = 1; i < 20001; ++i) print $0 }' > $TMP1
  	for type in btree; do
  		rm -f $TMP2 $TMP3
! 		for i in `sed -e 1,2d -e 20002q $DICT | rev`; do
  			echo p
  			echo k$i
  			echo d$mdata
***************
*** 579,589 ****
  test13()
  {
  	echo "Test 13: btree, hash: differing byte orders"
! 	sed 50q $DICT > $TMP1
  	for order in 1234 4321; do
  		for type in btree hash; do
  			rm -f byte.file $TMP2 $TMP3
! 			for i in `sed 50q $DICT`; do
  				echo p
  				echo k$i
  				echo d$i
--- 581,591 ----
  test13()
  {
  	echo "Test 13: btree, hash: differing byte orders"
! 	sed -e 1,2d -e 52q $DICT > $TMP1
  	for order in 1234 4321; do
  		for type in btree hash; do
  			rm -f byte.file $TMP2 $TMP3
! 			for i in `sed -e 1,2d -e 52q $DICT`; do
  				echo p
  				echo k$i
  				echo d$i
***************
*** 596,602 ****
  				echo "test13: $type/$order put failed"
  				exit 1
  			fi
! 			for i in `sed 50q $DICT`; do
  				echo g
  				echo k$i
  			done > $TMP2
--- 598,604 ----
  				echo "test13: $type/$order put failed"
  				exit 1
  			fi
! 			for i in `sed -e 1,2d -e 52q $DICT`; do
  				echo g
  				echo k$i
  			done > $TMP2
***************
*** 634,640 ****
  		}
  		exit;
  	}' > $TMP1
! 	sed 10000q $DICT |
  	awk 'BEGIN {
  		ds="abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg"
  	}
--- 636,642 ----
  		}
  		exit;
  	}' > $TMP1
! 	sed -e 1,2d -e 10002q $DICT |
  	awk 'BEGIN {
  		ds="abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg"
  	}
***************
*** 645,651 ****
  			s = substr(ds, 1);
  		printf("p\nk%s\nd%s\n", $0, s);
  	}' > $TMP2
! 	sed 10000q $DICT |
  	awk '{
  		++i;
  		printf("g\nk%s\n", $0);
--- 647,653 ----
  			s = substr(ds, 1);
  		printf("p\nk%s\nd%s\n", $0, s);
  	}' > $TMP2
! 	sed -e 1,2d -e 10002q $DICT |
  	awk '{
  		++i;
  		printf("g\nk%s\n", $0);
cvs rdiff: Diffing bin/kerberos/src/util/db2/test/SEQ_TEST
cvs rdiff: Diffing bin/kerberos/src/util/db2/test/btree.tests
cvs rdiff: Diffing bin/kerberos/src/util/db2/test/hash1.tests
cvs rdiff: Diffing bin/kerberos/src/util/db2/test/hash2.tests
cvs rdiff: Diffing bin/kerberos/src/util/db2/test/hash2.tests/passwd
cvs rdiff: Diffing bin/kerberos/src/util/dyn
Index: bin/kerberos/src/util/pty/configure.in
diff -c bin/kerberos/src/util/pty/configure.in:1.1.1.3 bin/kerberos/src/util/pty/configure.in:1.4
*** bin/kerberos/src/util/pty/configure.in:1.1.1.3	Thu Dec 26 19:07:03 1996
--- bin/kerberos/src/util/pty/configure.in	Mon Dec 30 22:50:44 1996
***************
*** 42,47 ****
--- 42,52 ----
       AC_DEFINE(PUSH_LDTERM)
       AC_DEFINE(PUSH_TTCOMPAT)
       ;;
+ *-*-sysv4*)
+      AC_DEFINE(PUSH_PTEM)
+      AC_DEFINE(PUSH_LDTERM)
+      AC_DEFINE(PUSH_TTCOMPAT)
+      ;;
  *-*-hpux*)
       krb5_cv_has_streams=no
       ;;
Index: bin/kerberos/src/util/pty/pty-int.h
diff -c bin/kerberos/src/util/pty/pty-int.h:1.1.1.1 bin/kerberos/src/util/pty/pty-int.h:1.2
*** bin/kerberos/src/util/pty/pty-int.h:1.1.1.1	Mon Jun 10 17:43:30 1996
--- bin/kerberos/src/util/pty/pty-int.h	Tue Sep 10 13:06:01 1996
***************
*** 22,28 ****
--- 22,30 ----
  #include <stdio.h>
  
  #include <sys/stat.h>
+ #if !defined(POSIX_TERMIOS) || defined(ultrix)
  #include <sys/ioctl.h>
+ #endif
  #include <sys/file.h>
  #include <sys/time.h>
  #include <ctype.h>
cvs rdiff: Diffing bin/kerberos/src/util/send-pr
cvs rdiff: Diffing bin/kerberos/src/util/ss
cvs rdiff: Diffing bin/kerberos/src/windows
cvs rdiff: Diffing bin/kerberos/src/windows/cns
>Audit-Trail:
>Unformatted:
>open foo
SEND WILL NEW_ENVIRON
Connected..
tn-gw
> c bar
RECV DONT NEW_ENVIRON	sent by fwtk (it nacks all options just before
			connecting to bar)
SEND WILL OLD_ENVIRON	
RECV DO NEW_ENVIRON	sent by bar's telnetd at startup
SEND WILL NEW_ENVIRON	
RECV DO OLD_ENVIRON	sent by bar in response to our WILL OLD_ENVIRON
telnet sends nothing in respose to this DO, but telnetd on bar is
expecting an answer. 


home help back first fref pref prev next nref lref last post