summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 7ed29fe902..5cc9019407 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 88d0c0beec..2181ff014d 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 */
}