# now see if we can find the ldap libs in standard paths
AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init)
- AC_CHECK_FUNC_EXT(ldap_domain2hostlist,$LDAP_LIBS)
-
########################################################
# If we have LDAP, does it's rebind procedure take 2 or 3 arguments?
# Check found in pam_ldap 145.
AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $smb_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc])
- AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS)
-
- if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes" -a x"$ac_cv_func_ext_ldap_domain2hostlist" = x"yes"; then
+ if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes"; then
AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])
CPPFLAGS="$CPPFLAGS -DLDAP_DEPRECATED"
default_static_modules="$default_static_modules pdb_ldap idmap_ldap";
with_ads_support=no
fi
+AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS)
+
+if test x"$ac_cv_func_ext_ldap_initialize" != x"yes"; then
+ if test x"$with_ads_support" = x"yes"; then
+ AC_MSG_ERROR(Active Directory Support requires ldap_initialize)
+ fi
+ AC_MSG_WARN(Active Directory Support requires ldap_initialize)
+ with_ads_support=no
+fi
+
+AC_CHECK_FUNC_EXT(ldap_domain2hostlist,$LDAP_LIBS)
+
+if test x"$ac_cv_func_ext_ldap_domain2hostlist" != x"yes"; then
+ if test x"$with_ads_support" = x"yes"; then
+ AC_MSG_ERROR(Active Directory Support requires ldap_domain2hostlist)
+ fi
+ AC_MSG_WARN(Active Directory Support requires ldap_domain2hostlist)
+ with_ads_support=no
+fi
+
+AC_CHECK_FUNC_EXT(ldap_add_result_entry,$LDAP_LIBS)
+
+if test x"$ac_cv_func_ext_ldap_add_result_entry" != x"yes"; then
+ if test x"$with_ads_support" = x"yes"; then
+ AC_MSG_ERROR(Active Directory Support requires ldap_add_result_entry)
+ fi
+ AC_MSG_WARN(Active Directory Support requires ldap_add_result_entry)
+ with_ads_support=no
+fi
+
if test x"$with_ads_support" != x"no"; then
# Do no harm to the values of CFLAGS and LIBS while testing for
status = ads_do_paged_search(ads, bind_path, scope, expr, attrs, res,
&count, &cookie);
- if (!ADS_ERR_OK(status)) return status;
+ if (!ADS_ERR_OK(status))
+ return status;
+#ifdef HAVE_LDAP_ADD_RESULT_ENTRY
while (cookie) {
void *res2 = NULL;
ADS_STATUS status2;
/* note that we do not free res2, as the memory is now
part of the main returned list */
}
+#else
+ DEBUG(0, ("no ldap_add_result_entry() support in LDAP libs!\n"));
+ status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
+#endif
return status;
}
/* Turn on ssl if required */
if(strequal(protocol, "ldaps")) {
+#ifdef LDAP_OPT_X_TLS
int tls = LDAP_OPT_X_TLS_HARD;
if (ldap_set_option (ld, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS) {
DEBUG(1, ("pdb_nds_update_login_attempts: Failed to setup a TLS session\n"));
} else {
DEBUG(4, ("pdb_nds_update_login_attempts: Activated TLS on session\n"));
}
+#else
+ DEBUG(0,("pdb_nds_update_login_attempts: Secure connection not supported by LDAP client libraries!\n"));
+ return NT_STATUS_INVALID_PARAMETER;
+#endif
}
}