- markus@cvs.openbsd.org 2004/02/23 15:16:46
[version.h]
enter 3.8
+ - (dtucker) [configure.ac gss-serv-krb5.c ssh-gss.h] Define GSSAPI when found
+ with krb5-config, hunt down gssapi.h and friends. Based partially on patch
+ from deengert at anl.gov.
20040223
- (dtucker) [session.c] Bug #789: Only make setcred call for !privsep in the
AC_MSG_CHECKING(for gssapi support)
if $KRB5CONF | grep gssapi >/dev/null ; then
AC_MSG_RESULT(yes)
- K5CFLAGS="`$KRB5CONF --cflags gssapi`"
- dnl m4 quadragraphs: "sed 's/-l[^ ]* //g'"
- K5LDFLAGS="`$KRB5CONF --libs gssapi | sed 's/-l@<:@^ @:>@* //g'`"
- K5LIBS="`$KRB5CONF --libs gssapi | sed 's/-L@<:@^ @:>@* //g'`"
+ AC_DEFINE(GSSAPI)
+ k5confopts=gssapi
else
AC_MSG_RESULT(no)
- K5CFLAGS="`$KRB5CONF --cflags`"
- K5LDFLAGS="`$KRB5CONF --libs | sed 's/-l@<:@^ @:>@* //g'`"
- K5LIBS="`$KRB5CONF --libs | sed 's/-L@<:@^ @:>@* //g'`"
+ k5confopts=""
fi
+ K5CFLAGS="`$KRB5CONF --cflags $k5confopts`"
+ K5LIBS="`$KRB5CONF --libs $k5confopts`"
CPPFLAGS="$CPPFLAGS $K5CFLAGS"
- LDFLAGS="$LDFLAGS $K5LDFLAGS"
AC_MSG_CHECKING(whether we are using Heimdal)
AC_TRY_COMPILE([ #include <krb5.h> ],
[ char *tmp = heimdal_version; ],
if test ! -z "$blibpath" ; then
blibpath="$blibpath:${KRB5ROOT}/lib"
fi
- fi ]
- AC_SEARCH_LIBS(k_hasafs, kafs,
- [ AC_DEFINE(USE_AFS)
- K5LIBS="-lkafs $K5LIBS"
- ]
- )
+ fi
+
+ AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h)
+ AC_CHECK_HEADERS(gssapi_krb5.h gssapi/gssapi_krb5.h)
+ AC_CHECK_HEADERS(gssapi_generic.h gssapi/gssapi_generic.h)
+
+ LIBS="$LIBS $K5LIBS"
+ AC_SEARCH_LIBS(k_hasafs, kafs, AC_DEFINE(USE_AFS))
+ ]
)
-LIBS="$LIBS $K5LIBS"
# Looking for programs, paths and files
extern ServerOptions options;
#ifdef HEIMDAL
-#include <krb5.h>
+# include <krb5.h>
#else
-#include <gssapi_krb5.h>
+# ifdef HAVE_GSSAPI_KRB5
+# include <gssapi_krb5.h>
+# elif HAVE_GSSAPI_GSSAPI_KRB5
+# include <gssapi/gssapi_krb5.h>
+# endif
#endif
static krb5_context krb_context = NULL;
#include "buffer.h"
+#ifdef HAVE_GSSAPI_H
#include <gssapi.h>
+#elif defined(HAVE_GSSAPI_GSSAPI_H)
+#include <gssapi/gssapi.h>
+#endif
#ifdef KRB5
-#ifndef HEIMDAL
-#include <gssapi_generic.h>
+# ifndef HEIMDAL
+# ifdef HAVE_GSSAPI_GENERIC_H
+# include <gssapi_generic.h>
+# elif defined(HAVE_GSSAPI_GSSAPI_GENERIC_H)
+# include <gssapi/gssapi_generic.h>
+# endif
/* MIT Kerberos doesn't seem to define GSS_NT_HOSTBASED_SERVICE */