DEVEL15-asetkey-with-heimdal-20070104
authorMarcus Watts <mdw@umich.edu>
Fri, 5 Jan 2007 03:21:45 +0000 (03:21 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 5 Jan 2007 03:21:45 +0000 (03:21 +0000)
FIXES 50973

just make asetkey build with heimdal

(cherry picked from commit c8503d73a1d02829bdb23e5403df15844f065478)

src/aklog/Makefile.in
src/aklog/asetkey.c
src/cf/kerberos.m4

index 54a9b93..b50cf4d 100644 (file)
@@ -16,7 +16,7 @@ AFSLIBS = ${TOP_LIBDIR}/libprot.a ${TOP_LIBDIR}/libubik.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@
+all: aklog asetkey
 
 aklog: ${OBJS} ${AFSLIBS}
        ${CC} -o $@ ${CFLAGS} ${OBJS} ${AKLIBS} ${AFSLIBS} ${XLIBS}
@@ -33,8 +33,8 @@ install: \
 ${DESTDIR}${bindir}/aklog: aklog
        ${INSTALL} $? $@
 
-${DESTDIR}${afssrvbindir}/asetkey: @ASETKEY@
-       if test "x@ASETKEY@" != "x"; then ${INSTALL} $? $@; fi
+${DESTDIR}${afssrvbindir}/asetkey: asetkey
+       ${INSTALL} $? $@
 
 dest: \
        ${DEST}/bin/aklog ${DEST}/root.server/usr/afs/bin/asetkey
@@ -42,8 +42,8 @@ dest: \
 ${DEST}/bin/aklog: aklog
        ${INSTALL} $? $@
 
-${DEST}/root.server/usr/afs/bin/asetkey: @ASETKEY@
-       if test "x@ASETKEY@" != "x"; then ${INSTALL} $? $@; fi
+${DEST}/root.server/usr/afs/bin/asetkey: asetkey
+       ${INSTALL} $? $@
 
 #
 # Misc. targets
index ecf7d68..5e1ca75 100644 (file)
 #include <sys/types.h>
 #include <netinet/in.h>
 #include <netdb.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
 #ifdef HAVE_MEMORY_H
 #include <memory.h>
 #endif /* HAVE_MEMORY_H */
 #include <afs/keys.h>
 #include <afs/dirpath.h>
 
+#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);
index 2212f88..0ee0838 100644 (file)
@@ -103,15 +103,8 @@ dnl        AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.session],,, [#include <krb
        LIBS="$save_LIBS"
 fi
 
-if test "$ac_cv_header_kerberosV_heim_err_h" = "yes"; then
-    ASETKEY=
-else
-    ASETKEY=asetkey
-fi
-
 AC_SUBST(BUILD_KRB5)
 AC_SUBST(KRB5CFLAGS)
 AC_SUBST(KRB5LIBS)
-AC_SUBST(ASETKEY)
 
 ])dnl