]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
aklog: Probe for libasn1 on heimdal
authorAndrew Deason <adeason@sinenomine.net>
Thu, 28 Mar 2013 21:42:58 +0000 (16:42 -0500)
committerStephan Wiesand <stephan.wiesand@desy.de>
Fri, 13 Sep 2013 17:58:31 +0000 (10:58 -0700)
aklog uses encode_EncTicketPart and some other encode_* ASN.1 routines
when we're building against heimdal. Our krb5 autoconf logic from
c-rra-util is not guaranteed to include libasn1 in KRB5_LIBS, since
it's not required for functions in the krb5 API. So, specifically test
for it.

Related issue reported by Måns Nilsson.

Reviewed-on: http://gerrit.openafs.org/9693
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 1942d2a4fc90703e64e1c97ba10d2918ba584e73)

Change-Id: Ibf3713ff5027ec3b410e4b19ffd11f5449357248
Reviewed-on: http://gerrit.openafs.org/9917
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
configure.ac
src/aklog/Makefile.in

index da1ff5e034d10761577a7abd0b6cd992a8c28c73..38ac6f256dc979901a8ae3196947e285f6277dfe 100644 (file)
@@ -87,11 +87,19 @@ AS_IF([test x"$KRB5_LIBS" != x],
                       krb5_keytab_entry.keyblock, krb5_keyblock.enctype,
                       krb5_keyblock.keytype, krb5_prompt.type], , ,
                       [#include <krb5.h>])
+dnl If we have krb5_creds.session, we are using heimdal
+dnl If we're using heimdal, aklog needs libasn1 for encode_EncTicketPart and a
+dnl few other functions. But just aklog; not any of the other stuff that uses
+dnl krb5.
+     AS_IF([test x"$ac_cv_member_krb5_creds_session" = xyes],
+           [AC_CHECK_LIB([asn1], [encode_EncTicketPart],
+                       [AKLOG_KRB5_LIBS="-lasn1"])])
      AC_CHECK_DECLS([krb5_free_keytab_entry_contents, krb5_kt_free_entry,
                    KRB5_KU_TICKET], [], [], [#include <krb5.h>])
      RRA_LIB_KRB5_RESTORE])
 AC_SUBST([BUILD_KRB5])
 AC_SUBST([MAKE_KRB5])
+AC_SUBST([AKLOG_KRB5_LIBS])
 
 if test -d 'doc/man-pages' ; then
     MAN_MAKEFILE="doc/man-pages/Makefile doc/man-pages/install-man"
index 68bb4d88b2c206bc4202efe655c658cb42b83c3e..4feecb4827521b4d9256f2aa633bdaf6bbfa699e 100644 (file)
@@ -10,7 +10,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
 XCFLAGS=@XCFLAGS@ @KRB5_CPPFLAGS@ -DALLOW_REGISTER
-AKLIBS = ${LIBS} @KRB5_LDFLAGS@ @KRB5_LIBS@
+AKLIBS = ${LIBS} @KRB5_LDFLAGS@ @KRB5_LIBS@ @AKLOG_KRB5_LIBS@
 AFSLIBS = ${TOP_LIBDIR}/libprot.a ${TOP_LIBDIR}/libauth.a \
          ${TOP_LIBDIR}/libubik.a ${TOP_LIBDIR}/librxkad.a \
          ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/librx.a \