klog-deal-with-aix-stupidity-20080418

LICENSE IPL10

aix krb5 is broken. deal.
This commit is contained in:
Derrick Brashear 2008-04-18 21:49:45 +00:00
parent 2a0f8bfda8
commit 194067be89
2 changed files with 23 additions and 1 deletions

View File

@ -313,8 +313,16 @@ klog_prompter(krb5_context context,
if ((types = krb5_get_prompt_types(context)))
#endif
for (i = 0; i < num_prompts; ++i) {
#if !defined(USING_HEIMDAL) && defined(HAVE_KRB5_GET_PROMPT_TYPES)
#if !defined(USING_HEIMDAL)
#if defined(HAVE_KRB5_GET_PROMPT_TYPES)
type = types[i];
#elif defined(HAVE_KRB5_PROMPT_TYPE)
type = prompts[i].type;
#else
/* AIX 5.3 krb5_get_prompt_types is missing. Um... */
type = ((i == 1)&&(num_prompts == 2)) ?
KRB5_PROMPT_TYPE_NEW_PASSWORD_AGAIN : KRB5_PROMPT_TYPE_PASSWORD;
#endif
#else
type = prompts[i].type;
#endif

View File

@ -91,12 +91,26 @@ ac_cv_krb5_creds_session_exists=yes,
ac_cv_krb5_creds_session_exists=no)])
AC_MSG_RESULT($ac_cv_krb5_creds_session_exists)
AC_MSG_CHECKING(for krb5_prompt.type existence)
AC_CACHE_VAL(ac_cv_krb5_prompt_type_exists,
[
AC_TRY_COMPILE(
[#include <krb5.h>],
[krb5_prompt _p;
printf("%x\n", _p.type);],
ac_cv_krb5_prompt_type_exists=yes,
ac_cv_krb5_prompt_type_exists=no)])
AC_MSG_RESULT($ac_cv_krb5_prompt_type_exists)
if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
AC_DEFINE(HAVE_KRB5_CREDS_KEYBLOCK, 1, [define if krb5_creds has keyblock])
fi
if test "x$ac_cv_krb5_creds_session_exists" = "xyes"; then
AC_DEFINE(HAVE_KRB5_CREDS_SESSION, 1, [define if krb5_creds has session])
fi
if test "x$ac_cv_krb5_prompt_type_exists" = "xyes"; then
AC_DEFINE(HAVE_KRB5_PROMPT_TYPE, 1, [define if krb5_prompt has type])
fi
dnl AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.session],,, [#include <krb5.h>])
CPPFLAGS="$save_CPPFLAGS"