]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] fix gssapi probing on freebsd
authorEvan Hunt <each@isc.org>
Fri, 4 Apr 2014 02:52:03 +0000 (19:52 -0700)
committerEvan Hunt <each@isc.org>
Fri, 4 Apr 2014 02:52:03 +0000 (19:52 -0700)
3801. [port] Fix probing for gssapi support on FreeBSD. [RT #35615]

CHANGES
configure
configure.in
lib/isc/unix/include/isc/stat.h

diff --git a/CHANGES b/CHANGES
index bcc5c3cbdc898a2e4d59b18476a14504c9c07b80..5c97eeba5a8f1371216c8523af5021bdbb8fa74e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+3801.  [port]          Fix probing for gssapi support on FreeBSD. [RT #35615]
+
 3800.  [bug]           A pending event on the route socket could cause an
                        assertion failure when shutting down named. [RT #35674]
 
index fc0e639d3e48e7b0a9ab18d1bb57fa924c65e1f0..4d8f625f2c0cbcc510bc786ca37df988b5f836b7 100755 (executable)
--- a/configure
+++ b/configure
@@ -13811,6 +13811,7 @@ if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
  ISC_PLATFORM_GSSAPIHEADER="#define ISC_PLATFORM_GSSAPIHEADER <$ac_header>"
+                    gssapi_hack="#include <$ac_header>"
 fi
 
 done
@@ -13829,6 +13830,7 @@ if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
 #define `$as_echo "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
@@ -13843,6 +13845,7 @@ if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
  ISC_PLATFORM_KRB5HEADER="#define ISC_PLATFORM_KRB5HEADER <$ac_header>"
+                   krb5_hack="#include <$ac_header>"
 fi
 
 done
@@ -13882,6 +13885,7 @@ done
                    "-lgssapi" \
                    "-lgssapi -lkrb5 -ldes -lcrypt -lasn1 -lroken -lcom_err" \
                    "-lgssapi -lkrb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
+                   "-lgssapi -lkrb5 -lgssapi_krb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
                    "-lgssapi -lkrb5 -lhx509 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
                    "-lgss -lkrb5"
                do
@@ -13901,10 +13905,15 @@ $as_echo_n "checking linking as $TRY_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 ()
 {
-gss_acquire_cred();krb5_init_context()
+gss_acquire_cred(NULL, NULL, 0, NULL, 0, NULL, NULL, NULL);krb5_init_context(NULL);gsskrb5_register_acceptor_identity(NULL);
   ;
   return 0;
 }
index c967b4b4ba6eaad1ec80c25622840bbe42f1273b..f634c1af616cf7df0e56b6bd8823adcd02e07510 100644 (file)
@@ -763,17 +763,20 @@ case "$use_gssapi" in
                saved_cppflags="$CPPFLAGS"
                CPPFLAGS="-I$use_gssapi/include $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
                    AC_MSG_ERROR([gssapi.h not found])
                fi
 
                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>"])
 
                AC_CHECK_HEADERS(krb5.h krb5/krb5.h kerberosv5/krb5.h,
-                   [ISC_PLATFORM_KRB5HEADER="#define ISC_PLATFORM_KRB5HEADER <$ac_header>"])
+                   [ISC_PLATFORM_KRB5HEADER="#define ISC_PLATFORM_KRB5HEADER <$ac_header>"
+                   krb5_hack="#include <$ac_header>"])
 
                if test "$ISC_PLATFORM_KRB5HEADER" = ""; then
                    AC_MSG_ERROR([krb5.h not found])
@@ -809,6 +812,7 @@ case "$use_gssapi" in
                    "-lgssapi" \
                    "-lgssapi -lkrb5 -ldes -lcrypt -lasn1 -lroken -lcom_err" \
                    "-lgssapi -lkrb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
+                   "-lgssapi -lkrb5 -lgssapi_krb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
                    "-lgssapi -lkrb5 -lhx509 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
                    "-lgss -lkrb5"
                do
@@ -824,7 +828,12 @@ case "$use_gssapi" in
                            LIBS="-L$use_gssapi/lib $TRY_LIBS"
                    fi
                    AC_MSG_CHECKING(linking as $TRY_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);gsskrb5_register_acceptor_identity(NULL);],
                                gssapi_linked=yes, gssapi_linked=no)
                    case $gssapi_linked in
                    yes) AC_MSG_RESULT(yes); break ;;
index b7a798649225254571088bbcf22b4ff9145f6945..b068ca1a377090af224d49bc304dfe9065429a97 100644 (file)
@@ -24,7 +24,7 @@
  *****/
 
 /*
- * Portable netdb.h support.
+ * Portable <sys/stat.h> support.
  *
  * This module is responsible for defining S_IS??? macros.
  *