summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2005-06-04 22:27:33 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:36 -0500
commite168c5fefa9119d2b8c03a8884f581b0ff9e03fe (patch)
tree90f5f192cea96fbcced6ca2d2399cb81de577e1d
parentd93e15f1d44f70b711f2ec01fe75d969d55f6c28 (diff)
downloadsamba-e168c5fefa9119d2b8c03a8884f581b0ff9e03fe.tar.gz
samba-e168c5fefa9119d2b8c03a8884f581b0ff9e03fe.tar.xz
samba-e168c5fefa9119d2b8c03a8884f581b0ff9e03fe.zip
r7285: It appears that MIT Kerberos does not have the log redirection
facility that I'm using. This should let us compile the non-KDC components on MIT again. Andrew Bartlett (This used to be commit ae9c2d2b54a979ab8467c847b62dd2c2a0fa059f)
-rw-r--r--source4/auth/kerberos/clikrb5.c4
-rw-r--r--source4/auth/kerberos/config.m413
-rw-r--r--source4/auth/kerberos/kerberos.h8
3 files changed, 23 insertions, 2 deletions
diff --git a/source4/auth/kerberos/clikrb5.c b/source4/auth/kerberos/clikrb5.c
index dc02cf7b014..3858b694a78 100644
--- a/source4/auth/kerberos/clikrb5.c
+++ b/source4/auth/kerberos/clikrb5.c
@@ -484,7 +484,7 @@ static int smb_krb5_context_destory_1(void *ptr)
return 0;
}
-#if defined(HAVE_KRB5_INITLOG) && defined(HAVE_KRB5_ADDLOG_FUNC) && defined(HAVE_KRB5_FREELOG)
+#ifdef HAVE_KRB5_LOGGING_CONTROL
static int smb_krb5_context_destory_2(void *ptr)
{
struct smb_krb5_context *ctx = ptr;
@@ -547,7 +547,7 @@ static void smb_krb5_debug_wrapper(const char *timestr, const char *msg, void *p
}
}
-#if defined(HAVE_KRB5_INITLOG) && defined(HAVE_KRB5_ADDLOG_FUNC) && defined(HAVE_KRB5_FREELOG)
+#ifdef HAVE_KRB5_LOGGING_CONTROL
/* TODO: Should we have a different name here? */
ret = krb5_initlog((*smb_krb5_context)->krb5_context, "Samba", &(*smb_krb5_context)->logf);
diff --git a/source4/auth/kerberos/config.m4 b/source4/auth/kerberos/config.m4
index 010a1c85da2..0c248289079 100644
--- a/source4/auth/kerberos/config.m4
+++ b/source4/auth/kerberos/config.m4
@@ -263,9 +263,22 @@ if test x"$with_krb5_support" != x"no"; then
AC_CHECK_FUNC_EXT(krb5_initlog, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_freelog, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_addlog_func, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_set_warn_dest, $KRB5_LIBS)
LIBS="$LIBS $KRB5_LIBS"
+ AC_CACHE_CHECK([for krb5_log_facility type],
+ samba_cv_HAVE_KRB5_LOG_FACILITY,[
+ AC_TRY_COMPILE([#include <krb5.h>],
+ [krb5_log_facility block;],
+ samba_cv_HAVE_KRB5_LOG_FACILITY=yes,
+ samba_cv_HAVE_KRB5_LOG_FACILITY=no)])
+
+ if test x"$samba_cv_HAVE_KRB5_LOG_FACILITY" = x"yes"; then
+ AC_DEFINE(HAVE_KRB5_LOG_FACILITY,1,
+ [Whether the type krb5_log_facility exists])
+ fi
+
AC_CACHE_CHECK([for krb5_encrypt_block type],
samba_cv_HAVE_KRB5_ENCRYPT_BLOCK,[
AC_TRY_COMPILE([#include <krb5.h>],
diff --git a/source4/auth/kerberos/kerberos.h b/source4/auth/kerberos/kerberos.h
index b65416e619e..286e8ceb2e3 100644
--- a/source4/auth/kerberos/kerberos.h
+++ b/source4/auth/kerberos/kerberos.h
@@ -21,9 +21,17 @@
#if defined(HAVE_KRB5)
+#if defined(HAVE_KRB5_INITLOG) && defined(HAVE_KRB5_ADDLOG_FUNC) && defined(HAVE_KRB5_FREELOG) && defined (HAVE_KRB5_SET_WARN_DEST) && defined(HAVE_KRB5_LOG_FACILITY)
+#define HAVE_KRB5_LOGGGING_CONTROL
+#else
+#undef HAVE_KRB5_LOGGGING_CONTROL
+#endif
+
struct smb_krb5_context {
krb5_context krb5_context;
+#ifdef HAVE_KRB5_LOGGGING_CONTROL
krb5_log_facility *logf;
+#endif
};