[987] in Kerberos-V5-bugs
appl/bsd fallback paths wrong for sgi
daemon@ATHENA.MIT.EDU (epeisach@MIT.EDU)
Mon Dec 12 11:34:14 1994
From: epeisach@MIT.EDU
Date: Mon, 12 Dec 1994 11:34:08 -0500
To: krb5-bugs@MIT.EDU
/usr/ucb does not exists - instead /usr/bsd is the required element.
The following changes uses configure to determine which location to use.
configure.in modifies the path to only include directories which are of
interest in case someone has "/usr/athena/bin" in their path and gets
the wrong rlogin - or worse yet, /krb5/bin/rlogin which is not the
proper fallback.
The other chanegs to Makefile.in are to include LIBOBJS in a few more
places. (This is because of the other change I sent in regarding
setenv).
*** 1.1 1994/12/12 15:44:47
--- Makefile.in 1994/12/12 16:31:10
***************
*** 4,9 ****
--- 4,12 ----
K4LIB = @K4LIB@
KLIB = $(TOPLIBD)/libkrb5.a $(TOPLIBD)/libcrypto.a $(ISODELIB) $(COMERRLIB)
DEPKLIB = $(TOPLIBD)/libkrb5.a $(TOPLIBD)/libcrypto.a $(COMERRLIB)
+ UCB_RLOGIN = @RLOGIN@
+ UCB_RSH = @RSH@
+ UCB_RCP = @RCP@
LOGINLIBS = @LOGINLIBS@
LIBOBJS=@LIBOBJS@
***************
*** 14,21 ****
login.o krshd.o krlogind.o $(LIBOBJS)
RSH= -DKRB_RLOGIN=\"$(PROGDIR)/rlogin\"
! DEFINES= $(RSH) $(RPROGS) \
-DLOGIN_PROGRAM=\"$(SERVER_BINDIR)/login.krb5\" -DKPROGDIR=\"$(CLIENT_BINDIR)\"
all:: rsh rcp rlogin krshd krlogind login.krb5
--- 17,25 ----
login.o krshd.o krlogind.o $(LIBOBJS)
RSH= -DKRB_RLOGIN=\"$(PROGDIR)/rlogin\"
+ BSD= -DUCB_RLOGIN=\"$(UCB_RLOGIN)\" -DUCB_RSH=\"$(UCB_RSH)\" -DUCB_RCP=\"$(UCB_RCP)\"
! DEFINES= $(RSH) $(BSD) $(RPROGS) \
-DLOGIN_PROGRAM=\"$(SERVER_BINDIR)/login.krb5\" -DKPROGDIR=\"$(CLIENT_BINDIR)\"
all:: rsh rcp rlogin krshd krlogind login.krb5
***************
*** 23,30 ****
clean::
$(RM) rsh rcp rlogin krshd krlogind login.krb5
! rsh: krsh.o kcmd.o forward.o $(DEPKLIB)
! $(CC) $(CFLAGS) -o rsh krsh.o kcmd.o forward.o $(KLIB) $(LIBS)
install::
$(INSTALL_PROGRAM) rsh $(DESTDIR)$(CLIENT_BINDIR)/rsh
--- 27,34 ----
clean::
$(RM) rsh rcp rlogin krshd krlogind login.krb5
! rsh: krsh.o kcmd.o forward.o $(DEPKLIB) $(LIBOBJS)
! $(CC) $(CFLAGS) -o rsh krsh.o kcmd.o forward.o $(KLIB) $(LIBOBJS) $(LIBS)
install::
$(INSTALL_PROGRAM) rsh $(DESTDIR)$(CLIENT_BINDIR)/rsh
***************
*** 37,58 ****
$(INSTALL_PROGRAM) rcp $(DESTDIR)$(CLIENT_BINDIR)/rcp
$(INSTALL_DATA) $(srcdir)/rcp.M ${DESTDIR}$(CLIENT_MANDIR)/rcp.1
! rlogin: krlogin.o kcmd.o forward.o $(DEPKLIB)
! $(CC) $(CFLAGS) -o rlogin krlogin.o kcmd.o forward.o $(KLIB) $(LIBS)
install::
$(INSTALL_PROGRAM) rlogin $(DESTDIR)$(CLIENT_BINDIR)/rlogin
$(INSTALL_DATA) $(srcdir)/rlogin.M ${DESTDIR}$(CLIENT_MANDIR)/rlogin.1
! krshd: krshd.o kcmd.o logutil.o forward.o $(DEPKLIB)
! $(CC) $(CFLAGS) -o krshd krshd.o kcmd.o logutil.o forward.o $(KLIB) $(K4LIB) $(LIBS)
install::
$(INSTALL_PROGRAM) krshd $(DESTDIR)$(SERVER_BINDIR)/krshd
$(INSTALL_DATA) $(srcdir)/krshd.M ${DESTDIR}$(SERVER_MANDIR)/krshd.8
! krlogind: krlogind.o logutil.o kcmd.o forward.o $(DEPKLIB)
! $(CC) $(CFLAGS) -o krlogind krlogind.o logutil.o kcmd.o forward.o $(KLIB) $(K4LIB) $(LIBS)
install::
$(INSTALL_PROGRAM) krlogind $(DESTDIR)$(SERVER_BINDIR)/krlogind
--- 41,62 ----
$(INSTALL_PROGRAM) rcp $(DESTDIR)$(CLIENT_BINDIR)/rcp
$(INSTALL_DATA) $(srcdir)/rcp.M ${DESTDIR}$(CLIENT_MANDIR)/rcp.1
! rlogin: krlogin.o kcmd.o forward.o $(DEPKLIB) $(LIBOBJS)
! $(CC) $(CFLAGS) -o rlogin krlogin.o kcmd.o forward.o $(KLIB) $(LIBOBJS) $(LIBS)
install::
$(INSTALL_PROGRAM) rlogin $(DESTDIR)$(CLIENT_BINDIR)/rlogin
$(INSTALL_DATA) $(srcdir)/rlogin.M ${DESTDIR}$(CLIENT_MANDIR)/rlogin.1
! krshd: krshd.o kcmd.o logutil.o forward.o $(DEPKLIB) $(LIBOBJS)
! $(CC) $(CFLAGS) -o krshd krshd.o kcmd.o logutil.o forward.o $(KLIB) $(K4LIB) $(LIBOBJS) $(LIBS)
install::
$(INSTALL_PROGRAM) krshd $(DESTDIR)$(SERVER_BINDIR)/krshd
$(INSTALL_DATA) $(srcdir)/krshd.M ${DESTDIR}$(SERVER_MANDIR)/krshd.8
! krlogind: krlogind.o logutil.o kcmd.o forward.o $(DEPKLIB) $(LIBOBJS)
! $(CC) $(CFLAGS) -o krlogind krlogind.o logutil.o kcmd.o forward.o $(KLIB) $(K4LIB) $(LIBOBJS) $(LIBS)
install::
$(INSTALL_PROGRAM) krlogind $(DESTDIR)$(SERVER_BINDIR)/krlogind
*** 1.1 1994/12/12 15:44:43
--- configure.in 1994/12/12 16:04:59
***************
*** 5,10 ****
--- 5,20 ----
CONFIG_RULES
AC_SET_BUILDTOP
AC_PROG_INSTALL
+ dnl Check for where rlogin rcp and rsh live - we only want base os
+ dnl programs and the danger is that the builder may have the wrong
+ dnl version in the path
+ save_path=$PATH
+ PATH=/usr/bsd:/usr/ucb:/bin:/usr/bin
+ AC_PATH_PROG(RLOGIN,rlogin,/usr/ucb/rlogin)
+ AC_PATH_PROG(RCP,rcp,/bin/rcp)
+ AC_PATH_PROG(RSH,rsh,/usr/ucb/rsh)
+ PATH=$save_path
+ dnl
AC_CHECK_LIB(socket,main)
AC_CHECK_LIB(nsl,main)
dnl dbm libs for use of an_to_ln
*** 1.1 1994/12/12 16:19:54
--- krcp.c 1994/12/12 16:22:51
***************
*** 97,103 ****
--- 97,105 ----
void send_auth(), answer_auth();
int encryptflag = 0;
+ #ifndef UCB_RCP
#define UCB_RCP "/bin/rcp"
+ #endif
#else /* !KERBEROS */
#define des_read read
#define des_write write
*** 1.1 1994/12/12 16:18:02
--- krlogin.c 1994/12/12 16:18:53
***************
*** 159,165 ****
--- 159,167 ----
krb5_creds *cred;
struct sockaddr_in local, foreign;
+ #ifndef UCB_RLOGIN
#define UCB_RLOGIN "/usr/ucb/rlogin"
+ #endif
#include "rpaths.h"
#else /* !KERBEROS */
*** 1.1 1994/12/12 16:19:54
--- krsh.c 1994/12/12 16:22:07
***************
*** 73,86 ****
--- 73,92 ----
#ifdef KERBEROS
char *krb_realm = (char *)0;
void try_normal();
+ #ifndef UCB_RSH
#define UCB_RSH "/usr/ucb/rsh"
#endif
+ #endif
#ifndef RLOGIN_PROGRAM
#ifdef KERBEROS
#define RLOGIN_PROGRAM KRB5_PATH_RLOGIN
#else /* KERBEROS */
+ #ifdef UCB_RLOGIN
+ #define RLOGIN_PROGRAM UCB_RLOGIN
+ #else
#define RLOGIN_PROGRAM "/usr/ucb/rlogin"
+ #endif
#endif /* KERBEROS */
#endif /* !RLOGIN_PROGRAM */