From 86309add9f55fdbdf108c0672d4eb3ef3306e45b Mon Sep 17 00:00:00 2001 From: Irene Huang Date: Tue, 5 Jun 2007 13:29:59 +0000 Subject: [PATCH] Add option for using Sun Kerberos fixing bug #344728 2006-06-05 Irene 2007-06-05 Irene Huang * configure.in: Add option for using Sun Kerberos fixing bug #344728 2006-06-05 Irene Huang * camel-sasl-gssapi.c: Add headers for Sun Kerberos fixing bug #344728 svn path=/trunk/; revision=7809 --- ChangeLog | 5 +++++ camel/ChangeLog | 9 +++++++++ camel/camel-sasl-gssapi.c | 7 ++++++- configure.in | 27 +++++++++++++++++++++------ 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 71de8eb..38ebc9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-06-05 Irene Huang + + * configure.in: Add option for using Sun Kerberos + fixing bug #344728 + 2007-05-14 Srinivasa Ragavan * NEWS, configure.in: Evolution Data Server 1.11.3 release. diff --git a/camel/ChangeLog b/camel/ChangeLog index 3435850..3933cf6 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,12 @@ +2007-06-05 Irene Huang + + * camel-sasl-gssapi.c: Add headers for Sun Kerberos + fixing bug #344728 + +2007-06-05 Irene Huang + + * camel-sasl-gssapi.c: + 2007-06-01 Karl Relton ** Fix for bug #311512 diff --git a/camel/camel-sasl-gssapi.c b/camel/camel-sasl-gssapi.c index 5f1d00e..78c68f1 100644 --- a/camel/camel-sasl-gssapi.c +++ b/camel/camel-sasl-gssapi.c @@ -40,9 +40,14 @@ #ifdef HAVE_MIT_KRB5 #include #include -#else /* HAVE_HEIMDAL_KRB5 */ +#endif +#ifdef HAVE_HEIMDAL_KRB5 #include #define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE +#else /* HAVE_SUN_KRB5 */ +#include +#include +extern gss_OID gss_nt_service_name; #endif #ifndef GSS_C_OID_KRBV5_DES diff --git a/configure.in b/configure.in index 832e3d3..2ee17c2 100644 --- a/configure.in +++ b/configure.in @@ -981,13 +981,18 @@ if test "x${with_krb5}" != "xno"; then mitlibs="-lkrb5 -lk5crypto -lcom_err -lgssapi_krb5" heimlibs="-lkrb5 -lcrypto -lasn1 -lcom_err -lroken -lgssapi" + sunlibs="-lkrb5 -lgss" AC_CACHE_CHECK([for Kerberos 5], ac_cv_lib_kerberos5, [ LDFLAGS="$LDFLAGS -L$with_krb5_libs $mitlibs" AC_TRY_LINK([#include ],krb5_init_context, ac_cv_lib_kerberos5="$mitlibs", [ LDFLAGS="$LDFLAGS_save -L$with_krb5_libs $heimlibs" - AC_TRY_LINK_FUNC(krb5_init_context, ac_cv_lib_kerberos5="$heimlibs", ac_cv_lib_kerberos5="no") + AC_TRY_LINK_FUNC(krb5_init_context, ac_cv_lib_kerberos5="$heimlibs", + [ + LDFLAGS="$LDFLAGS_save -L$with_krb5_libs $sunlibs" + AC_TRY_LINK_FUNC(krb5_init_context, ac_cv_lib_kerberos5="$sunlibs", ac_cv_lib_kerberos5="no") + ]) ]) LDFLAGS="$LDFLAGS_save" ]) @@ -1002,13 +1007,23 @@ if test "x${with_krb5}" != "xno"; then fi msg_krb5="yes (MIT)" else - AC_DEFINE(HAVE_HEIMDAL_KRB5,1,[Define if you have Heimdal]) - if test -z "$with_krb5_includes"; then - KRB5_CFLAGS="-I$with_krb5/include/heimdal" + if test "$ac_cv_lib_kerberos5" = "$heimlibs"; then + AC_DEFINE(HAVE_HEIMDAL_KRB5,1,[Define if you have Heimdal]) + if test -z "$with_krb5_includes"; then + KRB5_CFLAGS="-I$with_krb5/include/heimdal" + else + KRB5_CFLAGS="-I$with_krb5_includes" + fi + msg_krb5="yes (Heimdal)" else - KRB5_CFLAGS="-I$with_krb5_includes" + AC_DEFINE(HAVE_SUN_KRB5,1,[Define if you have Sun Kerberosv5]) + if test -z "$with_krb5_includes"; then + KRB5_CFLAGS="-I$with_krb5/include/kerberosv5" + else + KRB5_CFLAGS="-I$with_krb5_includes" + fi + msg_krb5="yes (Sun)" fi - msg_krb5="yes (Heimdal)" fi KRB5_LDFLAGS="-L$with_krb5_libs $ac_cv_lib_kerberos5" AC_MSG_RESULT(msg_krb5) -- 2.7.4