- Fix the MIT / Heimdal check for good:
Define HAVE_GSSMIT if <gssapi/{gssapi.h,gssapi_generic.h,gssapi_krb5.h}> are available, otherwise define HAVE_GSSHEIMDAL if <gssapi.h> is available. Only define GSS_C_NT_HOSTBASED_SERVICE to gss_nt_service_name if GSS_C_NT_HOSTBASED_SERVICE isn't declared by the gssapi headers. This should avoid breakage in case we wrongly recognize Heimdal as MIT again.
This commit is contained in:
parent
ebaf06a741
commit
d0a4b50e19
9
CHANGES
9
CHANGES
@ -6,6 +6,15 @@
|
||||
|
||||
Changelog
|
||||
|
||||
Michal Marek (7 Apr 2008)
|
||||
- Fix the MIT / Heimdal check for good:
|
||||
Define HAVE_GSSMIT if <gssapi/{gssapi.h,gssapi_generic.h,gssapi_krb5.h}> are
|
||||
available, otherwise define HAVE_GSSHEIMDAL if <gssapi.h> is available.
|
||||
|
||||
Only define GSS_C_NT_HOSTBASED_SERVICE to gss_nt_service_name if
|
||||
GSS_C_NT_HOSTBASED_SERVICE isn't declared by the gssapi headers. This should
|
||||
avoid breakage in case we wrongly recognize Heimdal as MIT again.
|
||||
|
||||
Daniel Stenberg (5 Apr 2008)
|
||||
- Alexey Simak fixed curl_easy_reset() to reset the max redirect limit properly
|
||||
|
||||
|
@ -18,6 +18,7 @@ This release includes the following bugfixes:
|
||||
o CURLOPT_NOBODY first set to TRUE and then FALSE for HTTP no longer causes
|
||||
the confusion that could lead to a hung transfer
|
||||
o curl_easy_reset() resets the max redirect limit properly
|
||||
o configure now correctly recognizes Heimdal and MIT gssapi libraries
|
||||
|
||||
This release includes the following known bugs:
|
||||
|
||||
@ -34,6 +35,7 @@ New curl mirrors:
|
||||
This release would not have looked like this without help, code, reports and
|
||||
advice from friends like these:
|
||||
|
||||
Michal Marek, Daniel Fandrich, Scott Barrett, Alexey Simak
|
||||
Michal Marek, Daniel Fandrich, Scott Barrett, Alexey Simak, Daniel Black,
|
||||
Rafa Muyo
|
||||
|
||||
Thanks! (and sorry if I forgot to mention someone)
|
||||
|
37
configure.ac
37
configure.ac
@ -983,14 +983,13 @@ if test x"$want_gss" = xyes; then
|
||||
gnu_gss=yes
|
||||
],
|
||||
[
|
||||
dnl not found, check MIT
|
||||
AC_CHECK_HEADER(gssapi/gssapi.h,
|
||||
[
|
||||
dnl found in the given dirs
|
||||
AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
|
||||
],
|
||||
[
|
||||
dnl not found, check for Heimdal
|
||||
dnl not found, check Heimdal or MIT
|
||||
AC_CHECK_HEADERS(
|
||||
[gssapi/gssapi.h gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
|
||||
[],
|
||||
[not_mit=1])
|
||||
if test "x$not_mit" = "x1"; then
|
||||
dnl MIT not found, check for Heimdal
|
||||
AC_CHECK_HEADER(gssapi.h,
|
||||
[
|
||||
dnl found
|
||||
@ -1002,8 +1001,30 @@ if test x"$want_gss" = xyes; then
|
||||
AC_MSG_WARN(disabling GSSAPI since no header files was found)
|
||||
]
|
||||
)
|
||||
else
|
||||
dnl MIT found
|
||||
AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
|
||||
dnl check if we have a really old MIT kerberos (<= 1.2)
|
||||
AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
|
||||
AC_TRY_COMPILE([
|
||||
#include <gssapi/gssapi.h>
|
||||
#include <gssapi/gssapi_generic.h>
|
||||
#include <gssapi/gssapi_krb5.h>
|
||||
],[
|
||||
gss_import_name(
|
||||
(OM_uint32 *)0,
|
||||
(gss_buffer_t)0,
|
||||
GSS_C_NT_HOSTBASED_SERVICE,
|
||||
(gss_name_t *)0);
|
||||
],[
|
||||
AC_MSG_RESULT([yes])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_DEFINE(HAVE_OLD_GSSMIT, 1, [if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE])
|
||||
]
|
||||
)
|
||||
|
||||
fi
|
||||
]
|
||||
)
|
||||
else
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "setup.h"
|
||||
|
||||
#ifdef HAVE_GSSAPI
|
||||
#ifdef HAVE_GSSMIT
|
||||
#ifdef HAVE_OLD_GSSMIT
|
||||
#define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
|
||||
#endif
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
#ifndef CURL_DISABLE_FTP
|
||||
#ifdef HAVE_GSSAPI
|
||||
|
||||
#ifdef HAVE_GSSMIT
|
||||
#ifdef HAVE_OLD_GSSMIT
|
||||
#define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user