diff --git a/acinclude/ldap.m4 b/acinclude/ldap.m4 index 660cc8deadf..a855ef41838 100644 --- a/acinclude/ldap.m4 +++ b/acinclude/ldap.m4 @@ -12,11 +12,9 @@ AC_DEFUN([SQUID_LDAP_TEST],[ LIBS="$LIBLDAP_PATH $LIBLDAP_LIBS $LIBPTHREADS" CPPFLAGS="-DLDAP_DEPRECATED=1 -DLDAP_REFERRALS $CPPFLAGS" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -# if HAVE_LDAP_H -# include -# elif HAVE_MOZLDAP_LDAP_H -# include -# endif +#if HAVE_LDAP_H +#include +#endif ]],[[$2]]) ],[ squid_cv_$1=1 @@ -37,12 +35,12 @@ AC_DEFUN([SQUID_LDAP_TEST_RUN],[ LIBS="$LIBLDAP_PATH $LIBLDAP_LIBS $LIBPTHREADS" CPPFLAGS="-DLDAP_DEPRECATED=1 -DLDAP_REFERRALS $CPPFLAGS" AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -# if HAVE_LDAP_H -# include -# elif HAVE_MOZLDAP_LDAP_H -# include -# endif -# include +#if HAVE_LDAP_H +#include +#endif +#if HAVE_STRING_H +#include +#endif ]],[[$2]]) ],[ m4_translit([squid_cv_$1],[-+. ],[____])=1 @@ -61,7 +59,6 @@ dnl find the LDAP library vendor and define relevant HAVE_(vendor name) macro AC_DEFUN([SQUID_LDAP_CHECK_VENDOR],[ SQUID_LDAP_TEST_RUN([OpenLDAP],[return strcmp(LDAP_VENDOR_NAME,"OpenLDAP")]) SQUID_LDAP_TEST_RUN([Sun LDAP SDK],[return strcmp(LDAP_VENDOR_NAME,"Sun Microsystems Inc.")]) - SQUID_LDAP_TEST_RUN([Mozilla LDAP SDK],[return strcmp(LDAP_VENDOR_NAME,"mozilla.org")]) ]) dnl check whether the LDAP library(s) provide the needed API and types @@ -99,5 +96,4 @@ AC_DEFUN([SQUID_CHECK_LDAP_API],[ AC_SEARCH_LIBS([ldap_start_tls_s],[$LIBLDAP_NAMES],[ AC_DEFINE(HAVE_LDAP_START_TLS_S,1,[Define to 1 if you have ldap_start_tls_s]) ]) - SQUID_STATE_ROLLBACK(squid_ldap_state) ]) diff --git a/configure.ac b/configure.ac index cc851bd6ce0..d6735e529ed 100644 --- a/configure.ac +++ b/configure.ac @@ -1219,33 +1219,19 @@ SQUID_CHECK_LIB_WORKS(gss,[ ]) SQUID_AUTO_LIB(ldap,[LDAP],[LIBLDAP]) +dnl On MinGW set Windows LDAP libraries using -lwldap32 +AS_IF([test "x$with_ldap" != "xno" -a "$squid_host_os" = "mingw"],[ + LIBLDAP_LIBS="$LIBLDAP_LIBS -lwldap32" +]) SQUID_CHECK_LIB_WORKS(ldap,[ - dnl On MinGW OpenLDAP is not available, so LDAP helpers can be linked - dnl only with Windows LDAP libraries using -lwldap32 - AS_IF([test "$squid_host_os" = "mingw"],[ - LIBLDAP_LIBS="-lwldap32" - ],[ - SQUID_STATE_SAVE(squid_ldap_state) - LIBS="$LIBLDAP_PATH $LIBPTHREADS $LIBS" - PKG_CHECK_MODULES([LIBLDAP],[ldap],[],[ - AC_CHECK_LIB(lber, ber_init, [LIBLBER="-llber"]) - AC_CHECK_LIB(ldap, ldap_init, [LIBLDAP_LIBS="-lldap $LIBLBER"]) - dnl if no ldap lib found check for mozilla version - AS_IF([test "x$ac_cv_lib_ldap_ldap_init" != "xyes"],[ - SQUID_STATE_SAVE(squid_ldap_mozilla) - LIBS="$LIBLDAP_PATH $LIBPTHREADS" - AC_CHECK_LIB(ldap60, ldap_init, [LIBLDAP_LIBS="-lldap60 $LIBLBER"]) - LIBS="$LIBLDAP_PATH $LIBLDAP_LIBS $LIBPTHREADS" - AC_CHECK_LIB(prldap60, prldap_init, [LIBLDAP_LIBS="-lprldap60 $LIBLDAP_LIBS"]) - LIBS="$LIBLDAP_PATH $LIBLDAP_LIBS $LIBPTHREADS" - AC_CHECK_LIB(ssldap60, ldapssl_init, [LIBLDAP_LIBS="-lssldap60 $LIBLDAP_LIBS"]) - SQUID_STATE_ROLLBACK(squid_ldap_mozilla) - ]) - ]) - AC_CHECK_HEADERS(ldap.h lber.h) - AC_CHECK_HEADERS(mozldap/ldap.h) + SQUID_STATE_SAVE(squid_ldap_state) + LIBS="$LIBLDAP_PATH $LIBPTHREADS $LIBS" + PKG_CHECK_MODULES([LIBLDAP],[ldap],[:],[:]) + AS_IF([test "x$LIBLDAP_LIBS" != "x"],[ + AC_CHECK_HEADERS(ldap.h lber.h winldap.h) SQUID_CHECK_LDAP_API ]) + SQUID_STATE_ROLLBACK(squid_ldap_state) ]) SQUID_AUTO_LIB(systemd,[systemd API for start-up notification],[LIBSYSTEMD]) diff --git a/doc/manuals/manuals.pot b/doc/manuals/manuals.pot index 4d4c1a0e8fe..20ece733dcc 100644 --- a/doc/manuals/manuals.pot +++ b/doc/manuals/manuals.pot @@ -772,7 +772,7 @@ msgstr "" #: src/acl/external/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8:80 msgid "" "The SSL certificate database can be set via the environment variable " -"SSL_CERTDBPATH (default /etc/certs) (Sun and Mozilla LDAP SDK)." +"SSL_CERTDBPATH (default /etc/certs) (Sun LDAP SDK)." msgstr "" #. type: Plain text diff --git a/doc/release-notes/release-7.sgml.in b/doc/release-notes/release-7.sgml.in index c08c73e9dea..00848855eca 100644 --- a/doc/release-notes/release-7.sgml.in +++ b/doc/release-notes/release-7.sgml.in @@ -209,6 +209,9 @@ This section gives an account of those changes in three categories:

The ESI feature is now disabled by default. Use --enable-esi if needed. + --with-ldap +

No longer builds with Mozilla LDAP SDK. +

diff --git a/src/acl/external/LDAP_group/required.m4 b/src/acl/external/LDAP_group/required.m4 index f57320fef26..ce3589f0632 100755 --- a/src/acl/external/LDAP_group/required.m4 +++ b/src/acl/external/LDAP_group/required.m4 @@ -5,4 +5,4 @@ ## Please see the COPYING and CONTRIBUTORS files for details. ## -AC_CHECK_HEADERS([ldap.h winldap.h],[BUILD_HELPER="LDAP_group"]) +AS_IF([test "x$LIBLDAP_LIBS" != "x"],[BUILD_HELPER="LDAP_group"]) diff --git a/src/acl/external/eDirectory_userip/required.m4 b/src/acl/external/eDirectory_userip/required.m4 index 14ecf871d7a..e7b3d8b6e55 100644 --- a/src/acl/external/eDirectory_userip/required.m4 +++ b/src/acl/external/eDirectory_userip/required.m4 @@ -5,4 +5,4 @@ ## Please see the COPYING and CONTRIBUTORS files for details. ## -AC_CHECK_HEADERS([ldap.h winldap.h],[BUILD_HELPER="eDirectory_userip"]) +AS_IF([test "x$LIBLDAP_LIBS" != "x"],[BUILD_HELPER="eDirectory_userip"]) diff --git a/src/acl/external/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8 b/src/acl/external/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8 index 43969c6fd9e..58a8c694448 100644 --- a/src/acl/external/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8 +++ b/src/acl/external/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8 @@ -76,7 +76,7 @@ Use SSL for the LDAP connection. .IP The CA certificate file can be set via the environment variable TLS_CACERTFILE (default /etc/ssl/certs/cert.pem) (OpenLDAP). .IP -The SSL certificate database can be set via the environment variable SSL_CERTDBPATH (default /etc/certs) (Sun and Mozilla LDAP SDK). +The SSL certificate database can be set via the environment variable SSL_CERTDBPATH (default /etc/certs) (Sun LDAP SDK). .if !'po4a'hide' .TP 12 .if !'po4a'hide' .B \-a Allow SSL without certificate verification. diff --git a/src/acl/external/kerberos_ldap_group/support.h b/src/acl/external/kerberos_ldap_group/support.h index 3073b8cd8ab..492283bc266 100644 --- a/src/acl/external/kerberos_ldap_group/support.h +++ b/src/acl/external/kerberos_ldap_group/support.h @@ -51,9 +51,6 @@ #if HAVE_LDAP_H #include #endif -#if HAVE_MOZLDAP_LDAP_H -#include -#endif struct gdstruct { char *group; diff --git a/src/acl/external/kerberos_ldap_group/support_ldap.cc b/src/acl/external/kerberos_ldap_group/support_ldap.cc index 9a1f8ed752f..c0726090110 100644 --- a/src/acl/external/kerberos_ldap_group/support_ldap.cc +++ b/src/acl/external/kerberos_ldap_group/support_ldap.cc @@ -82,7 +82,8 @@ size_t get_bin_attributes(LDAP * ld, LDAPMessage * res, int search_group_tree(struct main_args *margs, LDAP * ld, char *bindp, char *ldap_group, char *group, int depth); -#if HAVE_SUN_LDAP_SDK || HAVE_MOZILLA_LDAP_SDK +#if HAVE_SUN_LDAP_SDK + #if HAVE_LDAP_REBINDPROC_CALLBACK #if HAVE_SASL_H || HAVE_SASL_SASL_H || HAVE_SASL_DARWIN diff --git a/src/auth/basic/LDAP/required.m4 b/src/auth/basic/LDAP/required.m4 index 0b4fa4c0a4e..be661ed0520 100755 --- a/src/auth/basic/LDAP/required.m4 +++ b/src/auth/basic/LDAP/required.m4 @@ -5,4 +5,4 @@ ## Please see the COPYING and CONTRIBUTORS files for details. ## -AC_CHECK_HEADERS([ldap.h winldap.h],[BUILD_HELPER="LDAP"]) +AS_IF([test "x$LIBLDAP_LIBS" != "x"],[BUILD_HELPER="LDAP"]) diff --git a/src/auth/digest/eDirectory/required.m4 b/src/auth/digest/eDirectory/required.m4 index 4f745b92b0c..7d9f03bb9c2 100755 --- a/src/auth/digest/eDirectory/required.m4 +++ b/src/auth/digest/eDirectory/required.m4 @@ -5,4 +5,4 @@ ## Please see the COPYING and CONTRIBUTORS files for details. ## -AC_CHECK_HEADERS([ldap.h winldap.h],[BUILD_HELPER="eDirectory"]) +AS_IF([test "x$LIBLDAP_LIBS" != "x"],[BUILD_HELPER="eDirectory"])