From: Timo Sirainen Date: Fri, 16 Jul 2004 16:20:54 +0000 (+0300) Subject: Fixed to compile with Solaris LDAP library X-Git-Tag: 1.1.alpha1~3781 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=48559742084e98049335c21c53dfd1ff95f11cd8;p=thirdparty%2Fdovecot%2Fcore.git Fixed to compile with Solaris LDAP library --HG-- branch : HEAD --- diff --git a/configure.in b/configure.in index adcaa28db3..28f49cbdde 100644 --- a/configure.in +++ b/configure.in @@ -1011,6 +1011,9 @@ fi 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) diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index f4fbdbd348..3406ba4198 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -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 @@ static int ldap_conn_open(struct ldap_connection *conn) 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);