[master] fix gssapi probing on freebsd

3801.	[port]		Fix probing for gssapi support on FreeBSD. [RT #35615]
This commit is contained in:
Evan Hunt
2014-04-03 19:52:03 -07:00
parent 7ef5dc87b6
commit f0e9d6e905
4 changed files with 26 additions and 6 deletions

View File

@@ -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]

11
configure vendored
View File

@@ -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;
}

View 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 ;;

View File

@@ -24,7 +24,7 @@
*****/
/*
* Portable netdb.h support.
* Portable <sys/stat.h> support.
*
* This module is responsible for defining S_IS??? macros.
*