[631] in Kerberos-V5-bugs

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

krb5 B4.2 diffs for NetBSD 1.0B

daemon@ATHENA.MIT.EDU (John Brezak)
Fri Aug 12 22:54:32 1994

To: krb5-bugs@MIT.EDU
Reply-To: brezak@ch.hp.com
Date: Fri, 12 Aug 1994 22:54:00 -0400
From: John Brezak <brezak@ch.hp.com>


Here are some preliminary diffs to get a complete make on NetBSD 1.0B (i386)

Here are the problems that these diffs address:

- admin/convert/kdb5_convert.c: needs progname for libkdb.a
- appl/bsd/configure.in, krsh.c, krlogin.c, krcp.c: Try to autoconf UCB_RSH,
  UCB_RLOGIN and UCB_RCP in appl/bsd.
  [ although it looks like you might be working on something for this in
    rpaths.h ]
- appl/bsd/krcp.c: use strerror() instead of sys_errlist[]
- appl/bsd/krlogin.c: no ONOCR, TABDLY or TAB3 on NetBSD
- appl/bsd/krshd.c: no def'n for RPATH
- appl/bsd/login.c: no def'n for LPATH; no TAB3 on NetBSD
- appl/telnet/telnetd/configure.in: check for libutil.a
- include/krb5/stock/osconf.h: Use /var/tmp for RCTMPDIR
  [ Need to autoconf /var/tmp - checking for BSD4_4 is lame... ]
- lib/krb5/ccache/file/fcc.h, lib/krb5/rcache/rc_io.c: need prototype for
  lseek() in scope - include <unistd.h>

FYI:
o Post 1.0 NetBSD will have krb5 (optional) integrated /usr/bin/login and
  /usr/bin/passwd.
o NQNFS (should) be updated to use krb5 (in addition to krb4 already)


*** ./admin/convert/kdb5_convert.c.orig	Fri Aug 12 18:02:15 1994
--- ./admin/convert/kdb5_convert.c	Fri Aug 12 18:04:21 1994
***************
*** 60,66 ****
  
  #include <netinet/in.h>			/* ntohl */
  
! #define PROGNAME argv[0]
  
  enum ap_op {
      NULL_KEY,				/* setup null keys */
--- 60,66 ----
  
  #include <netinet/in.h>			/* ntohl */
  
! char *progname;
  
  enum ap_op {
      NULL_KEY,				/* setup null keys */
***************
*** 179,184 ****
--- 179,186 ----
      if (strrchr(argv[0], '/'))
  	argv[0] = strrchr(argv[0], '/')+1;
  
+     progname = argv[0];
+ 
      while ((optchar = getopt(argc, argv, "d:tD:r:Kvk:M:e:nf:")) != EOF) {
  	switch(optchar) {
  	case 'd':			/* set db name */
***************
*** 192,201 ****
  	    break;
  	case 'D':			/* set db name */
  #ifdef ODBM
! 	    usage(PROGNAME, 1);
  #else
  	    if (v4dumpfile)
! 		usage(PROGNAME, 1);
  	    v4dbname = optarg;
  	    break;
  #endif
--- 194,203 ----
  	    break;
  	case 'D':			/* set db name */
  #ifdef ODBM
! 	    usage(progname, 1);
  #else
  	    if (v4dumpfile)
! 		usage(progname, 1);
  	    v4dbname = optarg;
  	    break;
  #endif
***************
*** 223,241 ****
  	    break;
  	case 'f':
  	    if (v4dbname)
! 		usage(PROGNAME, 1);
  	    v4dumpfile = optarg;
  	    break;
  	case '?':
  	default:
! 	    usage(PROGNAME, 1);
  	    /*NOTREACHED*/
  	}
      }
  
  #ifdef ODBM
      if (!v4dumpfile) {
! 	usage(PROGNAME, 1);
      }
  #endif
  
--- 225,243 ----
  	    break;
  	case 'f':
  	    if (v4dbname)
! 		usage(progname, 1);
  	    v4dumpfile = optarg;
  	    break;
  	case '?':
  	default:
! 	    usage(progname, 1);
  	    /*NOTREACHED*/
  	}
      }
  
  #ifdef ODBM
      if (!v4dumpfile) {
! 	usage(progname, 1);
      }
  #endif
  
***************
*** 243,249 ****
  	master_keyblock.keytype = DEFAULT_KDC_KEYTYPE;
  
      if (!valid_keytype(master_keyblock.keytype)) {
! 	com_err(PROGNAME, KRB5_PROG_KEYTYPE_NOSUPP,
  		"while setting up keytype %d", master_keyblock.keytype);
  	exit(1);
      }
--- 245,251 ----
  	master_keyblock.keytype = DEFAULT_KDC_KEYTYPE;
  
      if (!valid_keytype(master_keyblock.keytype)) {
! 	com_err(progname, KRB5_PROG_KEYTYPE_NOSUPP,
  		"while setting up keytype %d", master_keyblock.keytype);
  	exit(1);
      }
***************
*** 252,258 ****
  	etype = DEFAULT_KDC_ETYPE;
  
      if (!valid_etype(etype)) {
! 	com_err(PROGNAME, KRB5_PROG_ETYPE_NOSUPP,
  		"while setting up etype %d", etype);
  	exit(1);
      }
--- 254,260 ----
  	etype = DEFAULT_KDC_ETYPE;
  
      if (!valid_etype(etype)) {
! 	com_err(progname, KRB5_PROG_ETYPE_NOSUPP,
  		"while setting up etype %d", etype);
  	exit(1);
      }
***************
*** 264,270 ****
  	if (retval != ENOENT) {
  	    fprintf(stderr,
  		    "%s: The v5 database appears to already exist.\n",
! 		    PROGNAME);
  	    exit(1);
  	}
  	tempdbname = dbname;
--- 266,272 ----
  	if (retval != ENOENT) {
  	    fprintf(stderr,
  		    "%s: The v5 database appears to already exist.\n",
! 		    progname);
  	    exit(1);
  	}
  	tempdbname = dbname;
***************
*** 272,278 ****
  	int dbnamelen = strlen(dbname);
  	tempdbname = malloc(dbnamelen + 2);
  	if (tempdbname == 0) {
! 	    com_err(PROGNAME, ENOMEM, "allocating temporary filename");
  	    exit(1);
  	}
  	strcpy(tempdbname, dbname);
--- 274,280 ----
  	int dbnamelen = strlen(dbname);
  	tempdbname = malloc(dbnamelen + 2);
  	if (tempdbname == 0) {
! 	    com_err(progname, ENOMEM, "allocating temporary filename");
  	    exit(1);
  	}
  	strcpy(tempdbname, dbname);
***************
*** 284,290 ****
  
      if (!realm) {
  	if (retval = krb5_get_default_realm(&defrealm)) {
! 	    com_err(PROGNAME, retval, "while retrieving default realm name");
  	    exit(1);
  	}	    
  	realm = defrealm;
--- 286,292 ----
  
      if (!realm) {
  	if (retval = krb5_get_default_realm(&defrealm)) {
! 	    com_err(progname, retval, "while retrieving default realm name");
  	    exit(1);
  	}	    
  	realm = defrealm;
***************
*** 294,300 ****
  
      if (retval = krb5_db_setup_mkey_name(mkey_name, realm, &mkey_fullname,
  				 &master_princ)) {
! 	com_err(PROGNAME, retval, "while setting up master key name");
  	exit(1);
      }
  
--- 296,302 ----
  
      if (retval = krb5_db_setup_mkey_name(mkey_name, realm, &mkey_fullname,
  				 &master_princ)) {
! 	com_err(progname, retval, "while setting up master key name");
  	exit(1);
      }
  
***************
*** 317,334 ****
  
      if (retval = krb5_db_fetch_mkey(master_princ, &master_encblock, read_mkey,
  				    read_mkey, 0, &master_keyblock)) {
! 	com_err(PROGNAME, retval, "while reading master key");
  	exit(1);
      }
      if (retval = krb5_process_key(&master_encblock, &master_keyblock)) {
! 	com_err(PROGNAME, retval, "while processing master key");
  	exit(1);
      }
  
      rblock.eblock = &master_encblock;
      if (retval = krb5_init_random_key(&master_encblock, &master_keyblock,
  				      &rblock.rseed)) {
! 	com_err(PROGNAME, retval, "while initializing random key generator");
  	(void) krb5_finish_key(&master_encblock);
  	exit(1);
      }
--- 319,336 ----
  
      if (retval = krb5_db_fetch_mkey(master_princ, &master_encblock, read_mkey,
  				    read_mkey, 0, &master_keyblock)) {
! 	com_err(progname, retval, "while reading master key");
  	exit(1);
      }
      if (retval = krb5_process_key(&master_encblock, &master_keyblock)) {
! 	com_err(progname, retval, "while processing master key");
  	exit(1);
      }
  
      rblock.eblock = &master_encblock;
      if (retval = krb5_init_random_key(&master_encblock, &master_keyblock,
  				      &rblock.rseed)) {
! 	com_err(progname, retval, "while initializing random key generator");
  	(void) krb5_finish_key(&master_encblock);
  	exit(1);
      }
***************
*** 336,342 ****
  	(void) krb5_finish_key(&master_encblock);
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
! 	com_err(PROGNAME, retval, "while creating %sdatabase '%s'",
  		tempdb ? "temporary " : "", tempdbname);
  	exit(1);
      }
--- 338,344 ----
  	(void) krb5_finish_key(&master_encblock);
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
! 	com_err(progname, retval, "while creating %sdatabase '%s'",
  		tempdb ? "temporary " : "", tempdbname);
  	exit(1);
      }
***************
*** 344,354 ****
  	(void) krb5_finish_key(&master_encblock);
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
!         com_err(PROGNAME, retval, "while setting active database to '%s'",
                  tempdbname);
          exit(1);
      }
!     if (v4init(PROGNAME, v4dbname, v4manual, v4dumpfile)) {
  	(void) krb5_finish_key(&master_encblock);
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
--- 346,356 ----
  	(void) krb5_finish_key(&master_encblock);
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
!         com_err(progname, retval, "while setting active database to '%s'",
                  tempdbname);
          exit(1);
      }
!     if (v4init(progname, v4dbname, v4manual, v4dumpfile)) {
  	(void) krb5_finish_key(&master_encblock);
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
***************
*** 359,365 ****
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
  	v4fini();
! 	com_err(PROGNAME, retval, "while initializing the database '%s'",
  		tempdbname);
  	exit(1);
      }
--- 361,367 ----
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
  	v4fini();
! 	com_err(progname, retval, "while initializing the database '%s'",
  		tempdbname);
  	exit(1);
      }
***************
*** 370,376 ****
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
  	v4fini();
! 	com_err(PROGNAME, retval, "while adding K/M to the database");
  	exit(1);
      }
  
--- 372,378 ----
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
  	v4fini();
! 	com_err(progname, retval, "while adding K/M to the database");
  	exit(1);
      }
  
***************
*** 381,387 ****
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
  	v4fini();
! 	com_err(PROGNAME, retval, "while adding TGT service to the database");
  	exit(1);
      }
  
--- 383,389 ----
  	(void) krb5_finish_random_key(&master_encblock, &rblock.rseed);
  	(void) krb5_dbm_db_destroy(tempdbname);
  	v4fini();
! 	com_err(progname, retval, "while adding TGT service to the database");
  	exit(1);
      }
  
***************
*** 391,404 ****
  	retval = kerb_db_iterate(enter_in_v5_db, realm);
      putchar('\n');
      if (retval)
! 	com_err(PROGNAME, retval, "while translating entries to the database");
  
      /* clean up; rename temporary database if there were no errors */
      if (retval == 0) {
  	if (retval = krb5_db_fini ())
! 	    com_err(PROGNAME, retval, "while shutting down database");
  	else if (tempdb && (retval = krb5_dbm_db_rename(tempdbname, dbname)))
! 	    com_err(PROGNAME, retval, "while renaming temporary database");
      } else {
  	(void) krb5_db_fini ();
  	if (tempdb)
--- 393,406 ----
  	retval = kerb_db_iterate(enter_in_v5_db, realm);
      putchar('\n');
      if (retval)
! 	com_err(progname, retval, "while translating entries to the database");
  
      /* clean up; rename temporary database if there were no errors */
      if (retval == 0) {
  	if (retval = krb5_db_fini ())
! 	    com_err(progname, retval, "while shutting down database");
  	else if (tempdb && (retval = krb5_dbm_db_rename(tempdbname, dbname)))
! 	    com_err(progname, retval, "while renaming temporary database");
      } else {
  	(void) krb5_db_fini ();
  	if (tempdb)
*** ./appl/bsd/krcp.c.orig	Fri Aug 12 21:03:08 1994
--- ./appl/bsd/krcp.c	Fri Aug 12 21:57:43 1994
***************
*** 96,102 ****
--- 96,104 ----
  void	send_auth(), answer_auth();
  int	encryptflag = 0;
  
+ #ifndef UCB_RCP
  #define	UCB_RCP	"/bin/rcp"
+ #endif
  
  #ifdef CRAY
  #ifndef BITS64
***************
*** 114,120 ****
  int	errs;
  krb5_sigtype	lostconn();
  int	errno;
- extern char	*sys_errlist[];
  int	iamremote, targetshouldbedirectory;
  int	iamrecursive;
  int	pflag;
--- 116,121 ----
***************
*** 503,509 ****
  	  return;
  	errno = ENOTDIR;
      }
!     error("rcp: %s: %s.\n", cp, sys_errlist[errno]);
      exit(1);
  }
  
--- 504,510 ----
  	  return;
  	errno = ENOTDIR;
      }
!     error("rcp: %s: %s.\n", cp, strerror(errno));
      exit(1);
  }
  
***************
*** 585,591 ****
      for (x = 0; x < argc; x++) {
  	name = argv[x];
  	if ((f = open(name, 0)) < 0) {
! 	    error("rcp: %s: %s\n", name, sys_errlist[errno]);
  	    continue;
  	}
  	if (fstat(f, &stb) < 0)
--- 586,592 ----
      for (x = 0; x < argc; x++) {
  	name = argv[x];
  	if ((f = open(name, 0)) < 0) {
! 	    error("rcp: %s: %s\n", name, strerror(errno));
  	    continue;
  	}
  	if (fstat(f, &stb) < 0)
***************
*** 678,684 ****
      char *bufv[1];
      
      if (d == 0) {
! 	error("rcp: %s: %s\n", name, sys_errlist[errno]);
  	return;
      }
      last = strrchr(name, '/');
--- 679,685 ----
      char *bufv[1];
      
      if (d == 0) {
! 	error("rcp: %s: %s\n", name, strerror(errno));
  	return;
      }
      last = strrchr(name, '/');
***************
*** 912,924 ****
  		setimes = 0;
  		if (utimes(nambuf, tv) < 0)
  		  error("rcp: can't set times on %s: %s\n",
! 			nambuf, sys_errlist[errno]);
  	    }
  	    continue;
  	}
  	if ((of = open(nambuf, O_WRONLY|O_CREAT, mode)) < 0) {
  	  bad:
! 	    error("rcp: %s: %s\n", nambuf, sys_errlist[errno]);
  	    continue;
  	}
  	if (exists && pflag)
--- 913,925 ----
  		setimes = 0;
  		if (utimes(nambuf, tv) < 0)
  		  error("rcp: can't set times on %s: %s\n",
! 			nambuf, strerror(errno));
  	    }
  	    continue;
  	}
  	if ((of = open(nambuf, O_WRONLY|O_CREAT, mode)) < 0) {
  	  bad:
! 	    error("rcp: %s: %s\n", nambuf, strerror(errno));
  	    continue;
  	}
  	if (exists && pflag)
***************
*** 947,953 ****
  		      error("rcp: dropped connection");
  		    else
  		      error("rcp: %s\n",
! 			    sys_errlist[errno]);
  		    exit(1);
  		}
  		amt -= j;
--- 948,954 ----
  		      error("rcp: dropped connection");
  		    else
  		      error("rcp: %s\n",
! 			    strerror(errno));
  		    exit(1);
  		}
  		amt -= j;
***************
*** 966,982 ****
  	  wrerr++;
  	if (ftruncate(of, size))
  	  error("rcp: can't truncate %s: %s\n",
! 		nambuf, sys_errlist[errno]);
  	(void) close(of);
  	(void) response();
  	if (setimes) {
  	    setimes = 0;
  	    if (utimes(nambuf, tv) < 0)
  	      error("rcp: can't set times on %s: %s\n",
! 		    nambuf, sys_errlist[errno]);
  	}				   
  	if (wrerr)
! 	  error("rcp: %s: %s\n", nambuf, sys_errlist[errno]);
  	else
  	  ga();
      }
--- 967,983 ----
  	  wrerr++;
  	if (ftruncate(of, size))
  	  error("rcp: can't truncate %s: %s\n",
! 		nambuf, strerror(errno));
  	(void) close(of);
  	(void) response();
  	if (setimes) {
  	    setimes = 0;
  	    if (utimes(nambuf, tv) < 0)
  	      error("rcp: can't set times on %s: %s\n",
! 		    nambuf, strerror(errno));
  	}				   
  	if (wrerr)
! 	  error("rcp: %s: %s\n", nambuf, strerror(errno));
  	else
  	  ga();
      }
***************
*** 995,1001 ****
      int size;
      
      if (fstat(fd, &stb) < 0) {
! 	error("rcp: fstat: %s\n", sys_errlist[errno]);
  	return (NULLBUF);
      }
  #ifdef NOROUNDUP
--- 996,1002 ----
      int size;
      
      if (fstat(fd, &stb) < 0) {
! 	error("rcp: fstat: %s\n", strerror(errno));
  	return (NULLBUF);
      }
  #ifdef NOROUNDUP
*** ./appl/bsd/krlogind.c.orig	Fri Aug 12 21:03:18 1994
--- ./appl/bsd/krlogind.c	Fri Aug 12 21:07:05 1994
***************
*** 1084,1096 ****
       char *msg;
  {
      char buf[512];
-     extern int sys_nerr;
-     extern char *sys_errlist[];
      
!     if ((unsigned)errno < sys_nerr)
!       (void) sprintf(buf, "%s: %s", msg, sys_errlist[errno]);
!     else
!       (void) sprintf(buf, "%s: Error %d", msg, errno);
      fatal(f, buf);
  }
  
--- 1084,1091 ----
       char *msg;
  {
      char buf[512];
      
!     (void) sprintf(buf, "%s: %s", msg, strerror(errno));
      fatal(f, buf);
  }
  
*** ./appl/bsd/krlogin.c.orig	Fri Aug 12 21:14:21 1994
--- ./appl/bsd/krlogin.c	Fri Aug 12 21:58:14 1994
***************
*** 157,163 ****
--- 157,165 ----
  krb5_creds *cred;
  struct sockaddr_in local, foreign;
  
+ #ifndef UCB_RLOGIN
  #define UCB_RLOGIN "/usr/ucb/rlogin"
+ #endif
  
  #ifdef CRAY
  #ifndef BITS64
***************
*** 1358,1370 ****
  			/* newtty.c_iflag |=  (BRKINT|ISTRIP|IXON|IXANY); */
  			newtty.c_iflag &= ~(IXON|IXANY);
  			newtty.c_iflag |=  (BRKINT|ISTRIP);
  			newtty.c_oflag &= ~(ONLCR|ONOCR);
  			newtty.c_oflag |=  (OPOST);
  		}
  		/* preserve tab delays, but turn off XTABS */
  		if ((newtty.c_oflag & TABDLY) == TAB3)
  			newtty.c_oflag &= ~TABDLY;
! 
  		if (litout)
  			newtty.c_oflag &= ~OPOST;
  
--- 1360,1377 ----
  			/* newtty.c_iflag |=  (BRKINT|ISTRIP|IXON|IXANY); */
  			newtty.c_iflag &= ~(IXON|IXANY);
  			newtty.c_iflag |=  (BRKINT|ISTRIP);
+ #ifdef ONOCR
  			newtty.c_oflag &= ~(ONLCR|ONOCR);
+ #else
+ 			newtty.c_oflag &= ~(ONLCR);
+ #endif
  			newtty.c_oflag |=  (OPOST);
  		}
+ #ifdef TABDLY
  		/* preserve tab delays, but turn off XTABS */
  		if ((newtty.c_oflag & TABDLY) == TAB3)
  			newtty.c_oflag &= ~TABDLY;
! #endif
  		if (litout)
  			newtty.c_oflag &= ~OPOST;
  
*** ./appl/bsd/krshd.c.orig	Fri Aug 12 21:18:33 1994
--- ./appl/bsd/krshd.c	Fri Aug 12 21:21:18 1994
***************
*** 378,383 ****
--- 378,388 ----
  char	homedir[64] = "HOME=";
  char	shell[64] = "SHELL=";
  char    term[64] = "TERM=network";
+ 
+ #ifndef RPATH
+ #define RPATH "/usr/ucb:/bin:/usr/bin"
+ #endif
+ 
  char	path[128] = "PATH=";
  char	path_rest[64] = RPATH;
  
*** ./appl/bsd/login.c.orig	Fri Aug 12 21:41:31 1994
--- ./appl/bsd/login.c	Fri Aug 12 21:40:14 1994
***************
*** 125,130 ****
--- 125,134 ----
  #define uid_type uid_t
  #define gid_type gid_t
  
+ #ifndef LPATH
+ #define LPATH "/krb5/bin:/usr/bin/X11:/usr/ucb:/bin:/usr/bin:."
+ #endif
+ 
  #ifndef HAVE_INITGROUPS
  /* sco has getgroups and setgroups but no initgroups */
  int initgroups(char* name, gid_t basegid) {
***************
*** 1278,1284 ****
   	tp->c_lflag |= ECHOKE;
  #endif
   	tp->c_iflag |= ICRNL|BRKINT;
!  	tp->c_oflag |= ONLCR|OPOST|TAB3;
  #else /* !POSIX_TERMIOS */
  	tp->sg_flags = ECHO|CRMOD|ANYP|XTABS;
  #endif
--- 1282,1291 ----
   	tp->c_lflag |= ECHOKE;
  #endif
   	tp->c_iflag |= ICRNL|BRKINT;
!  	tp->c_oflag |= ONLCR|OPOST;
! #ifdef TAB3
!  	tp->c_oflag |= TAB3;
! #endif
  #else /* !POSIX_TERMIOS */
  	tp->sg_flags = ECHO|CRMOD|ANYP|XTABS;
  #endif
*** ./appl/bsd/configure.in.orig	Fri Aug 12 21:48:42 1994
--- ./appl/bsd/configure.in	Fri Aug 12 21:57:39 1994
***************
*** 10,15 ****
--- 10,22 ----
  dnl dbm libs for use of an_to_ln
  AC_HAVE_LIBRARY(-lndbm)
  AC_HAVE_LIBRARY(-ldbm)
+ AC_HAVE_LIBRARY(crypt)
+ AC_PROGRAMS_PATH(UCB_RSH, remsh rsh, /usr/ucb/rsh)
+ AC_DEFINE(UCB_RSH,\\\"$UCB_RSH\\\")
+ AC_PROGRAM_PATH(UCB_RLOGIN, rlogin, /usr/ucb/rlogin)
+ AC_DEFINE(UCB_RLOGIN,\\\"$UCB_RLOGIN\\\")
+ AC_PROGRAM_PATH(UCB_RCP, rcp, /bin/rcp)
+ AC_DEFINE(UCB_RCP,\\\"$UCB_RCP\\\")
  AC_FUNC_CHECK(strsave,AC_DEFINE(HAS_STRSAVE))
  AC_FUNC_CHECK(utimes,AC_DEFINE(HAS_UTIMES))
  AC_FUNC_CHECK(getutent,AC_DEFINE(HAVE_GETUTENT))
*** ./appl/bsd/Makefile.in.orig	Fri Aug 12 21:50:14 1994
--- ./appl/bsd/Makefile.in	Fri Aug 12 22:06:28 1994
***************
*** 13,19 ****
  OBJS= krcp.o krlogin.o krsh.o kcmd.o forward.c logutil.o $(SETENVOBJ) \
  	login.o $(LIBOBJS)
  
! RSH=	-DKRB_RLOGIN=\"$(PROGDIR)/rlogin\"
  
  DEFINES= $(RSH) $(RPROGS) \
   	-DLOGIN_PROGRAM=\"$(SERVER_BINDIR)/login.krb\" -DKPROGDIR=\"$(CLIENT_BINDIR)\"
--- 13,19 ----
  OBJS= krcp.o krlogin.o krsh.o kcmd.o forward.c logutil.o $(SETENVOBJ) \
  	login.o $(LIBOBJS)
  
! RSH=	-DKRB_RLOGIN=\"$(CLIENT_BINDIR)/rlogin\"
  
  DEFINES= $(RSH) $(RPROGS) \
   	-DLOGIN_PROGRAM=\"$(SERVER_BINDIR)/login.krb\" -DKPROGDIR=\"$(CLIENT_BINDIR)\"
*** ./appl/bsd/krsh.c.orig	Fri Aug 12 21:50:27 1994
--- ./appl/bsd/krsh.c	Fri Aug 12 22:06:06 1994
***************
*** 76,91 ****
  #ifdef KERBEROS
  char	*krb_realm = (char *)0;
  void	try_normal();
  #define UCB_RSH "/usr/ucb/rsh"
  #endif
  
- #ifndef RLOGIN_PROGRAM
  #ifdef KERBEROS
! #define RLOGIN_PROGRAM KRB5_PATH_RLOGIN
  #else /* KERBEROS */
! #define RLOGIN_PROGRAM "/usr/ucb/rlogin"
  #endif  /* KERBEROS */
- #endif /* !RLOGIN_PROGRAM */
       
  #ifndef POSIX_SIGNALS
  #define	mask(s)	(1 << ((s) - 1))
--- 76,93 ----
  #ifdef KERBEROS
  char	*krb_realm = (char *)0;
  void	try_normal();
+ #ifndef UCB_RSH
  #define UCB_RSH "/usr/ucb/rsh"
  #endif
+ #endif
  
  #ifdef KERBEROS
! #define UCB_RLOGIN KRB_RLOGIN
  #else /* KERBEROS */
! #ifndef UCB_RLOGIN
! #define UCB_RLOGIN "/usr/ucb/rlogin"
! #endif /* !UCB_RLOGIN */
  #endif  /* KERBEROS */
       
  #ifndef POSIX_SIGNALS
  #define	mask(s)	(1 << ((s) - 1))
***************
*** 250,257 ****
      if (host == 0)
        goto usage;
      if (argv[0] == 0) {
! 	execv(RLOGIN_PROGRAM, argv0);
! 	perror(RLOGIN_PROGRAM);
  	exit(1);
      }
  
--- 252,259 ----
      if (host == 0)
        goto usage;
      if (argv[0] == 0) {
! 	execv(UCB_RLOGIN, argv0);
! 	perror(UCB_RLOGIN);
  	exit(1);
      }
  
*** ./appl/telnet/telnetd/configure.in.orig	Fri Aug 12 22:28:42 1994
--- ./appl/telnet/telnetd/configure.in	Fri Aug 12 22:28:22 1994
***************
*** 12,17 ****
--- 12,18 ----
  AC_HAVE_LIBRARY(socket)
  AC_HAVE_LIBRARY(nsl)
  AC_HAVE_LIBRARY(dbm)
+ AC_HAVE_LIBRARY(util)
  AC_HAVE_LIBRARY(termcap,AC_DEFINE(TERMCAP)
  LIBS="$LIBS -ltermcap")
  AC_HEADER_CHECK(termios.h,AC_DEFINE(USE_TERMIO) ac_termio=1)
*** ./include/krb5/stock/osconf.h.orig	Fri Aug 12 11:06:26 1994
--- ./include/krb5/stock/osconf.h	Fri Aug 12 11:07:11 1994
***************
*** 81,87 ****
--- 81,91 ----
  #define SKDC_TIMEOUT_SHIFT 2		/* left shift of timeout for backoff */
  #define SKDC_TIMEOUT_1 1		/* seconds for first timeout */
  
+ #ifdef BSD4_4
+ #define RCTMPDIR	"/var/tmp"
+ #else
  #define RCTMPDIR	"/usr/tmp"	/* directory to store replay caches */
+ #endif
  
  #define KRB5_PATH_TTY	"/dev/tty"
  #define KRB5_PATH_LOGIN	"@KRB5ROOT/sbin/login.krb5"
*** ./lib/krb5/ccache/file/fcc.h.orig	Fri Aug 12 11:03:59 1994
--- ./lib/krb5/ccache/file/fcc.h	Fri Aug 12 11:04:23 1994
***************
*** 37,42 ****
--- 37,43 ----
  #include "fcc-proto.h"
  #include <krb5/sysincl.h>
  #include <stdio.h>
+ #include <unistd.h>
  
  #define KRB5_OK 0
  
*** ./lib/krb5/rcache/rc_io.c.orig	Fri Aug 12 11:05:04 1994
--- ./lib/krb5/rcache/rc_io.c	Fri Aug 12 11:05:44 1994
***************
*** 20,25 ****
--- 20,26 ----
  #define KRB5_RC_VNO	0x0501		/* krb5, rcache v 1 */
  
  #include <stdio.h> /* for P_tmpdir */
+ #include <unistd.h> /* for lseek func proto */
  
  #include "rc_base.h"
  #include "rc_dfl.h"

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 John Brezak                    UUCP:     uunet!apollo.hp!brezak
 Hewlett Packard/Apollo         Internet: brezak@ch.hp.com
 300 Apollo Drive               Phone:    (508) 436-4915
 Chelmsford, Massachusetts      Fax:      (508) 436-5103

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