if test $want_ldap = yes; then
AC_CHECK_LIB(ldap, ldap_init, [
AC_CHECK_HEADER(ldap.h, [
+ AC_CHECK_LIB(ldap, ldap_initialize, [
+ AC_DEFINE(LDAP_HAVE_INITIALIZE,, Define if you have ldap_initialize)
+ ])
AUTH_LIBS="$AUTH_LIBS -lldap"
AC_DEFINE(USERDB_LDAP,, Build with LDAP support)
# define OPENLDAP_ASYNC_WORKAROUND
#endif
+/* Solaris LDAP library doesn't have LDAP_OPT_SUCCESS */
+#ifndef LDAP_OPT_SUCCESS
+# define LDAP_OPT_SUCCESS LDAP_SUCCESS
+#endif
+
#define DEF(type, name) \
{ type, #name, offsetof(struct ldap_settings, name) }
if (conn->ld == NULL) {
if (conn->set.uris != NULL) {
+#ifdef LDAP_HAVE_INITIALIZE
if (ldap_initialize(&conn->ld, conn->set.uris) != LDAP_SUCCESS)
conn->ld = NULL;
+#else
+ i_fatal("LDAP: Your LDAP library doesn't support "
+ "'uris' setting, use 'hosts' instead.");
+#endif
} else
conn->ld = ldap_init(conn->set.hosts, LDAP_PORT);