]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add gssapi_hack, gssapi_krb5_hack and gssapi_krb5_hack to krb5-config
authorMark Andrews <marka@isc.org>
Wed, 30 Jun 2021 02:14:01 +0000 (12:14 +1000)
committerMark Andrews <marka@isc.org>
Wed, 30 Jun 2021 02:14:29 +0000 (12:14 +1000)
configure
configure.ac

index 5a7bc63d9126150991319d648e9519703d4e7322..0ebbef81ab38091cf3528189d5e754db2c8fcdfd 100755 (executable)
--- a/configure
+++ b/configure
@@ -16244,6 +16244,7 @@ then :
 #define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
  ISC_PLATFORM_GSSAPIHEADER="#define ISC_PLATFORM_GSSAPIHEADER <$ac_header>"
+            gssapi_hack="#include <$ac_header>"
 fi
 
 done
@@ -16268,6 +16269,7 @@ then :
 #define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
  ISC_PLATFORM_KRB5HEADER="#define ISC_PLATFORM_KRB5HEADER <$ac_header>"
+                gssapi_krb5_hack="#include <$ac_header>"
 fi
 
 done
@@ -16292,6 +16294,7 @@ then :
 #define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
  ISC_PLATFORM_GSSAPI_KRB5_HEADER="#define ISC_PLATFORM_GSSAPI_KRB5_HEADER <$ac_header>"
+                    gssapi_krb5_hack="#include <$ac_header>"
 fi
 
 done
@@ -16303,10 +16306,18 @@ printf %s "checking krb5-config linking as $LIBS... " >&6; }
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <sys/types.h>
+$gssapi_hack
+$gssapi_krb5_hack
+$krb5_hack
+
 int
 main (void)
 {
-gss_acquire_cred();krb5_init_context()
+gss_acquire_cred(NULL, NULL, 0, NULL, 0, NULL, NULL, NULL);krb5_init_context(NULL);
+#if defined(HAVE_GSSAPI_KRB5_H) || defined(HAVE_GSSAPI_GSSAPI_KRB5_H)
+gsskrb5_register_acceptor_identity(NULL);
+#endif
   ;
   return 0;
 }
index f80ad5deeaf27a9e413849c1d5c19eaf0cbe9166..f877ecc3d2e906773924fe82a244979845f231fe 100644 (file)
@@ -928,7 +928,8 @@ case "$use_gssapi" in
         saved_cppflags="$CPPFLAGS"
         CPPFLAGS="$gssapi_cflags $CPPFLAGS"
         AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h,
-           [ISC_PLATFORM_GSSAPIHEADER="#define ISC_PLATFORM_GSSAPIHEADER <$ac_header>"])
+           [ISC_PLATFORM_GSSAPIHEADER="#define ISC_PLATFORM_GSSAPIHEADER <$ac_header>"
+            gssapi_hack="#include <$ac_header>"])
         if test "" = "$ISC_PLATFORM_GSSAPIHEADER"; then
            case "$use_gssapi" in
            auto|yes)
@@ -940,7 +941,8 @@ case "$use_gssapi" in
            use_gssapi="yes"
         else
            AC_CHECK_HEADERS(krb5/krb5.h krb5.h,
-               [ISC_PLATFORM_KRB5HEADER="#define ISC_PLATFORM_KRB5HEADER <$ac_header>"])
+               [ISC_PLATFORM_KRB5HEADER="#define ISC_PLATFORM_KRB5HEADER <$ac_header>"
+                gssapi_krb5_hack="#include <$ac_header>"])
            if test "" = "$ISC_PLATFORM_KRB5HEADER"; then
                case "$use_gssapi" in
                auto|yes)
@@ -952,12 +954,21 @@ case "$use_gssapi" in
                use_gssapi="yes"
            else
                AC_CHECK_HEADERS(gssapi_krb5.h gssapi/gssapi_krb5.h,
-                   [ISC_PLATFORM_GSSAPI_KRB5_HEADER="#define ISC_PLATFORM_GSSAPI_KRB5_HEADER <$ac_header>"])
+                   [ISC_PLATFORM_GSSAPI_KRB5_HEADER="#define ISC_PLATFORM_GSSAPI_KRB5_HEADER <$ac_header>"
+                    gssapi_krb5_hack="#include <$ac_header>"])
                CPPFLAGS="$saved_cppflags"
                saved_libs="$LIBS"
                LIBS=$gssapi_libs
                AC_MSG_CHECKING([krb5-config linking as $LIBS])
-               AC_TRY_LINK( , [gss_acquire_cred();krb5_init_context()],
+               AC_TRY_LINK([
+#include <sys/types.h>
+$gssapi_hack
+$gssapi_krb5_hack
+$krb5_hack
+                               ] , [gss_acquire_cred(NULL, NULL, 0, NULL, 0, NULL, NULL, NULL);krb5_init_context(NULL);
+#if defined(HAVE_GSSAPI_KRB5_H) || defined(HAVE_GSSAPI_GSSAPI_KRB5_H)
+gsskrb5_register_acceptor_identity(NULL);
+#endif],
                    gssapi_linked=yes, gssapi_linked=no)
                case $gssapi_linked in
                    yes)