X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=configure.in;h=ec17a99c71776e1f861509159f7c0e08a092aa82;hb=4d19deb987125bd037657838ff05c5fd52fb553c;hp=20622571e2d0b3f0aee344923e3e76ec9ba13183;hpb=35b43bdd6a8d77809c20979f1b78a5fd8080b102;p=mod_auth_kerb.git diff --git a/configure.in b/configure.in index 2062257..ec17a99 100644 --- a/configure.in +++ b/configure.in @@ -119,33 +119,68 @@ if test "x$with_krb5" != "xno" ; then AC_DEFINE(KRB5) # check for Heimdal + have_heimdal="" AC_MSG_CHECKING(whether we are using Heimdal) ac_save_CFLAGS="$CFLAGS" CFLAGS="$KRB5_CPPFLAGS" AC_TRY_COMPILE([#include ], [ char *tmp = heimdal_version; ], [ AC_MSG_RESULT(yes) - AC_DEFINE(HEIMDAL) ], + AC_DEFINE(HEIMDAL) + have_heimdal=yes ], [ AC_MSG_RESULT(no) ]) CFLAGS="$ac_save_CFLAGS" - SPNEGO_SRCS="\ - spnegokrb5/asn1_MechType.c \ - spnegokrb5/asn1_MechTypeList.c \ - spnegokrb5/asn1_ContextFlags.c \ - spnegokrb5/asn1_NegTokenInit.c \ - spnegokrb5/asn1_NegTokenTarg.c \ - spnegokrb5/der_get.c \ - spnegokrb5/der_put.c \ - spnegokrb5/der_free.c \ - spnegokrb5/der_length.c \ - spnegokrb5/der_copy.c \ - spnegokrb5/timegm.c \ - spnegokrb5/init_sec_context.c \ - spnegokrb5/accept_sec_context.c \ - spnegokrb5/encapsulate.c \ - spnegokrb5/decapsulate.c \ - spnegokrb5/external.c" +# If SPNEGO is supported by the gssapi libraries, we shouln't build our support. +# SPNEGO is supported as of Heimdal 0.7, don't know about MIT. + gssapi_supports_spnego="" + AC_MSG_CHECKING(whether the GSSAPI libraries support SPNEGO) + # Invent some better test + if test "$have_heimdal" = yes; then + ac_save_CFLAGS="$CFLAGS" + CFLAGS="$KRB5_CPPFLAGS" + AC_TRY_COMPILE([#include ], + [ gss_OID oid = GSS_SPNEGO_MECHANISM; ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(GSSAPI_SUPPORTS_SPNEGO) + gssapi_supports_spnego=yes ], + [ AC_MSG_RESULT(no) ]) + CFLAGS="$ac_save_CFLAGS" + else + AC_MSG_RESULT(no) + fi + + if test -z "gssapi_supports_spnego"; then + if test -n "$have_heimdal"; then SPNEGO_SRCS="\ + spnegokrb5/asn1_MechType.c \ + spnegokrb5/asn1_MechTypeList.c \ + spnegokrb5/asn1_ContextFlags.c \ + spnegokrb5/asn1_NegTokenInit.c \ + spnegokrb5/asn1_NegTokenTarg.c \ + spnegokrb5/init_sec_context.c \ + spnegokrb5/accept_sec_context.c \ + spnegokrb5/encapsulate.c \ + spnegokrb5/decapsulate.c \ + spnegokrb5/external.c" + else SPNEGO_SRCS="\ + spnegokrb5/asn1_MechType.c \ + spnegokrb5/asn1_MechTypeList.c \ + spnegokrb5/asn1_ContextFlags.c \ + spnegokrb5/asn1_NegTokenInit.c \ + spnegokrb5/asn1_NegTokenTarg.c \ + spnegokrb5/der_get.c \ + spnegokrb5/der_put.c \ + spnegokrb5/der_free.c \ + spnegokrb5/der_length.c \ + spnegokrb5/der_copy.c \ + spnegokrb5/timegm.c \ + spnegokrb5/init_sec_context.c \ + spnegokrb5/accept_sec_context.c \ + spnegokrb5/encapsulate.c \ + spnegokrb5/decapsulate.c \ + spnegokrb5/external.c" + fi + fi fi fi AC_SUBST(KRB5_CPPFLAGS)