]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Maintenance: update --with-heimdal-krb5 detection (#1687)
authorAmos Jeffries <yadij@users.noreply.github.com>
Mon, 26 Feb 2024 03:42:35 +0000 (03:42 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Mon, 26 Feb 2024 03:42:46 +0000 (03:42 +0000)
acinclude/krb5.m4
configure.ac
squid.dox
src/Makefile.am
src/acl/external/kerberos_ldap_group/Makefile.am
src/acl/external/kerberos_ldap_group/support_krb5.cc
src/auth/negotiate/kerberos/Makefile.am
src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc
src/peer_proxy_negotiate_auth.cc

index 0215f4722907a3ccbac0b2bf8625f6c7509a0eda..9e2eb2377e4b3848c66d2f7faf6a7b1118867fb6 100644 (file)
@@ -39,9 +39,7 @@ int
 main(void)
 {
         krb5_context context;
-
         krb5_init_context(&context);
-
         return 0;
 }
 ]])], [ squid_cv_broken_heimdal_krb5_h=no ], [
@@ -52,15 +50,14 @@ int
 main(void)
 {
         krb5_context context;
-
         krb5_init_context(&context);
-
         return 0;
 }
 ]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ])
     ])
     SQUID_STATE_ROLLBACK(squid_krb5_heimdal_test)
   ])
+  SQUID_DEFINE_BOOL(HAVE_BROKEN_HEIMDAL_KRB5_H,$squid_cv_broken_heimdal_krb5_h,[Heimdal krb5.h is broken for C++])
 ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H
 
 dnl check the max skew in the krb5 context, and sets squid_cv_max_skew_context
index e4569726e5f82b15761f7f317cb18ff598e787a8..6fc9a541654d70ddbf45bb1a5f0f214cd481c5ab 100644 (file)
@@ -1397,157 +1397,28 @@ AS_IF([test "x$with_solaris_krb5" = "xyes" -a "x$KRB5LIBS" = "x"],[
   SQUID_STATE_ROLLBACK([squid_krb5_save])
 ])
 
-dnl User may specify Heimdal Kerberos is needed from a non-standard location
-SQUID_AUTO_LIB(heimdal-krb5,[Heimdal Kerberos],[LIB_KRB5])
-AH_TEMPLATE(USE_HEIMDAL_KRB5,[Heimdal Kerberos support is available])
-AS_IF([test "x$with_heimdal_krb5" != "xno" -a "x$KRB5LIBS" = "x"],[
-  CXXFLAGS="$LIB_KRB5_CFLAGS $CXXFLAGS"
-  krb5confpath="$with_heimdal_krb5/bin"
-  # find installed libs via pkg-config or krb5-config
-  PKG_CHECK_EXISTS(heimdal-krb5, [squid_pc_krb5_name="heimdal-krb5"])
-  AS_IF([test "x$squid_pc_krb5_name" = "x"],[
-    PKG_CHECK_EXISTS(heimdal-gssapi, [squid_pc_krb5_name="heimdal-gssapi"])
-  ])
-  AS_IF([test "x$squid_pc_krb5_name" = "x" -a "$cross_compiling" = "no"],[
-    # Look for krb5-config (unless cross-compiling)
-    AC_PATH_PROG(krb5_config,krb5-config,no,$krb5confpath)
-    AS_IF([test "x$ac_cv_path_krb5_config" != "xno"],[
-      krb5confpath="`dirname $ac_cv_path_krb5_config`"
-      ac_heimdal="`$ac_cv_path_krb5_config --version 2>/dev/null | grep -c -i heimdal`"
-      AS_IF([test "x$with_heimdal_krb5" = "xyes" -a $ac_heimdal = 0],[
-        AC_MSG_ERROR([Could not find pkg-config or krb5-config for Heimdal Kerberos])
-      ])
-    ],[
-      AS_IF([test "x$with_heimdal_krb5" = "xyes"],[
-        AC_MSG_ERROR([Could not find krb5-config in path])
-      ],[
-        AC_MSG_WARN([Could not find krb5-config in path])
-        with_heimdal_krb5=no
-      ])
-    ])
-  ])
-])
-AS_IF([test "x$with_heimdal_krb5" != "xno" -a "x$KRB5LIBS" = "x"],[
-  SQUID_STATE_SAVE([squid_krb5_save])
-  LIBS="$LIBS $LIB_KRB5_PATH"
-
-  # auto-detect using pkg-config
-  PKG_CHECK_MODULES([LIB_KRB5], $squid_pc_krb5_name,,[
-    # look for krb5-config (unless cross-compiling)
-    AS_IF([test "$cross_compiling" = "no"],[
-      AS_IF([test "x$krb5confpath" = "x"],[
-        AC_PATH_PROG(krb5_config,krb5-config,no)
-        AS_IF([test "x$ac_cv_path_krb5_config" != "xno"],[ac_krb5_config="$ac_cv_path_krb5_config"])
-      ],[
-        ac_krb5_config="$krb5confpath/krb5-config"
-      ])
-    ])
-    AS_IF([test "x$ac_krb5_config" != "x" -a -x "$ac_krb5_config"],[
-      # Get libs, etc
-      AC_MSG_NOTICE([Use krb5-config to get CXXFLAGS and LIBS])
-      LIB_KRB5_CFLAGS="`$ac_krb5_config --cflags krb5 2>/dev/null`"
-      LIB_KRB5_LIBS="`$ac_krb5_config --libs krb5 2>/dev/null`"
-      LIB_KRB5_CFLAGS="`$ac_krb5_config --cflags gssapi 2>/dev/null` $LIB_KRB5_CFLAGS"
-      LIB_KRB5_LIBS="`$ac_krb5_config --libs gssapi 2>/dev/null` $LIB_KRB5_LIBS"
-    ],[
-      ## For some OS pkg-config is broken or unavailable.
-      ## Detect libraries the hard way.
-      SQUID_STATE_SAVE([squid_heimdal_save])
-      missing_required=
-      AC_MSG_NOTICE([Try to find Kerberos libraries in given path])
-      AC_CHECK_LIB(resolv, [main], [LIB_KRB5_LIBS="-lresolv $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'resolv' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(crypt, [main], [LIB_KRB5_LIBS="-lcrypt $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'crypt' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(roken, [main], [LIB_KRB5_LIBS="-lroken $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'roken' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(heimbase, [main], [LIB_KRB5_LIBS="-lheimbase $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'heimbase' may be required for Heimdal Kerberos])
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(wind, [main], [LIB_KRB5_LIBS="-lwind $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'wind' may be required for Heimdal Kerberos])
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(crypto, [main], [LIB_KRB5_LIBS="-lcrypto $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'crypto' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(com_err, [main], [LIB_KRB5_LIBS="-lcom_err $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'com_err' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(hx509, [main], [LIB_KRB5_LIBS="-lhx509 $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'hx509' may be required for Heimdal Kerberos])
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(asn1, [main], [LIB_KRB5_LIBS="-lasn1 $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'asn1' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(krb5, [main], [LIB_KRB5_LIBS="-lkrb5 $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'krb5' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(heimntlm, [main], [LIB_KRB5_LIBS="-lheimntlm $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'heimntlm' may be required for Heimdal Kerberos])
-      ])
-      LIBS=$LIB_KRB5_LIBS
-      AC_CHECK_LIB(gssapi, [main], [LIB_KRB5_LIBS="-lgssapi $LIB_KRB5_LIBS"],[
-        AC_MSG_WARN([library 'gssapi' is required for Heimdal Kerberos])
-        missing_required=yes
-      ])
-      SQUID_STATE_ROLLBACK([squid_heimdal_save])
-      AS_IF([test "x$missing_required" = "xyes"],[LIB_KRB5_LIBS=""])
-    ])
-  ])
-  AS_IF([test "x$LIB_KRB5_LIBS" != "x"],[
-    KRB5LIBS="$LIB_KRB5_PATH $LIB_KRB5_LIBS $KRB5LIBS"
-    KRB5INCS="$LIB_KRB5_CFLAGS"
-    AC_DEFINE(USE_HEIMDAL_KRB5,1,[Heimdal Kerberos support is available])
-    KRB5_FLAVOUR="Heimdal"
-
-    # check for other specific broken implementations
-    CXXFLAGS="$CXXFLAGS $KRB5INCS"
-    LIBS="$LIBS $KRB5LIBS"
-
-    AC_MSG_NOTICE([Try to find Kerberos headers in given path])
-    AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h gssapi/gssapi_krb5.h)
-    AC_CHECK_HEADERS(krb5.h com_err.h et/com_err.h)
-
-    SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H
-    AS_IF([test "x$squid_cv_broken_heimdal_krb5_h" = "xyes"],[
-      AC_DEFINE(HAVE_BROKEN_HEIMDAL_KRB5_H, 1, [Define to 1 if Heimdal krb5.h is broken for C++])
-    ])
-    SQUID_CHECK_KRB5_FUNCS
-  ])
+# Kerberos support libraries: Heimdal
+SQUID_AUTO_LIB(heimdal-krb5,[Heimdal Kerberos],[LIBHEIMDAL_KRB5])
+SQUID_CHECK_LIB_WORKS(heimdal-krb5,[
   AS_IF([test "x$KRB5LIBS" = "x"],[
-    AS_IF([test "x$with_heimdal_krb5" = "xyes"],[
-      AC_MSG_ERROR([Required Heimdal Kerberos library not found])
-    ],[
-      AC_MSG_WARN([Heimdal Kerberos library not found])
-    ])
+    SQUID_STATE_SAVE(squid_heimdal_krb5_save)
+    PKG_CHECK_MODULES([LIBHEIMDAL_KRB5],[heimdal-krb5 heimdal-gssapi],[
+      CPPFLAGS="$LIBHEIMDAL_KRB5_CFLAGS $CPPFLAGS"
+      AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h gssapi/gssapi_krb5.h)
+      AC_CHECK_HEADERS(krb5.h com_err.h et/com_err.h)
+
+      LIBS="$LIBHEIMDAL_KRB5_PATH $LIBHEIMDAL_KRB5_LIBS $LIBS"
+      SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H
+      SQUID_CHECK_KRB5_FUNCS
+    ],[:])
+    SQUID_STATE_ROLLBACK(squid_heimdal_krb5_save)
   ])
-  SQUID_STATE_ROLLBACK([squid_krb5_save])
 ])
 
 # Kerberos support libraries: GNU GSS
 SQUID_AUTO_LIB(gss,[GNU gss],[LIBGSS])
 SQUID_CHECK_LIB_WORKS(gss,[
-  AS_IF([test "x$KRB5LIBS" = "x"],[
+  AS_IF([test "x$KRB5LIBS" = "x" -a "x$LIBHEIMDAL_KRB5_LIBS" = "x"],[
     SQUID_STATE_SAVE(squid_gss_save)
     PKG_CHECK_MODULES([LIBGSS],[gss],[
       CPPFLAGS="$LIBGSS_CFLAGS $CPPFLAGS"
index 52e95b741dc73f462fe0c0778c815ab6ca2eab12..1554bfda729a4cbfde57d1bbc7498b7367bf2253 100644 (file)
--- a/squid.dox
+++ b/squid.dox
@@ -2067,6 +2067,7 @@ PREDEFINED             = __cplusplus \
                          FOLLOW_X_FORWARDED_FOR \
                          FORW_VIA_DB \
                          ICAP_CLIENT \
+                         HAVE_LIBHEIMDAL_KRB5 \
                          LINUX_NETFILTER \
                          SQUID_SNMP \
                          USE_ADAPTATION \
@@ -2081,7 +2082,6 @@ PREDEFINED             = __cplusplus \
                          USE_ERR_LOCALES \
                          USE_EPOLL \
                          USE_GNUTLS \
-                         USE_HEIMDAL_KRB5 \
                          USE_HEXDUMP \
                          USE_HTCP \
                          USE_HTTP_VIOLATIONS \
index 7dac8e9d8b8224ac4acde9a3f9ee3e68811dff01..2b15ee5fbcd4320e3fcdbc9091dbf954d4e86ec7 100644 (file)
@@ -525,6 +525,7 @@ squid_LDADD = \
        $(top_builddir)/lib/libmiscencoding.la \
        $(top_builddir)/lib/libmiscutil.la \
        $(LIBCAP_LIBS) \
+       $(LIBHEIMDAL_KRB5_LIBS) \
        $(SSLLIB) \
        $(EPOLL_LIBS) \
        $(MINGW_LIBS) \
@@ -1974,6 +1975,7 @@ tests_test_http_range_LDADD = \
        $(top_builddir)/lib/libmiscencoding.la \
        $(top_builddir)/lib/libmiscutil.la \
        $(LIBCAP_LIBS) \
+       $(LIBHEIMDAL_KRB5_LIBS) \
        $(REGEXLIB) \
        $(SSLLIB) \
        $(KRB5LIBS) \
@@ -2358,6 +2360,7 @@ tests_testHttpRequest_LDADD = \
        $(top_builddir)/lib/libmiscencoding.la \
        $(top_builddir)/lib/libmiscutil.la \
        $(LIBCAP_LIBS) \
+       $(LIBHEIMDAL_KRB5_LIBS) \
        $(REGEXLIB) \
        $(SSLLIB) \
        $(KRB5LIBS) \
@@ -2655,6 +2658,7 @@ tests_testCacheManager_LDADD = \
        $(top_builddir)/lib/libmiscencoding.la \
        $(top_builddir)/lib/libmiscutil.la \
        $(LIBCAP_LIBS) \
+       $(LIBHEIMDAL_KRB5_LIBS) \
        $(REGEXLIB) \
        $(SSLLIB) \
        $(KRB5LIBS) \
index a2c7af626c8354d12d2ecafa70b897f5f6c17ec2..acb045e418799ec6cfe3e7097b382c61f2c8f063 100644 (file)
@@ -37,6 +37,7 @@ ext_kerberos_ldap_group_acl_LDADD = \
        $(top_builddir)/lib/libmiscencoding.la \
        $(COMPAT_LIB) \
        $(LIBGSS_LIBS) \
+       $(LIBHEIMDAL_KRB5_LIBS) \
        $(LIBLDAP_LIBS) \
        $(LIBSASL) \
        $(KRB5LIBS) \
index 8083923afa8463c4e678689d84ba8195be042e39..d8228218c2f688a3cde74dd5f735b289c13bd39c 100644 (file)
@@ -289,12 +289,12 @@ krb5_create_cache(char *domain, char *service_principal_name)
 
             principal_list = (krb5_principal *) xrealloc(principal_list, sizeof(krb5_principal) * (nprinc + 1));
             krb5_copy_principal(kparam.context, entry.principal, &principal_list[nprinc++]);
-#if USE_HEIMDAL_KRB5
+#if HAVE_LIBHEIMDAL_KRB5
             debug((char *) "%s| %s: DEBUG: Keytab entry has realm name: %s\n", LogTime(), PROGRAM, entry.principal->realm);
 #else
             debug((char *) "%s| %s: DEBUG: Keytab entry has realm name: %s\n", LogTime(), PROGRAM, krb5_princ_realm(kparam.context, entry.principal)->data);
 #endif
-#if USE_HEIMDAL_KRB5
+#if HAVE_LIBHEIMDAL_KRB5
             if (!strcasecmp(domain, entry.principal->realm))
 #else
             if (!strcasecmp(domain, krb5_princ_realm(kparam.context, entry.principal)->data))
@@ -313,7 +313,7 @@ krb5_create_cache(char *domain, char *service_principal_name)
                     }
                 }
             }
-#if USE_HEIMDAL_KRB5 || ( HAVE_KRB5_KT_FREE_ENTRY && HAVE_DECL_KRB5_KT_FREE_ENTRY )
+#if HAVE_LIBHEIMDAL_KRB5 || ( HAVE_KRB5_KT_FREE_ENTRY && HAVE_DECL_KRB5_KT_FREE_ENTRY )
             code = krb5_kt_free_entry(kparam.context, &entry);
 #else
             code = krb5_free_keytab_entry_contents(kparam.context, &entry);
@@ -453,7 +453,7 @@ krb5_create_cache(char *domain, char *service_principal_name)
                 }
                 if (creds->server)
                     krb5_free_principal(kparam.context, creds->server);
-#if USE_HEIMDAL_KRB5
+#if HAVE_LIBHEIMDAL_KRB5
                 service = (char *) xmalloc(strlen("krbtgt") + strlen(domain) + strlen(principal_list[i]->realm) + 3);
                 snprintf(service, strlen("krbtgt") + strlen(domain) + strlen(principal_list[i]->realm) + 3, "krbtgt/%s@%s", domain, principal_list[i]->realm);
 #else
@@ -468,7 +468,7 @@ krb5_create_cache(char *domain, char *service_principal_name)
                 }
 
                 // overwrite limitation of enctypes
-#if USE_HEIMDAL_KRB5
+#if HAVE_LIBHEIMDAL_KRB5
                 creds->session.keytype = 0;
                 if (creds->session.keyvalue.length > 0)
                     krb5_free_keyblock_contents(kparam.context, &creds->session);
index a8740d4440189de893f576ccd6616a1e02ce18dd..8c4480e3a1284191447d4b18a40882447ca0be73 100644 (file)
@@ -26,6 +26,7 @@ negotiate_kerberos_auth_LDADD= \
        $(top_builddir)/lib/libmiscencoding.la \
        $(COMPAT_LIB) \
        $(LIBGSS_LIBS) \
+       $(LIBHEIMDAL_KRB5_LIBS) \
        $(LIBNETTLE_LIBS) \
        $(KRB5LIBS) \
        $(XTRA_LIBS)
@@ -36,6 +37,7 @@ negotiate_kerberos_auth_test_LDADD= \
        $(top_builddir)/lib/libmiscencoding.la \
        $(COMPAT_LIB) \
        $(LIBGSS_LIBS) \
+       $(LIBHEIMDAL_KRB5_LIBS) \
        $(LIBNETTLE_LIBS) \
        $(KRB5LIBS) \
        $(XTRA_LIBS)
index 35ab76cde525b1e90b454baac740ab053001ffbd..7693697c633b2b2ee61afbd337a04fbef7eec627 100644 (file)
@@ -197,7 +197,7 @@ krb5_error_code krb5_free_kt_list(krb5_context context, krb5_kt_list list)
     krb5_kt_list lp = list;
 
     while (lp) {
-#if USE_HEIMDAL_KRB5 || ( HAVE_KRB5_KT_FREE_ENTRY && HAVE_DECL_KRB5_KT_FREE_ENTRY )
+#if HAVE_LIBHEIMDAL_KRB5 || ( HAVE_KRB5_KT_FREE_ENTRY && HAVE_DECL_KRB5_KT_FREE_ENTRY )
         krb5_error_code  retval = krb5_kt_free_entry(context, lp->entry);
 #else
         krb5_error_code  retval = krb5_free_keytab_entry_contents(context, lp->entry);
@@ -330,7 +330,7 @@ main(int argc, char *const argv[])
     char ad_groups[MAX_PAC_GROUP_SIZE];
     char *ag=nullptr;
     krb5_pac pac;
-#if USE_HEIMDAL_KRB5
+#if HAVE_LIBHEIMDAL_KRB5
     gss_buffer_desc data_set = GSS_C_EMPTY_BUFFER;
 #else
     gss_buffer_desc type_id = GSS_C_EMPTY_BUFFER;
@@ -774,7 +774,7 @@ main(int argc, char *const argv[])
 #if HAVE_PAC_SUPPORT
             ret = krb5_init_context(&context);
             if (!check_k5_err(context, "krb5_init_context", ret)) {
-#if USE_HEIMDAL_KRB5
+#if HAVE_LIBHEIMDAL_KRB5
 #define ADWIN2KPAC 128
                 major_status = gsskrb5_extract_authz_data_from_sec_context(&minor_status,
                                gss_context, ADWIN2KPAC, &data_set);
index f5d2f5dd145d77c3d697e2be722513aaed2e11c4..6ae2690497a3f292430c5c5e93cb6f067933b7cd 100644 (file)
 #include "squid.h"
 
 #if HAVE_AUTH_MODULE_NEGOTIATE && HAVE_KRB5 && HAVE_GSSAPI
-#if USE_APPLE_KRB5
-#define GSSKRB_APPLE_DEPRECATED(x)
-#endif
-
 #include "base64.h"
 #include "compat/krb5.h"
 #include "debug/Stream.h"
 #if HAVE_COM_ERR_H
 #include <com_err.h>
 #endif              /* HAVE_COM_ERR_H */
-
+#if HAVE_GSS_H
+#include <gss.h>
+#endif
+#if USE_APPLE_KRB5
+#define GSSKRB_APPLE_DEPRECATED(x)
+#endif
 #if HAVE_GSSAPI_GSSAPI_H
 #include <gssapi/gssapi.h>
 #elif HAVE_GSSAPI_H
 #include <gssapi.h>
 #endif              /* HAVE_GSSAPI_H */
-#if !USE_HEIMDAL_KRB5
 #if HAVE_GSSAPI_GSSAPI_EXT_H
 #include <gssapi/gssapi_ext.h>
 #endif              /* HAVE_GSSAPI_GSSAPI_EXT_H */
@@ -47,7 +47,6 @@
 #if HAVE_GSSAPI_GSSAPI_GENERIC_H
 #include <gssapi/gssapi_generic.h>
 #endif              /* HAVE_GSSAPI_GSSAPI_GENERIC_H */
-#endif              /* !USE_HEIMDAL_KRB5 */
 
 #ifndef gss_nt_service_name
 #define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE
@@ -189,7 +188,7 @@ int krb5_create_cache(char *kf, char *pn) {
     static krb5_keytab_entry entry;
     static krb5_kt_cursor cursor;
     static krb5_creds *creds = nullptr;
-#if USE_HEIMDAL_KRB5 && !HAVE_KRB5_GET_RENEWED_CREDS
+#if HAVE_LIBHEIMDAL_KRB5 && !HAVE_KRB5_GET_RENEWED_CREDS
     static krb5_creds creds2;
 #endif
     static krb5_principal principal = nullptr;
@@ -205,7 +204,7 @@ int krb5_create_cache(char *kf, char *pn) {
 #if HAVE_PROFILE_H && HAVE_KRB5_GET_PROFILE && HAVE_PROFILE_GET_INTEGER && HAVE_PROFILE_RELEASE
     profile_t profile;
 #endif
-#if USE_HEIMDAL_KRB5 && !HAVE_KRB5_GET_RENEWED_CREDS
+#if HAVE_LIBHEIMDAL_KRB5 && !HAVE_KRB5_GET_RENEWED_CREDS
     krb5_kdc_flags flags;
 #if HAVE_KRB5_PRINCIPAL_GET_REALM
     const char *client_realm;
@@ -308,9 +307,9 @@ restart:
                    error_message(code));
             return (1);
         }
-#elif USE_HEIMDAL_KRB5 && HAVE_KRB5_GET_MAX_TIME_SKEW
+#elif HAVE_LIBHEIMDAL_KRB5 && HAVE_KRB5_GET_MAX_TIME_SKEW
         skew = krb5_get_max_time_skew(kparam.context);
-#elif USE_HEIMDAL_KRB5 && HAVE_MAX_SKEW_IN_KRB5_CONTEXT
+#elif HAVE_LIBHEIMDAL_KRB5 && HAVE_MAX_SKEW_IN_KRB5_CONTEXT
         skew = kparam.context->max_skew;
 #else
         skew = DEFAULT_SKEW;
@@ -363,7 +362,7 @@ restart:
                        error_message(code));
                 return (1);
             }
-#if USE_HEIMDAL_KRB5 || ( HAVE_KRB5_KT_FREE_ENTRY && HAVE_DECL_KRB5_KT_FREE_ENTRY)
+#if HAVE_LIBHEIMDAL_KRB5 || ( HAVE_KRB5_KT_FREE_ENTRY && HAVE_DECL_KRB5_KT_FREE_ENTRY)
             code = krb5_kt_free_entry(kparam.context, &entry);
 #else
             code = krb5_free_keytab_entry_contents(kparam.context, &entry);