summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2008-02-06 18:16:03 +0100
committerMichael Adam <obnox@samba.org>2008-02-06 18:16:22 +0100
commitb7989e2ac76f3cffb30d2b41620a8f7d97d2b70b (patch)
tree17c3f7fb3a82622c863a42341171a170ea02890b
parent7183e5811e00b650bd271c765562b9dcea8e2d09 (diff)
downloadsamba-b7989e2ac76f3cffb30d2b41620a8f7d97d2b70b.tar.gz
samba-b7989e2ac76f3cffb30d2b41620a8f7d97d2b70b.tar.xz
samba-b7989e2ac76f3cffb30d2b41620a8f7d97d2b70b.zip
Add configure check for LBER_LOG_PRINT_FN - to intercept ldap debug.
Use the resulting HAVE_LBER_LOG_PRINT_FN to determine whether we can use it in init_ldap_debugging to intercept LDAP debug output and print it out in the samba logs (controlled with "ldap debug level"). Michael (This used to be commit 8dfc389ff678967a7b16ff1d68f00468a9925275)
-rw-r--r--source3/configure.in15
-rw-r--r--source3/lib/ldap_debug_handler.c4
2 files changed, 17 insertions, 2 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 7ed29fe902e..5cc90194077 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3490,6 +3490,21 @@ if test x"$with_ldap_support" != x"no"; then
AC_DEFINE(HAVE_LDAP_SASL_WRAPPING, 1, [Support for SASL wrapping])
fi
+ #######################################################
+ # if we have LBER_OPT_LOG_PRINT_FN, we can intercept
+ # ldap logging and print it out in the samba logs
+ AC_CACHE_CHECK([for LBER_OPT_LOG_PRINT_FN],
+ samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN,
+ [AC_TRY_COMPILE([#include <lber.h>],
+ [int val = LBER_OPT_LOG_PRINT_FN;],
+ samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN=yes,
+ samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN=no)])
+
+ if test x"$samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN" = x"yes"; then
+ AC_DEFINE(HAVE_LBER_LOG_PRINT_FN, 1,
+ [Support for LDAP/LBER logging interception])
+ fi
+
########################################################
# now see if we can find the ldap libs in standard paths
AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init)
diff --git a/source3/lib/ldap_debug_handler.c b/source3/lib/ldap_debug_handler.c
index 88d0c0beec1..2181ff014d2 100644
--- a/source3/lib/ldap_debug_handler.c
+++ b/source3/lib/ldap_debug_handler.c
@@ -30,7 +30,7 @@ static void samba_ldap_log_print_fn(LDAP_CONST char *data)
void init_ldap_debugging(void)
{
-#if HAVE_LDAP
+#if defined(HAVE_LDAP) && defined(HAVE_LBER_LOG_PRINT_FN)
int ret;
int ldap_debug_level = lp_ldap_debug_level();
@@ -48,5 +48,5 @@ void init_ldap_debugging(void)
if (ret != LBER_OPT_SUCCESS) {
DEBUG(10, ("Error setting LBER log print function.\n"));
}
-#endif /* HAVE_LDAP */
+#endif /* HAVE_LDAP && HAVE_LBER_LOG_PRINT_FN */
}