configure: check for some more krb5 functions

We will want to create a krb5_principal object that is used
as a sigil for comparison against, and need to do so in a portable
fashion.  krb5_parse_name and krb5_unparse_name have been around
for a long time, but the counterpart krb5_free_unparsed_name is
not always available, so provide compatibility for it.

krb5_free_keytab_entry_contents is only a symbol in MIT krb5;
we will need a compat macro on Heimdal systems where it is not present.

Change-Id: I1cfe12910adac39216b8c7dd337b7e22d73555ed
Reviewed-on: https://gerrit.openafs.org/11785
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
This commit is contained in:
Benjamin Kaduk 2015-03-04 13:34:53 -05:00
parent 6f4bdc8cb3
commit 066ef66648

View File

@ -60,6 +60,8 @@ AS_IF([test x"$KRB5_LIBS" != x],
krb5_c_encrypt \ krb5_c_encrypt \
krb5_decode_ticket \ krb5_decode_ticket \
krb5_enctype_enable \ krb5_enctype_enable \
krb5_free_keytab_entry_contents \
krb5_free_unparsed_name \
krb5_get_init_creds_opt_alloc \ krb5_get_init_creds_opt_alloc \
krb5_get_prompt_types \ krb5_get_prompt_types \
krb5_princ_size \ krb5_princ_size \
@ -87,6 +89,8 @@ AS_IF([test x"$KRB5_LIBS" != x],
[AC_MSG_ERROR([Cannot find a usable com_err.h])]) [AC_MSG_ERROR([Cannot find a usable com_err.h])])
AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.keyblock.enctype, krb5_creds.session, AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.keyblock.enctype, krb5_creds.session,
krb5_prompt.type], [], [], [#include <krb5.h>]) krb5_prompt.type], [], [], [#include <krb5.h>])
AC_CHECK_MEMBERS([krb5_keytab_entry.key, krb5_keytab_entry.keyblock],
[], [], [#include <krb5.h>])
dnl If we have krb5_creds.session, we are using heimdal 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 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 few other functions. But just aklog; not any of the other stuff that uses