changeset 2325:7613e0f68513 HEAD

Fixed to compile with Solaris LDAP library
author Timo Sirainen <tss@iki.fi>
date Fri, 16 Jul 2004 19:20:54 +0300
parents ea745d0c9c4b
children 0a8c9bfc05a1
files configure.in src/auth/db-ldap.c
diffstat 2 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/configure.in	Thu Jul 15 15:26:31 2004 +0300
+++ b/configure.in	Fri Jul 16 19:20:54 2004 +0300
@@ -1011,6 +1011,9 @@
 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)
--- a/src/auth/db-ldap.c	Thu Jul 15 15:26:31 2004 +0300
+++ b/src/auth/db-ldap.c	Fri Jul 16 19:20:54 2004 +0300
@@ -21,6 +21,11 @@
 #  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) }
 
@@ -181,8 +186,13 @@
 
 	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);