[631] in Kerberos-V5-bugs
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