From c8503d73a1d02829bdb23e5403df15844f065478 Mon Sep 17 00:00:00 2001 From: Marcus Watts Date: Fri, 5 Jan 2007 03:21:34 +0000 Subject: [PATCH] asetkey-with-heimdal-20070104 FIXES 50973 just make asetkey build with heimdal --- src/aklog/Makefile.in | 18 +++++++----------- src/aklog/asetkey.c | 32 +++++++++++++++++++++++++++++--- src/cf/kerberos.m4 | 7 ------- 3 files changed, 36 insertions(+), 21 deletions(-) diff --git a/src/aklog/Makefile.in b/src/aklog/Makefile.in index 19086bc..3a9f2dd 100644 --- a/src/aklog/Makefile.in +++ b/src/aklog/Makefile.in @@ -20,7 +20,7 @@ AFSLIBS = ${TOP_LIBDIR}/libprot.a ${TOP_LIBDIR}/libauth.a \ SRCS= aklog.c aklog_main.c krb_util.c linked_list.c OBJS= aklog.o aklog_main.o krb_util.o linked_list.o -all: aklog @ASETKEY@ klog +all: aklog asetkey klog aklog: ${OBJS} ${AFSLIBS} ${CC} -o $@ ${CFLAGS} ${OBJS} ${AKLIBS} ${AFSLIBS} ${XLIBS} @@ -34,21 +34,17 @@ klog: klog.o skipwrap.o ${AFSLIBS} # # Installation targets # -install: aklog @ASETKEY@ +install: aklog asetkey ${INSTALL} -d ${DESTDIR}${bindir} ${INSTALL_PROGRAM} aklog ${DESTDIR}${bindir}/aklog - set -e ; if test "x@ASETKEY@" != "x"; then \ - ${INSTALL} -d ${DESTDIR}${afssrvbindir} ; \ - ${INSTALL_PROGRAM} asetkey ${DESTDIR}${afssrvbindir}/asetkey ; \ - fi + ${INSTALL} -d ${DESTDIR}${afssrvbindir} + ${INSTALL_PROGRAM} asetkey ${DESTDIR}${afssrvbindir}/asetkey -dest: aklog @ASETKEY@ +dest: aklog asetkey ${INSTALL} -d ${DEST}/bin ${INSTALL_PROGRAM} aklog ${DEST}/bin/aklog - set -e ; if test "x@ASETKEY@" != "x"; then \ - ${INSTALL} -d ${DEST}/root.server/usr/afs/bin ; \ - ${INSTALL_PROGRAM} asetkey ${DEST}/root.server/usr/afs/bin/asetkey ; \ - fi + ${INSTALL} -d ${DEST}/root.server/usr/afs/bin + ${INSTALL_PROGRAM} asetkey ${DEST}/root.server/usr/afs/bin/asetkey # # Misc. targets diff --git a/src/aklog/asetkey.c b/src/aklog/asetkey.c index ecf7d68..5e1ca75 100644 --- a/src/aklog/asetkey.c +++ b/src/aklog/asetkey.c @@ -11,6 +11,12 @@ #include #include #include +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif #ifdef HAVE_MEMORY_H #include #endif /* HAVE_MEMORY_H */ @@ -30,6 +36,13 @@ #include #include +#ifdef HAVE_KRB5_CREDS_KEYBLOCK +#define USING_MIT 1 +#endif +#ifdef HAVE_KRB5_CREDS_SESSION +#define USING_HEIMDAL 1 +#endif + int main(int argc, char *argv[]) { @@ -82,13 +95,26 @@ main(int argc, char *argv[]) exit(1); } - if (key->length != 8) { +#ifdef USING_HEIMDAL +#define deref_key_length(key) \ + key->keyvalue.length + +#define deref_key_contents(key) \ + key->keyvalue.data +#else +#define deref_key_length(key) \ + key->length + +#define deref_key_contents(key) \ + key->contents +#endif + if (deref_key_length(key) != 8) { fprintf(stderr, "Key length should be 8, but is really %d!\n", - key->length); + deref_key_length(key)); exit(1); } - code = afsconf_AddKey(tdir, kvno, (char *) key->contents, 1); + code = afsconf_AddKey(tdir, kvno, (char *) deref_key_contents(key), 1); if (code) { fprintf(stderr, "%s: failed to set key, code %d.\n", argv[0], code); exit(1); diff --git a/src/cf/kerberos.m4 b/src/cf/kerberos.m4 index 2212f88..0ee0838 100644 --- a/src/cf/kerberos.m4 +++ b/src/cf/kerberos.m4 @@ -103,15 +103,8 @@ dnl AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.session],,, [#include