From c8232c61ebba4bf9975d0f97f54d88a333ed8f86 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Thu, 4 Feb 2010 16:34:37 -0500 Subject: - handle krb5_get_init_creds_opt_set_canonicalize() taking a different number of arguments depending on the implementation --- configure.ac | 9 +++++++++ src/credmonger.c | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/configure.ac b/configure.ac index 7890e08..5f96e92 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,15 @@ if test x$ac_cv_func_krb5_get_init_creds_opt_free = xyes ; then AC_MSG_RESULT([yes])], AC_MSG_RESULT([no])) fi +if test x$ac_cv_func_krb5_get_init_creds_opt_set_canonicalize = xyes ; then + AC_MSG_CHECKING([if krb5_get_init_creds_opt_set_canonicalize() takes a context]) + AC_COMPILE_IFELSE(AC_LANG_PROGRAM([#include ],[ + krb5_get_init_creds_opt_set_canonicalize(NULL, NULL, 0);]), + [AC_DEFINE(KRB5_GET_INIT_CREDS_OPT_SET_CANONICALIZE_TAKES_3_ARGS,1, + [Define if krb5_get_init_creds_opt_set_canonicalize() takes three arguments.]) + AC_MSG_RESULT([yes])], + AC_MSG_RESULT([no])) +fi CFLAGS="$cflags_save" LDFLAGS="$ldflags_save" diff --git a/src/credmonger.c b/src/credmonger.c index 89e12fa..2edfd5e 100644 --- a/src/credmonger.c +++ b/src/credmonger.c @@ -317,7 +317,12 @@ entries_poll(void) /* If the KDC has a better idea of the client's name, believe * it. */ if (gic_opts != NULL) { +#ifdef KRB5_GET_INIT_CREDS_OPT_SET_CANONICALIZE_TAKES_3_ARGS + krb5_get_init_creds_opt_set_canonicalize(ctx, + gic_opts, 1); +#else krb5_get_init_creds_opt_set_canonicalize(gic_opts, 1); +#endif } #endif /* Walk the list of entries. */ -- cgit