diff options
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | src/credmonger.c | 5 |
2 files changed, 14 insertions, 0 deletions
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.h>],[ + 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. */ |