diff options
author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2010-02-04 16:34:37 -0500 |
---|---|---|
committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2010-02-04 16:34:37 -0500 |
commit | c8232c61ebba4bf9975d0f97f54d88a333ed8f86 (patch) | |
tree | 1cb3cd79f0c39b77de7fd7a115f2eff11c96f3b5 | |
parent | e99610247db9dde56dcd977a0915e5c8dd31c38f (diff) | |
download | credmonger-c8232c61ebba4bf9975d0f97f54d88a333ed8f86.tar.gz credmonger-c8232c61ebba4bf9975d0f97f54d88a333ed8f86.tar.xz credmonger-c8232c61ebba4bf9975d0f97f54d88a333ed8f86.zip |
- handle krb5_get_init_creds_opt_set_canonicalize() taking a different
number of arguments depending on the implementation
-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. */ |