Subject: bin/2839: su won't make w/Kerberos
To: None <gnats-bugs@gnats.netbsd.org>
From: William O Ferry <woferry@WarpDrive.RES.CMU.EDU>
List: netbsd-bugs
Date: 10/12/1996 15:00:53
>Number: 2839
>Category: bin
>Synopsis: su Makefile does not support compiling with Kerberos
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: bin-bug-people (Utility Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Oct 12 12:05:01 1996
>Last-Modified:
>Originator: William O Ferry
>Organization:
WarpDrive Internet Solutions
>Release: 1.2
>Environment:
System: NetBSD WarpDrive.RES.CMU.EDU 1.2 NetBSD 1.2 (WARPDRIVE) #0: Mon Sep 23 10:10:05 EDT 1996 woferry@WarpDrive.RES.CMU.EDU:/usr/src/sys/arch/i386/compile/WARPDRIVE i386
>Description:
su Makefile will not use -DKERBEROS while making su.c, even on a
domestic system with KERBEROS defined in /etc/mk.conf. After fixing the
Makefile so that it does use -DKERBEROS, compile failed due to type mismatch
on krb_err_txt[].
>How-To-Repeat:
>Fix:
I'm not sure if this is the proper way to do this, or if there's a
better way. I'm also assuming that this is okay to do, considering that this
is not in /usr/src/domestic, but straight /usr/src (but I guess there's nothing
in su.c that is non-exportable). And since krb_err_txt is defined in krb.h,
which is included by su.c, the declaration fixed in the second diff can
probably be removed altogether.
WARPDRIVE.RES.CMU.EDU (root) /usr/src/usr.bin/su % diff -uN Makefile.orig Makefile
--- Makefile.orig Fri Oct 13 23:25:18 1995
+++ Makefile Sat Oct 12 14:36:37 1996
@@ -1,10 +1,16 @@
# from: @(#)Makefile 5.5 (Berkeley) 5/11/90
# $Id: Makefile,v 1.6 1994/05/24 06:52:17 deraadt Exp $
+.include <bsd.own.mk>
+
PROG= su
BINOWN= root
BINMODE=4555
CFLAGS+=-DSKEY
+.ifdef KERBEROS
+CFLAGS+=-DKERBEROS
+LDADD+= -lkrb -ldes
+.endif
LDADD+= -lcrypt -lskey
DPADD+= ${LIBCRYPT} ${LIBSKEY}
WARPDRIVE.RES.CMU.EDU (root) /usr/src/usr.bin/su % diff -uN su.c.orig su.c
--- su.c.orig Fri Oct 13 23:25:22 1995
+++ su.c Sat Oct 12 14:33:51 1996
@@ -311,7 +314,7 @@
char *username, *user;
int uid;
{
- extern char *krb_err_txt[];
+ extern const char *krb_err_txt[];
KTEXT_ST ticket;
AUTH_DAT authdata;
struct hostent *hp;
>Audit-Trail:
>Unformatted: