diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4 index a09cabd6454..439d14cba9d 100644 --- a/acinclude/krb5.m4 +++ b/acinclude/krb5.m4 @@ -26,6 +26,27 @@ AC_DEFUN([SQUID_CHECK_KRB5_CONTEXT_MEMORY_CACHE],[ SQUID_DEFINE_BOOL(HAVE_KRB5_MEMORY_CACHE,$squid_cv_krb5_memory_cache,[kerberos has MEMORY: cache support]) ]) dnl SQUID_CHECK_KRB5_CONTEXT_MEMORY_CACHE +dnl check whether the Kerberos context has a memory keytab +AC_DEFUN([SQUID_CHECK_KRB5_CONTEXT_MEMORY_KEYTAB],[ + AC_REQUIRE([SQUID_STATE_SAVE]) + AC_REQUIRE([SQUID_STATE_ROLLBACK]) + AC_REQUIRE([SQUID_DEFINE_BOOL]) + AC_CACHE_CHECK([for memory keytab],squid_cv_krb5_memory_keytab,[ + SQUID_STATE_SAVE(squid_krb5_test) + CPPFLAGS="-I${srcdir:-.} $CPPFLAGS" + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[#include "compat/krb5.h"]],[[ + krb5_context c; + krb5_keytab kt; + krb5_init_context(&c); + return krb5_kt_resolve(c, "MEMORY:test_keytab", &kt); + ]]) + ],[squid_cv_krb5_memory_keytab=yes],[squid_cv_krb5_memory_keytab=no],[:]) + SQUID_STATE_ROLLBACK(squid_krb5_test) + ]) + SQUID_DEFINE_BOOL(HAVE_KRB5_MEMORY_KEYTAB,$squid_cv_krb5_memory_keytab,[Kerberos has MEMORY: keytab support]) +]) dnl SQUID_CHECK_KRB5_CONTEXT_MEMORY_KEYTAB + AC_DEFUN([SQUID_CHECK_SOLARIS_KRB5],[ # no pkg-config for solaris native Kerberos AS_IF([test "$cross_compiling" = "no" -a "x$with_mit_krb5" != "xyes" -a "x$with_mit_krb5" != "xno"],[ @@ -63,29 +84,6 @@ AC_DEFUN([SQUID_CHECK_SOLARIS_KRB5],[ ]) ]) -dnl check whether the kerberos context has a memory keytab. Sets -dnl squid_cv_memory_keytab if that's the case. -AC_DEFUN([SQUID_CHECK_KRB5_CONTEXT_MEMORY_KEYTAB],[ - AC_CACHE_CHECK([for memory keytab], squid_cv_memory_keytab, [ - SQUID_STATE_SAVE(squid_krb5_test) - CPPFLAGS="-I${srcdir:-.} $CPPFLAGS" - AC_RUN_IFELSE([ - AC_LANG_SOURCE([[ -#include "compat/krb5.h" -int main(int argc, char *argv[]) -{ - krb5_context context; - krb5_keytab kt; - - krb5_init_context(&context); - return krb5_kt_resolve(context, "MEMORY:test_keytab", &kt); -} - ]]) - ], [ squid_cv_memory_keytab=yes ], [ squid_cv_memory_keytab=no ], [:]) - SQUID_STATE_ROLLBACK(squid_krb5_test) - ]) -]) - dnl check for PAC requirements AC_DEFUN([SQUID_CHECK_KRB5_PAC_SUPPORT],[ AC_CHECK_TYPE(krb5_pac,[ @@ -274,8 +272,6 @@ AC_DEFUN([SQUID_CHECK_KRB5_FUNCS],[ SQUID_CHECK_KRB5_CONTEXT_MEMORY_CACHE SQUID_CHECK_KRB5_CONTEXT_MEMORY_KEYTAB - SQUID_DEFINE_BOOL(HAVE_KRB5_MEMORY_KEYTAB,$squid_cv_memory_keytab, - [Define if kerberos has MEMORY: keytab support]) SQUID_CHECK_WORKING_GSSAPI SQUID_DEFINE_BOOL(HAVE_GSSAPI,$squid_cv_working_gssapi,[GSSAPI support])