diff options
author | nalin <nalin@517b70f8-ed25-0410-8bf6-f5db08f7b76e> | 2005-11-02 23:10:01 +0000 |
---|---|---|
committer | nalin <nalin@517b70f8-ed25-0410-8bf6-f5db08f7b76e> | 2005-11-02 23:10:01 +0000 |
commit | dad3cb195802282569999bface564bbc5d22a0f1 (patch) | |
tree | 1d3ba6da10419600d0e78930888fdf11bd5795d2 /configure.ac | |
parent | b0b87bb0cd2ec02d562a4c091b64520e539b6e02 (diff) |
* configure.ac: test for differences between the Heimdal and MIT Kerberos APIs
* src/krb5-auth-dialog.c: abstract out differences in how credential flags
and realm names are stored.
git-svn-id: http://svn.gnome.org/svn/krb5-auth-dialog/trunk@41 517b70f8-ed25-0410-8bf6-f5db08f7b76e
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac index 5c55243..52497b4 100644 --- a/configure.ac +++ b/configure.ac @@ -28,11 +28,6 @@ PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 >= 2.4.0 ]) -AC_ARG_WITH(heimdal, [ --with-heimdal ], with_heimdal="$withval", with_heimdal="no" ) -if test "x$with_heimdal" != "xno"; then - AC_DEFINE_UNQUOTED(HEIMDAL, "", "") -fi - AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin) if test "x$KRB5_CONFIG" != "xnone"; then KRB5_LIBS="`${KRB5_CONFIG} --libs krb5`" @@ -41,6 +36,46 @@ if test "x$KRB5_CONFIG" != "xnone"; then AC_SUBST(KRB5_LIBS) fi +dnl Check for API differences between Heimdal and MIT Kerberos +savedCFLAGS="$CFLAGS" +CFLAGS="$KRB5_CFLAGS $CFLAGS" +AC_CHECK_MEMBERS(krb5_creds.ticket_flags,,,[#include <krb5.h>]) +AC_CHECK_MEMBERS(krb5_creds.flags.b.forwardable,,,[#include <krb5.h>]) +AC_CHECK_MEMBERS(krb5_creds.flags.b.renewable,,,[#include <krb5.h>]) +AC_CHECK_MEMBERS(krb5_creds.flags.b.proxiable,,,[#include <krb5.h>]) +AC_CHECK_MEMBERS(krb5_creds.flags,,,[#include <krb5.h>]) +AC_CHECK_DECLS([KDC_OPT_FORWARDABLE,KDC_OPT_RENEWABLE,KDC_OPT_PROXIABLE]) +AC_CHECK_DECLS([TKT_FLG_FORWARDABLE,TKT_FLG_RENEWABLE,TKT_FLG_PROXIABLE]) +AC_MSG_CHECKING(if a krb5_principal->realm is a char*) +AC_COMPILE_IFELSE([ +$ac_includes_default +#include <krb5.h> +#include <string.h> +int +main(int argc, char **argv) +{ + static krb5_principal foo; + return strlen(foo->realm); +}],[AC_DEFINE(HAVE_KRB5_PRINCIPAL_REALM_AS_STRING,1,[Define if the realm of a krb5_principal is a char*]) +AC_MSG_RESULT(yes)], +AC_MSG_RESULT(no)) + +AC_MSG_CHECKING(if a krb5_principal->realm is a krb5_data) +AC_COMPILE_IFELSE([ +$ac_includes_default +#include <krb5.h> +int +main(int argc, char **argv) +{ + static krb5_principal foo; + static krb5_data bar; + foo->realm = bar; + return 0; +}],[AC_DEFINE(HAVE_KRB5_PRINCIPAL_REALM_AS_DATA,1,[Define if the realm of a krb5_principal is a krb5_data]) +AC_MSG_RESULT(yes)], +AC_MSG_RESULT(no)) +CFLAGS="$savedCFLAGS" + dnl NetworkManager AC_MSG_CHECKING([whether to enable NetworkManager support]) |