]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Integrate keytab-based decryption into afsconf_ServerAuth
authorChaskiel Grundman <cg2v@andrew.cmu.edu>
Sun, 10 Feb 2013 18:27:03 +0000 (13:27 -0500)
committerRuss Allbery <rra@debian.org>
Mon, 22 Jul 2013 22:25:33 +0000 (15:25 -0700)
Now all servers can have it, though they must call
rxkad_BindKeytabDecrypt themselves.

Change-Id: I95fecb3f88c19b3d5193ea8200fa20c86ec08ad7

26 files changed:
src/auth/Makefile.in
src/auth/authcon.c
src/bozo/Makefile.in
src/bucoord/Makefile.in
src/budb/Makefile.in
src/butc/Makefile.in
src/cf/kerberos.m4
src/config/Makefile.config.in
src/fsprobe/Makefile.in
src/kauth/Makefile.in
src/libafsauthent/Makefile.in
src/ptserver/Makefile.in
src/scout/Makefile.in
src/shlibafsauthent/Makefile.in
src/tbutc/Makefile.in
src/tsm41/Makefile.in
src/tviced/Makefile.in
src/tvolser/Makefile.in
src/update/Makefile.in
src/uss/Makefile.in
src/util/dirpath.c
src/util/dirpath.hin
src/venus/Makefile.in
src/viced/Makefile.in
src/vlserver/Makefile.in
src/volser/Makefile.in

index 34deb37896915b5267737f98c4cc3a622e953f65..552f69b1eeb53a56084f59d5eacce0b15b4492a3 100644 (file)
@@ -36,7 +36,10 @@ depinstall: \
 cellconfig.o: cellconfig.c ${INCLS}
 ktc.o: ktc.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
 writeconfig.o: writeconfig.c ${INCLS}
+
 authcon.o: authcon.c ${INCLS}
+       ${CCOBJ} ${CFLAGS} -c ${srcdir}/authcon.c @KRB5CFLAGS@
+
 userok.o: userok.c ${INCLS}
 cellconfig.o: cellconfig.c ${INCLS}
 copyauth.o: copyauth.c ${INCLS} AFS_component_version_number.o
index 76fff02b14ad4e399a07ec2c6c447e9789911989..85b59ec34d8652f16489691ca0df03009cf6e5d3 100644 (file)
@@ -45,6 +45,9 @@
 #include <des.h>
 #include <des_prototypes.h>
 #include <rx/rxkad.h>
+#ifdef USE_RXKAD_KEYTAB
+#include <afs/dirpath.h>
+#endif
 #include <rx/rx.h>
 #include "cellconfig.h"
 #include "keys.h"
@@ -71,12 +74,30 @@ afsconf_ServerAuth(register struct afsconf_dir *adir,
 {
     register struct rx_securityClass *tclass;
 
+#ifdef USE_RXKAD_KEYTAB
+    int keytab_enable = 0;
+    char *keytab_name;
+    size_t ktlen;
+    ktlen = 5 + strlen(adir->name) + 1 + strlen(AFSDIR_RXKAD_KEYTAB_FILE) + 1;
+    keytab_name = malloc(ktlen);
+    if (keytab_name != NULL) {
+       strcompose(keytab_name, ktlen, "FILE:", adir->name, "/",
+                  AFSDIR_RXKAD_KEYTAB_FILE, (char *)NULL);
+       if (rxkad_InitKeytabDecrypt(keytab_name) == 0)
+           keytab_enable = 1;
+       free(keytab_name);
+    }
+#endif
     LOCK_GLOBAL_MUTEX;
     tclass = (struct rx_securityClass *)
        rxkad_NewServerSecurityObject(0, adir, afsconf_GetKey, NULL);
     if (tclass) {
        *astr = tclass;
        *aindex = 2;            /* kerberos security index */
+#ifdef USE_RXKAD_KEYTAB
+       if (keytab_enable)
+           rxkad_BindKeytabDecrypt(tclass);
+#endif
        UNLOCK_GLOBAL_MUTEX;
        return 0;
     } else {
index 6ceac74ec24f84504b5ab42f812f67d5f5371643..592f54b63e03560f29793ec367e4050155484b48 100644 (file)
@@ -78,12 +78,12 @@ bosoprocs.o: bosoprocs.c ${INCLS}
 bos.o: bos.c ${INCLS} AFS_component_version_number.o
 
 bos: bos.o $(LIBS) libbos.a
-       ${CC} ${CFLAGS} -o bos bos.o libbos.a $(LIBS)  ${XLIBS}
+       ${CC} ${CFLAGS} -o bos bos.o libbos.a $(LIBS)  ${XLIBS} ${KRB5_LIBS}
 
 bos_util.o: bos_util.c ${INCLS} AFS_component_version_number.o
 
 bos_util: bos_util.o $(LIBS) 
-       ${CC} ${CFLAGS} -o bos_util bos_util.o $(LIBS)  ${XLIBS}
+       ${CC} ${CFLAGS} -o bos_util bos_util.o $(LIBS)  ${XLIBS} ${KRB5_LIBS}
 
 ezbnodeops.o: ezbnodeops.c ${INCLS}
 
@@ -95,7 +95,7 @@ libbos.a: bosint.xdr.o bosint.cs.o boserr.o AFS_component_version_number.o
        $(RANLIB) $@
 
 bosserver: $(OBJS) $(LIBS)
-       ${CC} $(CFLAGS) -o bosserver $(OBJS) ${TOP_LIBDIR}/libaudit.a $(LIBS)  ${XLIBS} 
+       ${CC} $(CFLAGS) -o bosserver $(OBJS) ${TOP_LIBDIR}/libaudit.a $(LIBS)  ${XLIBS} ${KRB5_LIBS}
 
 #
 # Install targets
index c40c2d07cd390062947a4394cfcfd878de73b64c..b724dcb7202b74ffc21f049d94183db7f2f27e40 100644 (file)
@@ -52,7 +52,7 @@ main.o: AFS_component_version_number.c
 $(BACKOBJS): bc.h ${TOP_INCDIR}/afs/butc.h
 
 backup:  $(BACKOBJS) ${LIBS}
-       ${CC} ${CFLAGS} -o backup $(BACKOBJS) ${LIBS} ${XLIBS}
+       ${CC} ${CFLAGS} -o backup $(BACKOBJS) ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 bucoord_errs.c bc.h:   bucoord_errs.et bc.p.h
        $(RM) -f bc.h bucoord_errs.c
index 4d3cbcf64a69654efa1ec7a074758af35f88b2d1..bd091639cbaf82ae08c8aec7d17f6d070816594d 100644 (file)
@@ -71,7 +71,7 @@ struct_ops.o: budb_errs.h
 server.o: server.c budb_errs.h ${INCLS} AFS_component_version_number.c
 
 budb_server: $(SERVER_OBJS) ${LIBS}
-       ${CC} ${LDFLAGS} -o budb_server $(SERVER_OBJS) ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o budb_server $(SERVER_OBJS) ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 budb.cs.c: budb.rg
        ${RXGEN} -A -u -C -o $@ ${srcdir}/budb.rg
index 51c7922ac87f944ad775398d097e1b4683315b15..632399585ca6c13b4d84623ceaf3b289373adf9f 100644 (file)
@@ -52,15 +52,15 @@ SOBJS=dbentries.o tcprocs.o lwps.o tcmain.o list.o recoverDb.o tcudbprocs.o \
 all: butc read_tape
 
 butc_test: ${TESTOBJS} ${LIBS} ${INCLS} ${HACKS}
-       ${CC} ${CFLAGS} ${TESTOBJS} ${LIBS} ${XLIBS} -o butc_test
+       ${CC} ${CFLAGS} ${TESTOBJS} ${LIBS} ${XLIBS} ${KRB5_LIBS} -o butc_test
 
 tdump: tdump.c AFS_component_version_number.c
        ${CC} ${CFLAGS} ${srcdir}/tdump.c -o tdump
 
 butc: ${SOBJS} ${LIBS} ${INCLS} ${HACKS}
        @case ${SYS_NAME} in \
-         rs_aix*) ${CC} ${CFLAGS} ${SOBJS} ${LIBS} ${XLIBS} /usr/lib/libc_r.a -o butc;; \
-         *)        ${CC} ${CFLAGS} ${SOBJS} ${LIBS} ${XLIBS} -o butc;; \
+         rs_aix*) ${CC} ${CFLAGS} ${SOBJS} ${LIBS} ${XLIBS} ${KRB5_LIBS} /usr/lib/libc_r.a -o butc;; \
+         *)        ${CC} ${CFLAGS} ${SOBJS} ${LIBS} ${XLIBS} ${KRB5_LIBS} -o butc;; \
        esac
 
 tcmain.o: tcmain.c ${INCLS} AFS_component_version_number.c
index 6decb385b61ff0b67ae2adaa20b5f6ce64aa55a8..b19f7f1809c42f90e32b062c523747fddbd6a18b 100644 (file)
@@ -56,6 +56,8 @@ if test X$conf_krb5 = XYES; then
        AC_MSG_RESULT([Configuring support for Kerberos 5 utilities])
        BUILD_KRB5=yes
        MAKE_KRB5=
+       AC_DEFINE([USE_RXKAD_KEYTAB], 1,
+                 [Define to 1 if krb5 libraries are available and rxkad can use keytabs])
        save_CPPFLAGS="$CPPFLAGS"
        CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
        save_LIBS="$LIBS"
index 6e723856a3310503fdfd748e8c48d0b7253ae575..99a7588f9322b0c952ce45a948e237aeba18da69 100644 (file)
@@ -43,6 +43,7 @@ DEST = @DEST@
 FSINCLUDES = @FSINCLUDES@
 KERN_DBG = @KERN_DBG@
 KERN_OPTMZ = @KERN_OPTMZ@
+KRB5_LIBS = @KRB5LIBS@
 LD = @LD@
 LEX = @LEX@
 LIB_AFSDB = @LIB_AFSDB@
index c3ab825a40774c987fc47b94fae766f5193bb364..d4ffced0e249b4136541dca21eff405b0f175a71 100644 (file)
@@ -41,7 +41,7 @@ fsprobe_callback.o: fsprobe_callback.c ${INCLS}
 
 fsprobe_test: fsprobe_test.o libfsprobe.a ${LIBS}
        ${CC} ${CFLAGS} -o fsprobe_test fsprobe_test.o libfsprobe.a \
-               ${LIBS} ${XLIBS}
+               ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 #
 # Install targets
index 773251fdd3ec5836194a4688ce688a9f10bfe963..2c20dc800d0b44856476c6882a70d6b905291007 100644 (file)
@@ -67,7 +67,7 @@ test tests: all
        cd test; $(MAKE)
 
 kaserver: kautils.o kalocalcell.o kadatabase.o kaprocs.o kalog.o kauth.ss.o kauth.xdr.o kaserver.o kaaux.o krb_udp.o kaauxdb.o $(LIBS) 
-       ${CC} ${LDFLAGS} -o kaserver kaserver.o kautils.o kalocalcell.o kadatabase.o krb_udp.o kaprocs.o kalog.o kauth.ss.o kauth.xdr.o kaaux.o kaauxdb.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
+       ${CC} ${LDFLAGS} -o kaserver kaserver.o kautils.o kalocalcell.o kadatabase.o krb_udp.o kaprocs.o kalog.o kauth.ss.o kauth.xdr.o kaaux.o kaauxdb.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a ${KRB5_LIBS}
 
 kaserver.o: kaserver.c ${INCLS} AFS_component_version_number.o
 
@@ -147,19 +147,19 @@ krb_tf.o: krb_tf.c ${INCLS}
 
 kas: kauth.h kautils.h admin_tools.o libkauth.a $(LIBS) kas.o kkids.o
        ${CC} ${LDFLAGS} -o kas kas.o admin_tools.o kkids.o libkauth.a \
-                       ${LIBS} ${XLIBS}
+                       ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 klog: AFS_component_version_number.o kauth.h kautils.h libkauth.a $(LIBS) \
        klog.o
-       ${CC} ${LDFLAGS} -o klog klog.o libkauth.a ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o klog klog.o libkauth.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 klog.o: klog.c kauth.h kautils.h AFS_component_version_number.o
 
 klog.krb: kauth.h kautils.h libkauth.krb.a $(KLIBS) klog.o
-       ${CC} ${LDFLAGS} -o klog.krb klog.o libkauth.krb.a ${KLIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o klog.krb klog.o libkauth.krb.a ${KLIBS} ${XLIBS} ${KRB5_LIBS}
 
 knfs: kauth.h kautils.h libkauth.a $(LIBS) knfs.o
-       ${CC} ${LDFLAGS} -o knfs knfs.o libkauth.a ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o knfs knfs.o libkauth.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 knfs.o: knfs.c AFS_component_version_number.o
 
@@ -167,22 +167,22 @@ klogin.o: klogin.c ${INCLS} AFS_component_version_number.o
        ${CC} ${CFLAGS} -c ${srcdir}/klogin.c -DKAUTH
 
 klogin: libkauth.a $(LIBS) klogin.o
-       ${CC} ${LDFLAGS} -o klogin klogin.o libkauth.a ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o klogin klogin.o libkauth.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 klogin.krb: libkauth.a $(KLIBS) klogin.o
-       ${CC} ${LDFLAGS} -o klogin.krb klogin.o libkauth.krb.a ${KLIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o klogin.krb klogin.o libkauth.krb.a ${KLIBS} ${XLIBS} ${KRB5_LIBS}
 
 kpasswd.o: kauth.h kautils.h ${INCLS} kpasswd.c AFS_component_version_number.o
        ${CC} ${CFLAGS} -c ${srcdir}/kpasswd.c 
 
 kpasswd: kauth.h kautils.h libkauth.a $(LIBS) kpasswd.o kkids.o
-       ${CC} ${LDFLAGS} -o kpasswd kpasswd.o kkids.o libkauth.a ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o kpasswd kpasswd.o kkids.o libkauth.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 kpwvalid.o: kpwvalid.c AFS_component_version_number.o
        ${CC} ${CFLAGS} -c ${srcdir}/kpwvalid.c
 
 kpwvalid: kpwvalid.o $(LIBS)
-       ${CC} ${LDFLAGS} -o kpwvalid kpwvalid.o ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o kpwvalid kpwvalid.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 user.krb.o: user.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
        ${CCOBJ} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/user.c -o user.krb.o
@@ -191,7 +191,7 @@ user.o: user.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
        ${CCOBJ} ${CFLAGS} -c ${srcdir}/user.c
 
 kdb: kdb.o ${INCLS} ${LIBS} libkauth.a
-       ${CC} ${LDFLAGS} -o kdb kdb.o libkauth.a ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o kdb kdb.o libkauth.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 kdb.o: kdb.c AFS_component_version_number.o
 
@@ -201,12 +201,12 @@ krb_udp: krb_udp.o libkauth.a $(KLIBS)
        ${CC} ${LDFLAGS} -o krb_udp krb_udp.o libkauth.a $(KLIBS)
 
 ka-forwarder: ka-forwarder.o
-       ${CC} -o $@ ${CFLAGS} ka-forwarder.o ${LIBS} ${XLIBS}
+       ${CC} -o $@ ${CFLAGS} ka-forwarder.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 rebuild.o: rebuild.c $(INCLS) AFS_component_version_number.o
 
 rebuild: rebuild.o kautils.o $(LIBS)
-       ${CC} ${LDFLAGS} -o rebuild rebuild.o kautils.o $(LIBS)
+       ${CC} ${LDFLAGS} -o rebuild rebuild.o kautils.o $(LIBS) ${KRB5_LIBS}
 
 #
 # Install targets
index f8eb58bfa3fbd073eb08d04c29080c0a0e82512b..9b6d0341916c9c3d521cd2da4b97309ecf41b91f 100644 (file)
@@ -63,7 +63,7 @@ UTILOBJS = \
        fileutil.o
 
 RXKADOBJS = \
-       rxkad_errs.o
+       rxkad_errs.o @MAKE_KRB5@ ticket5_keytab.o
 
 SYSOBJS = \
        rmtsysc.o \
@@ -120,7 +120,7 @@ writeconfig.o: ${AUTH}/writeconfig.c
        ${CCRULE}
 
 authcon.o: ${AUTH}/authcon.c
-       ${CCRULE}
+       ${CCRULE} @KRB5CFLAGS@
 
 ktc_errors.o: ${AUTH}/ktc_errors.c
        ${CCRULE}
@@ -197,6 +197,9 @@ pthread_glock.o: ${UTIL}/pthread_glock.c
 rxkad_errs.o: ${RXKAD}/rxkad_errs.c
        ${CCRULE}
 
+ticket5_keytab.o: ${RXKAD}/ticket5_keytab.c
+       ${CCRULE} @KRB5CFLAGS@
+
 ptclient.o: ${PTSERVER}/ptclient.c
        ${CCRULE}
 
index dee0528c2809229a4a2cc48497be451edbd93eb5..934e51da40a397c1b2918b83fc60e851c2bb7c16 100644 (file)
@@ -57,7 +57,7 @@ depinstall: \
 # Build targets
 #
 ptserver: ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o $(LIBS) ${TOP_LIBDIR}/libaudit.a map.o
-       $(CC) ${CFLAGS} -o ptserver ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o map.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
+       $(CC) ${CFLAGS} -o ptserver ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o map.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a ${KRB5_LIBS}
 
 ptserver.o: ptserver.c ${INCLS} AFS_component_version_number.c
 
@@ -103,10 +103,10 @@ display.o: display.c ${INCLS}
 db_verify.o: db_verify.c ${INCLS} AFS_component_version_number.c
 
 db_verify: db_verify.o pterror.o display.o $(LIBS)
-       $(CC) ${CFLAGS} -o db_verify db_verify.o display.o pterror.o $(LIBS) ${XLIBS}
+       $(CC) ${CFLAGS} -o db_verify db_verify.o display.o pterror.o $(LIBS) ${XLIBS} ${KRB5_LIBS}
 
 ptclient: ptclient.o display.o libprot.a $(LIBS)
-       $(CC) ${CFLAGS} -o ptclient ptclient.o display.o libprot.a $(LIBS) ${XLIBS}
+       $(CC) ${CFLAGS} -o ptclient ptclient.o display.o libprot.a $(LIBS) ${XLIBS} ${KRB5_LIBS}
 
 ptclient.o: ptclient.c ${INCLS} AFS_component_version_number.c
 
@@ -122,32 +122,32 @@ libprot.a: ptuser.o pterror.o ptint.cs.o ptint.xdr.o AFS_component_version_numbe
        $(RANLIB) $@
 
 pts: pts.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS)
-       $(CC) ${CFLAGS} -o pts pts.o ${TOP_LIBDIR}/libcmd.a libprot.a ${LIBS} ${XLIBS}
+       $(CC) ${CFLAGS} -o pts pts.o ${TOP_LIBDIR}/libcmd.a libprot.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 pts.o: pts.c ${LINCLS} ${TOP_INCDIR}/afs/cmd.h AFS_component_version_number.c
 
 readgroup: readgroup.o libprot.a $(LIBS)
-       $(CC) ${CFLAGS} -o readgroup readgroup.o libprot.a ${LIBS} ${XLIBS}
+       $(CC) ${CFLAGS} -o readgroup readgroup.o libprot.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 readgroup.o: readgroup.c ${LINCLS} AFS_component_version_number.c
 
 readpwd: readpwd.o libprot.a $(LIBS)
-       $(CC) ${CFLAGS} -o readpwd readpwd.o libprot.a ${LIBS} ${XLIBS}
+       $(CC) ${CFLAGS} -o readpwd readpwd.o libprot.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 readpwd.o: readpwd.c ${LINCLS} AFS_component_version_number.c
 
 testpt: testpt.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS)
        case "$(SYS_NAME)" in \
        *_darwin_12 ) \
-               $(CC) ${CFLAGS} -o testpt testpt.o ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ;; \
+               $(CC) ${CFLAGS} -o testpt testpt.o ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ${KRB5_LIBS} ;; \
        * ) \
-               $(CC) ${CFLAGS} -o testpt testpt.o -lm ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ${XLIBS} ;; \
+               $(CC) ${CFLAGS} -o testpt testpt.o -lm ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ${XLIBS} ${KRB5_LIBS} ;; \
        esac
 
 testpt.o: testpt.c ${INCLS} ${TOP_INCDIR}/afs/cmd.h AFS_component_version_number.c
 
 pt_util: pt_util.o ptutils.o ubik.o utils.o map.o libprot.a $(LIBS)
-       $(CC) ${CFLAGS} -o pt_util pt_util.o ptutils.o ubik.o utils.o map.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS) ${XLIBS}
+       $(CC) ${CFLAGS} -o pt_util pt_util.o ptutils.o ubik.o utils.o map.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS) ${XLIBS} ${KRB5_LIBS}
 
 ubik.o: ubik.c ${INCLS}
 
index 5007c85ee371cbbd17d95574cf06f164a65cb519..82eba40a97d592d4a67ea5ee29b65f4b46a013a5 100644 (file)
@@ -49,7 +49,7 @@ all: scout
 scout.o: scout.c ${INCLS} AFS_component_version_number.c
 
 scout: scout.o $(LIBS)
-       ${CC} ${LDFLAGS} -o scout scout.o $(LIBS) ${TXLIBS} ${TOP_LIBDIR}/libtermlib.a ${XLIBS}
+       ${CC} ${LDFLAGS} -o scout scout.o $(LIBS) ${TXLIBS} ${TOP_LIBDIR}/libtermlib.a ${XLIBS} ${KRB5_LIBS}
 
 #
 # Installation targets
index b66674a664867d8490df491db2f8cf239a8e9c34..f0aea618829cd62cb544804c4d092f4c6e30946c 100644 (file)
@@ -68,7 +68,7 @@ UTILOBJS = \
        fileutil.o
 
 RXKADOBJS = \
-       rxkad_errs.o
+       rxkad_errs.o @MAKE_KRB5@ ticket5_keytab.o
 
 SYSOBJS = \
        rmtsysc.o \
@@ -150,7 +150,7 @@ writeconfig.o: ${AUTH}/writeconfig.c
        ${CCRULE}
 
 authcon.o: ${AUTH}/authcon.c
-       ${CCRULE}
+       ${CCRULE} @KRB5CFLAGS@
 
 ktc_errors.o: ${AUTH}/ktc_errors.c
        ${CCRULE}
@@ -227,6 +227,9 @@ pthread_glock.o: ${UTIL}/pthread_glock.c
 rxkad_errs.o: ${RXKAD}/rxkad_errs.c
        ${CCRULE}
 
+ticket5_keytab.o: ${RXKAD}/ticket5_keytab.c
+       ${CCRULE} @KRB5CFLAGS@
+
 ptclient.o: ${PTSERVER}/ptclient.c
        ${CCRULE}
 
index 4d798e8239c2a7d92b653f9c7e08399fd0b2ecf4..76040cc20e22f7573b37ead1cf1ccf5adcbd397d 100644 (file)
@@ -66,7 +66,7 @@ BUTCLIBS=${TOP_LIBDIR}/libbudb.a \
 all: butc
 
 butc: ${BUTCOBJS} ${BUTCLIBS}
-       ${CC} ${CFLAGS} ${BUTCOBJS} ${BUTCLIBS} ${MT_LIBS} ${XLIBS} -o butc
+       ${CC} ${CFLAGS} ${BUTCOBJS} ${BUTCLIBS} ${MT_LIBS} ${XLIBS} ${KRB5_LIBS} -o butc
 
 libbutm.a: ${BUTMOBJS} AFS_component_version_number.o
        -$(RM) -f libbutm.a
index b462a751b7810ca533eeb526934fc9d94e62b888..b2855d80179f88bd34bfddb8fb6c904a9de4f7f5 100644 (file)
@@ -72,13 +72,13 @@ clean:
        $(RM) -f *.o $(AUTHLIBS) $(AUTHFILES) so_locations
 
 afs_dynamic_auth: ${AUTH_OBJS} ${AFSLIBS} ${AUTHFILES}
-       $(LD) -o $@ ${AUTH_OBJS} $(AFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
+       $(LD) -o $@ ${AUTH_OBJS} $(AFSLIBS) ${AUTHFILES} @KRB5LIBS@ ${XLIBS} ${LDFLAGS}
 
 aklog_dynamic_auth: ${AUTH_KRB5_OBJS} ${AFSLIBS} ${AUTHFILES}
        $(LD) -o $@ ${AUTH_KRB5_OBJS} $(AFSLIBS) ${AUTHFILES} @KRB5LIBS@ ${XLIBS} ${AKLDFLAGS}
 
 afs_dynamic_kerbauth: ${AUTH_KRB_OBJS} ${KAFSLIBS} ${AUTHFILES}
-       $(LD) -o $@ ${AUTH_KRB_OBJS} $(KAFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
+       $(LD) -o $@ ${AUTH_KRB_OBJS} $(KAFSLIBS) ${AUTHFILES} @KRB5LIBS@ ${XLIBS} ${LDFLAGS}
 
 aix_auth_common.o: ${srcdir}/aix_auth_common.c
        ${CCRULE}
index b0bbf3a3326db677461ac07d917d51a4d23db814..86a518631d6f91ac2e22eb44eeab0d3377238a43 100644 (file)
@@ -185,7 +185,7 @@ afsint.xdr.o: ${FSINT}/afsint.xdr.c
        ${CCRULE}
 
 fileserver: ${objects} ${LIBS}
-       ${CC} ${LDFLAGS} -o fileserver ${objects} ${LIBS} ${MT_LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o fileserver ${objects} ${LIBS} ${MT_LIBS} ${XLIBS} ${KRB5_LIBS}
 
 ${DEST}/root.server/usr/afs/bin/fileserver: fileserver
        ${INSTALL} -ns $? $@
index 153446df936105be252dce93dddcd9e21afbf588..8b62df4cdc6eb86509da38af1cad967dc057f1cc 100644 (file)
@@ -189,7 +189,7 @@ afsint.xdr.o: ${FSINT}/afsint.xdr.c
        ${COMPILE}
 
 volserver: ${objects} ${LIBS}
-       ${CC} ${LDFLAGS} -o volserver ${objects} ${LIBS} ${MT_LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o volserver ${objects} ${LIBS} ${MT_LIBS} ${XLIBS} ${KRB5_LIBS}
 
 ${DEST}/root.server/usr/afs/bin/volserver: volserver
        ${INSTALL} -ns $? $@
index 5842c1d3a8abedb2e75c4b13fadd240e71a1f932..55a5d3997b1e1328d8b2213e18c39bf2e36dba8d 100644 (file)
@@ -23,10 +23,10 @@ all: upserver upclient
 # Build targets
 #
 upclient: client.o update.cs.o utils.o ${LIBS} 
-       ${CC} ${CFLAGS} -o upclient client.o update.cs.o utils.o ${LIBS} ${XLIBS}
+       ${CC} ${CFLAGS} -o upclient client.o update.cs.o utils.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 upserver: server.o utils.o update.ss.o ${LIBS}
-       ${CC} ${CFLAGS} -o upserver server.o utils.o update.ss.o ${LIBS} ${XLIBS}
+       ${CC} ${CFLAGS} -o upserver server.o utils.o update.ss.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 utils.o: utils.c update.h global.h
 
index ab2c10e6fd1f62c95c6132130eff9672a15cbc6d..6229984828b85c5cce8539994583df5952e9f46e 100644 (file)
@@ -46,7 +46,7 @@ OBJS =  uss_procs.o \
        y.tab.o 
 
 uss: uss.o ${OBJS} 
-       ${CC} ${CFLAGS} -o uss uss.o ${OBJS} ${LIBS}
+       ${CC} ${CFLAGS} -o uss uss.o ${OBJS} ${LIBS} ${KRB5_LIBS}
 
 uss.o:  uss.c AFS_component_version_number.c
        ${CC} -c ${CFLAGS} ${srcdir}/uss.c
index a40041f9c72280253d3f558aaf62f0d0ce3d3c33..b8d5523f10835ef347b8a22e5f49c0290b6fe8c6 100644 (file)
@@ -366,6 +366,9 @@ initDirPathArray(void)
     pathp = dirPathArray[AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID];
     AFSDIR_SERVER_FILEPATH(pathp, AFSDIR_SERVER_ETC_DIR, AFSDIR_KRB_EXCL_FILE);
 
+    pathp = dirPathArray[AFSDIR_SERVER_RXKAD_KEYTAB_FILEPATH_ID];
+    AFSDIR_SERVER_FILEPATH(pathp, AFSDIR_SERVER_ETC_DIR, AFSDIR_RXKAD_KEYTAB_FILE);
+
     /* client file paths */
 #ifdef AFS_NT40_ENV
     strcpy(dirPathArray[AFSDIR_CLIENT_THISCELL_FILEPATH_ID],
index 23590ad4a92ca2775248529b1e947c2ba0836eca..5e46735719189cbea515f7f501ddf55a32d14f2d 100644 (file)
@@ -145,6 +145,7 @@ ConstructLocalLogPath(const char *cpath,
 #define AFSDIR_VOLSERLOG_FILE   "VolserLog"
 #define AFSDIR_AUDIT_FILE       "Audit"
 #define AFSDIR_KRB_EXCL_FILE    "krb.excl"
+#define AFSDIR_RXKAD_KEYTAB_FILE "rxkad.keytab"
 
 #define AFSDIR_ROOTVOL_FILE     "RootVolume"
 #define AFSDIR_HOSTDUMP_FILE    "hosts.dump"
@@ -264,6 +265,7 @@ typedef enum afsdir_id {
       AFSDIR_SERVER_BIN_FILE_DIRPATH_ID,
       AFSDIR_CLIENT_CELLALIAS_FILEPATH_ID,
       AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID,
+      AFSDIR_SERVER_RXKAD_KEYTAB_FILEPATH_ID,
       AFSDIR_PATHSTRING_MAX } afsdir_id_t;
 
 /* getDirPath() returns a pointer to a string from an internal array of path strings 
@@ -332,6 +334,7 @@ const char *getDirPath(afsdir_id_t string_id);
 #define AFSDIR_SERVER_THRESHOLD_CONSTANTS_FILEPATH getDirPath(AFSDIR_SERVER_THRESHOLD_CONSTANTS_FILEPATH_ID)
 #define AFSDIR_SERVER_MIGRATELOG_FILEPATH getDirPath(AFSDIR_SERVER_MIGRATELOG_FILEPATH_ID)
 #define AFSDIR_SERVER_KRB_EXCL_FILEPATH getDirPath(AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID)
+#define AFSDIR_SERVER_RXKAD_KEYTAB_FILEPATH getDirPath(AFSDIR_SERVER_RXKAD_KEYTAB_FILEPATH_ID)
 
 /* client file paths */
 #define AFSDIR_CLIENT_THISCELL_FILEPATH getDirPath(AFSDIR_CLIENT_THISCELL_FILEPATH_ID)
index 8b5412e5ebc83408408e1292bd705beebb4e4c80..53e85f2930a7c4388c09a3c4cd1959855740513d 100644 (file)
@@ -47,7 +47,7 @@ all: fs up fstrace cmdebug livesys kdump-build
 # Build targets
 #
 cacheout: cacheout.o
-       $(CC) ${CFLAGS} -o cacheout cacheout.o ${LIBS} ${XLIBS} ${CMLIBS}
+       $(CC) ${CFLAGS} -o cacheout cacheout.o ${LIBS} ${XLIBS} ${CMLIBS} ${KRB5_LIBS}
 
 cacheout.o: cacheout.c
 
@@ -76,15 +76,15 @@ up: up.o
 fs.o: fs.c ${INCLS} AFS_component_version_number.c
 
 fs: fs.o $(LIBS)
-       ${CC} ${CFLAGS} -o fs fs.o ${TOP_LIBDIR}/libprot.a $(LIBS) ${XLIBS}
+       ${CC} ${CFLAGS} -o fs fs.o ${TOP_LIBDIR}/libprot.a $(LIBS) ${XLIBS} ${KRB5_LIBS}
 
 livesys.o: livesys.c ${INCLS} AFS_component_version_number.c
 
 livesys: livesys.c $(LIBS)
-       ${CC} ${CFLAGS} -o livesys ${srcdir}/livesys.c $(LIBS) ${XLIBS}
+       ${CC} ${CFLAGS} -o livesys ${srcdir}/livesys.c $(LIBS) ${XLIBS} ${KRB5_LIBS}
 
 twiddle: twiddle.c $(LIBS)
-       ${CC} ${CFLAGS} -o twiddle ${srcdir}/twiddle.c $(LIBS) ${XLIBS}
+       ${CC} ${CFLAGS} -o twiddle ${srcdir}/twiddle.c $(LIBS) ${XLIBS} ${KRB5_LIBS}
 
 gcpags: gcpags.c $(LIBS)
        ${CC} ${CFLAGS} -o gcpags ${srcdir}/gcpags.c $(LIBS) ${XLIBS}
@@ -92,7 +92,7 @@ gcpags: gcpags.c $(LIBS)
 whatfid.o: whatfid.c ${INCLS} AFS_component_version_number.c
 
 whatfid: whatfid.o ${LIBS}
-       ${CC} ${CFLAGS} -o whatfid whatfid.o ${LIBS} ${XLIBS}
+       ${CC} ${CFLAGS} -o whatfid whatfid.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 fstrace.o: fstrace.c AFS_component_version_number.c
        case ${SYS_NAME} in \
@@ -121,8 +121,7 @@ fstrace: fstrace.o
 cmdebug.o: cmdebug.c ${INCLS} AFS_component_version_number.c
 
 cmdebug: cmdebug.o ${CMLIBS}
-       $(CC) -o cmdebug cmdebug.o ${CFLAGS} ${CMLIBS} ${XLIBS}
-
+       $(CC) -o cmdebug cmdebug.o ${CFLAGS} ${CMLIBS} ${XLIBS} ${KRB5_LIBS}
 
 
 #
index 1b7d23f597ead4cdce4c4cccdaa780df6d58ba7b..8a54a26865c5a618aae2bd767ed36cedf042bd7e 100644 (file)
@@ -72,23 +72,23 @@ fileserver: ${objects} ${headers} ${LIBS}
        case ${SYS_NAME} in \
        rs_aix*) \
            ${CC} -K ${LDFLAGS} -o fileserver ${objects} \
-           ${TOP_LIBDIR}/libaudit.a ${LIBS} ${XLIBS} ;; \
+           ${TOP_LIBDIR}/libaudit.a ${LIBS} ${XLIBS} ${KRB5_LIBS} ;; \
        *) \
            ${CC} ${LDFLAGS} -o fileserver ${objects} \
-           ${TOP_LIBDIR}/libaudit.a ${LIBS} ${XLIBS} ;; \
+           ${TOP_LIBDIR}/libaudit.a ${LIBS} ${XLIBS} ${KRB5_LIBS} ;; \
        esac
 
 fsprobe.o: fsprobe.c AFS_component_version_number.c
        ${CC} ${CFLAGS} -DINTERPRET_DUMP -c ${srcdir}/fsprobe.c
 
 fsprobe: fsprobe.o
-       ${CC} ${CFLAGS} -o fsprobe fsprobe.o ${LIBS} ${XLIBS} 
+       ${CC} ${CFLAGS} -o fsprobe fsprobe.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 cbd.o: callback.c AFS_component_version_number.c
        ${CC} ${CFLAGS} -DINTERPRET_DUMP -c -o cbd.o ${srcdir}/callback.c
 
 cbd: cbd.o
-       ${CC} ${CFLAGS} -DINTERPRET_DUMP -o cbd cbd.o ${LIBS} ${XLIBS} 
+       ${CC} ${CFLAGS} -DINTERPRET_DUMP -o cbd cbd.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 ${DEST}/root.server/usr/afs/bin/fileserver: fileserver
        @case ${SYS_NAME} in \
index d4d45a869b57871362187457c3d892b5a63c7071..33bd64b4aa865a0f56505ae5ccfcd093a0e6d898 100644 (file)
@@ -46,23 +46,23 @@ depinstall: \
        ${TOP_INCDIR}/afs/cnvldb.h 
 
 vldb_check: vldb_check.o ${LIBS}
-       $(CC) ${CFLAGS} -o vldb_check vldb_check.o ${LIBS} ${XLIBS} 
+       $(CC) ${CFLAGS} -o vldb_check vldb_check.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 vldb_check.o: vldb_check.c AFS_component_version_number.o
 
 cnvldb: cnvldb.o ${LIBS}
-       $(CC) ${CFLAGS} -o cnvldb cnvldb.o ${LIBS} ${XLIBS}
+       $(CC) ${CFLAGS} -o cnvldb cnvldb.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 cnvldb.o: cnvldb.c cnvldb.h AFS_component_version_number.o
 
 sascnvldb: sascnvldb.o ${LIBS}
-       $(CC) ${CFLAGS} -o sascnvldb sascnvldb.o ${LIBS} ${XLIBS}
+       $(CC) ${CFLAGS} -o sascnvldb sascnvldb.o ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 sascnvldb.o: sascnvldb.c cnvldb.h AFS_component_version_number.o
 
 vlserver: vlserver.o vlutils.o vlprocs.o vldbint.ss.o vldbint.xdr.o $(LIBS)
        $(CC) ${CFLAGS} -o vlserver vlserver.o vlutils.o vlprocs.o vldbint.ss.o \
-               vldbint.xdr.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
+               vldbint.xdr.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a ${KRB5_LIBS}
 
 vlserver.o: vlserver.c ${INCLS} AFS_component_version_number.o
 vlutils.o: vlutils.c ${INCLS}
@@ -99,7 +99,7 @@ libvldb.a: $(OBJS) AFS_component_version_number.o
        $(RANLIB) $@
 
 vlclient: vlclient.o libvldb.a $(LIBS)
-       $(CC) ${CFLAGS} -o vlclient vlclient.o libvldb.a $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libcmd.a
+       $(CC) ${CFLAGS} -o vlclient vlclient.o libvldb.a $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libcmd.a ${KRB5_LIBS}
 
 vlclient.o: vlclient.c ${INCLS} AFS_component_version_number.o
 
index dd4e7aefa391a62e2529586821fb7ffa55b8a39c..7d552e727737d37b5bf676c386d3a65da114c1e2 100644 (file)
@@ -65,11 +65,11 @@ restorevol: restorevol.c
                ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
 
 vos: vos.o ${VSOBJS} libvolser.a ${LIBS}
-       ${CC} ${LDFLAGS} -o vos vos.o $(VSOBJS) libvolser.a ${LIBS} ${XLIBS}
+       ${CC} ${LDFLAGS} -o vos vos.o $(VSOBJS) libvolser.a ${LIBS} ${XLIBS} ${KRB5_LIBS}
 
 volserver: $(SOBJS) $(LIBS) ${TOP_LIBDIR}/libdir.a
        ${CC} ${DBUG} -o volserver $(SOBJS) ${TOP_LIBDIR}/libdir.a \
-               ${LDFLAGS} $(LIBS) ${XLIBS}
+               ${LDFLAGS} $(LIBS) ${XLIBS} ${KRB5_LIBS}
 
 voldump: vol-dump.o ${VOLDUMP_LIBS}
        ${CC} ${CFLAGS} -o voldump vol-dump.o ${VOLDUMP_LIBS} ${XLIBS}