]> granicus.if.org Git - php/commitdiff
Remove nsldap support
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 30 Aug 2019 08:21:07 +0000 (10:21 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 6 Sep 2019 12:39:42 +0000 (14:39 +0200)
The newest version we're checking (libssldap50) seems to be about
15 years out of date. We could add support for libssldap60 (also
unmainted, but more recent), but given how nobody has expressed any
interest in this, I'm going ahead and dropping this code.

UPGRADING
ext/ldap/config.m4
ext/ldap/ldap.c

index 882157c1fcbb10df1b6b1576fd498c0b8510d933..8675ae0286d4ec1d46b7030c08babce306b7f909 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -552,6 +552,9 @@ PHP 7.4 UPGRADE NOTES
   . The Intl extension now requires at least ICU 50.1.
   . ResourceBundle now implements Countable.
 
+- Ldap:
+  . Support for nsldap has been removed.
+
 - Libxml:
   . All libxml based extensions now require libxml 2.7.6 or newer.
 
index 085455490cfbbc5a99563c8a6160291b71d2d15b..091ecffac722e00f5ed795d4df95e911c63ac02e 100644 (file)
@@ -69,16 +69,6 @@ if test "$PHP_LDAP" != "no"; then
     AC_MSG_ERROR(Cannot find ldap.h)
   fi
 
-  dnl The Linux version of the SDK needs -lpthread. Solaris tested, and it
-  dnl doesn't, but others may. Add these here if necessary. -RL
-  dnl Is this really necessary? -Troels Arvin
-
-  if test `uname` = "Linux"; then
-    LDAP_PTHREAD=pthread
-  else
-    LDAP_PTHREAD=
-  fi
-
   dnl -pc removal is a hack for clang
   MACHINE_INCLUDES=$($CC -dumpmachine | $SED 's/-pc//')
 
@@ -89,43 +79,6 @@ if test "$PHP_LDAP" != "no"; then
   elif test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME.3 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldap.$SHLIB_SUFFIX_NAME.3 || test -f $LDAP_LIBDIR/libldap.3.dylib; then
     PHP_ADD_LIBRARY_WITH_PATH(ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
 
-  elif test -f $LDAP_LIBDIR/libssldap50.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libssldap50.$SHLIB_SUFFIX_NAME; then
-    if test -n "$LDAP_PTHREAD"; then
-      PHP_ADD_LIBRARY($LDAP_PTHREAD)
-    fi
-    PHP_ADD_LIBRARY_WITH_PATH(nspr4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(plc4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(plds4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(ssldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(ldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(prldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(ssl3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    AC_DEFINE(HAVE_NSLDAP,1,[ ])
-
-  elif test -f $LDAP_LIBDIR/libldapssl41.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldapssl41.$SHLIB_SUFFIX_NAME; then
-    if test -n "$LDAP_PTHREAD"; then
-      PHP_ADD_LIBRARY($LDAP_PTHREAD)
-    fi
-    PHP_ADD_LIBRARY_WITH_PATH(nspr3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(plc3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(plds3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    PHP_ADD_LIBRARY_WITH_PATH(ldapssl41, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    AC_DEFINE(HAVE_NSLDAP,1,[ ])
-
-  elif test -f $LDAP_LIBDIR/libldapssl30.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldapssl30.$SHLIB_SUFFIX_NAME; then
-    if test -n "$LDAP_PTHREAD"; then
-      PHP_ADD_LIBRARY($LDAP_PTHREAD)
-    fi
-    PHP_ADD_LIBRARY_WITH_PATH(ldapssl30, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    AC_DEFINE(HAVE_NSLDAP,1,[ ])
-
-  elif test -f $LDAP_LIBDIR/libldap30.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldap30.$SHLIB_SUFFIX_NAME; then
-    if test -n "$LDAP_PTHREAD"; then
-      PHP_ADD_LIBRARY($LDAP_PTHREAD)
-    fi
-    PHP_ADD_LIBRARY_WITH_PATH(ldap30, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
-    AC_DEFINE(HAVE_NSLDAP,1,[ ])
-
   elif test -f $LDAP_LIBDIR/libumich_ldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libumich_ldap.$SHLIB_SUFFIX_NAME; then
     PHP_ADD_LIBRARY_WITH_PATH(umich_lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
     PHP_ADD_LIBRARY_WITH_PATH(umich_ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
index d6fefb78500751b398b70f87e9017ff694ba6ddd..c09dee52bf1c35be0dd08a4ae30d892a53e07f72 100644 (file)
@@ -39,9 +39,6 @@
 #ifdef PHP_WIN32
 #include <string.h>
 #include "config.w32.h"
-#if HAVE_NSLDAP
-#include <winsock2.h>
-#endif
 #define strdup _strdup
 #undef WINDOWS
 #undef strcasecmp
@@ -737,7 +734,7 @@ PHP_MINIT_FUNCTION(ldap)
        REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_MODTYPE", LDAP_MODIFY_BATCH_MODTYPE, CONST_PERSISTENT | CONST_CS);
        REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_VALUES", LDAP_MODIFY_BATCH_VALUES, CONST_PERSISTENT | CONST_CS);
 
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
        /* LDAP options */
        REGISTER_LONG_CONSTANT("LDAP_OPT_DEREF", LDAP_OPT_DEREF, CONST_PERSISTENT | CONST_CS);
        REGISTER_LONG_CONSTANT("LDAP_OPT_SIZELIMIT", LDAP_OPT_SIZELIMIT, CONST_PERSISTENT | CONST_CS);
@@ -951,10 +948,6 @@ PHP_MSHUTDOWN_FUNCTION(ldap)
 PHP_MINFO_FUNCTION(ldap)
 {
        char tmp[32];
-#if HAVE_NSLDAP
-       LDAPVersion ver;
-       double SDKVersion;
-#endif
 
        php_info_print_table_start();
        php_info_print_table_row(2, "LDAP Support", "enabled");
@@ -980,25 +973,6 @@ PHP_MINFO_FUNCTION(ldap)
        php_info_print_table_row(2, "Vendor Version", tmp);
 #endif
 
-#if HAVE_NSLDAP
-       SDKVersion = ldap_version(&ver);
-       snprintf(tmp, 31, "%F", SDKVersion/100.0);
-       php_info_print_table_row(2, "SDK Version", tmp);
-
-       snprintf(tmp, 31, "%F", ver.protocol_version/100.0);
-       php_info_print_table_row(2, "Highest LDAP Protocol Supported", tmp);
-
-       snprintf(tmp, 31, "%F", ver.SSL_version/100.0);
-       php_info_print_table_row(2, "SSL Level Supported", tmp);
-
-       if (ver.security_level != LDAP_SECURITY_NONE) {
-               snprintf(tmp, 31, "%d", ver.security_level);
-       } else {
-               strcpy(tmp, "SSL not enabled");
-       }
-       php_info_print_table_row(2, "Level of Encryption", tmp);
-#endif
-
 #ifdef HAVE_LDAP_SASL
        php_info_print_table_row(2, "SASL Support", "Enabled");
 #endif
@@ -1115,7 +1089,6 @@ PHP_FUNCTION(ldap_connect)
  */
 static int _get_lderrno(LDAP *ldap)
 {
-#if !HAVE_NSLDAP
 #if LDAP_API_VERSION > 2000 || HAVE_ORALDAP
        int lderr;
 
@@ -1125,9 +1098,6 @@ static int _get_lderrno(LDAP *ldap)
 #else
        return ldap->ld_errno;
 #endif
-#else
-       return ldap_get_lderrno(ldap, NULL, NULL);
-#endif
 }
 /* }}} */
 
@@ -1135,16 +1105,12 @@ static int _get_lderrno(LDAP *ldap)
  */
 static void _set_lderrno(LDAP *ldap, int lderr)
 {
-#if !HAVE_NSLDAP
 #if LDAP_API_VERSION > 2000 || HAVE_ORALDAP
        /* New versions of OpenLDAP do it this way */
        ldap_set_option(ldap, LDAP_OPT_ERROR_NUMBER, &lderr);
 #else
        ldap->ld_errno = lderr;
 #endif
-#else
-       ldap_set_lderrno(ldap, lderr, NULL, NULL);
-#endif
 }
 /* }}} */
 
@@ -1432,7 +1398,7 @@ static void php_set_opts(LDAP *ldap, int sizelimit, int timelimit, int deref, in
 {
        /* sizelimit */
        if (sizelimit > -1) {
-#if (LDAP_API_VERSION >= 2004) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION >= 2004) || HAVE_ORALDAP
                ldap_get_option(ldap, LDAP_OPT_SIZELIMIT, old_sizelimit);
                ldap_set_option(ldap, LDAP_OPT_SIZELIMIT, &sizelimit);
 #else
@@ -1443,7 +1409,7 @@ static void php_set_opts(LDAP *ldap, int sizelimit, int timelimit, int deref, in
 
        /* timelimit */
        if (timelimit > -1) {
-#if (LDAP_API_VERSION >= 2004) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION >= 2004) || HAVE_ORALDAP
                ldap_get_option(ldap, LDAP_OPT_TIMELIMIT, old_timelimit);
                ldap_set_option(ldap, LDAP_OPT_TIMELIMIT, &timelimit);
 #else
@@ -1454,7 +1420,7 @@ static void php_set_opts(LDAP *ldap, int sizelimit, int timelimit, int deref, in
 
        /* deref */
        if (deref > -1) {
-#if (LDAP_API_VERSION >= 2004) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION >= 2004) || HAVE_ORALDAP
                ldap_get_option(ldap, LDAP_OPT_DEREF, old_deref);
                ldap_set_option(ldap, LDAP_OPT_DEREF, &deref);
 #else
@@ -1912,12 +1878,12 @@ PHP_FUNCTION(ldap_get_entries)
                        add_index_string(&tmp1, num_attrib, attribute);
 
                        num_attrib++;
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                        ldap_memfree(attribute);
 #endif
                        attribute = ldap_next_attribute(ldap, ldap_result_entry, ber);
                }
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                if (ber != NULL) {
                        ber_free(ber, 0);
                }
@@ -1930,7 +1896,7 @@ PHP_FUNCTION(ldap_get_entries)
                } else {
                        add_assoc_null(&tmp1, "dn");
                }
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                ldap_memfree(dn);
 #else
                free(dn);
@@ -1973,7 +1939,7 @@ PHP_FUNCTION(ldap_first_attribute)
                RETURN_FALSE;
        } else {
                RETVAL_STRING(attribute);
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                ldap_memfree(attribute);
 #endif
        }
@@ -2008,7 +1974,7 @@ PHP_FUNCTION(ldap_next_attribute)
        }
 
        if ((attribute = ldap_next_attribute(ld->link, resultentry->data, resultentry->ber)) == NULL) {
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                if (resultentry->ber != NULL) {
                        ber_free(resultentry->ber, 0);
                        resultentry->ber = NULL;
@@ -2017,7 +1983,7 @@ PHP_FUNCTION(ldap_next_attribute)
                RETURN_FALSE;
        } else {
                RETVAL_STRING(attribute);
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                ldap_memfree(attribute);
 #endif
        }
@@ -2068,12 +2034,12 @@ PHP_FUNCTION(ldap_get_attributes)
                add_index_string(return_value, num_attrib, attribute);
 
                num_attrib++;
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                ldap_memfree(attribute);
 #endif
                attribute = ldap_next_attribute(ld->link, resultentry->data, ber);
        }
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
        if (ber != NULL) {
                ber_free(ber, 0);
        }
@@ -2149,7 +2115,7 @@ PHP_FUNCTION(ldap_get_dn)
        text = ldap_get_dn(ld->link, resultentry->data);
        if (text != NULL) {
                RETVAL_STRING(text);
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                ldap_memfree(text);
 #else
                free(text);
@@ -2208,7 +2174,7 @@ PHP_FUNCTION(ldap_dn2ufn)
 
        if (ufn != NULL) {
                RETVAL_STRING(ufn);
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
                ldap_memfree(ufn);
 #endif
        } else {
@@ -3048,7 +3014,7 @@ PHP_FUNCTION(ldap_sort)
 }
 /* }}} */
 
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
 /* {{{ proto bool ldap_get_option(resource link, int option, mixed retval)
    Get the current value of various session-wide parameters */
 PHP_FUNCTION(ldap_get_option)
@@ -3669,7 +3635,7 @@ static void php_ldap_do_rename(INTERNAL_FUNCTION_PARAMETERS, int ext)
                newparent = NULL;
        }
 
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
        if (serverctrls) {
                lserverctrls = _php_ldap_controls_from_array(ld->link, serverctrls);
                if (lserverctrls == NULL) {
@@ -3769,7 +3735,7 @@ PHP_FUNCTION(ldap_start_tls)
 }
 /* }}} */
 #endif
-#endif /* (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP */
+#endif /* (LDAP_API_VERSION > 2000) || HAVE_ORALDAP */
 
 #if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)
 /* {{{ _ldap_rebind_proc()
@@ -4697,7 +4663,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_control_paged_result_response, 0, 0, 2)
 ZEND_END_ARG_INFO();
 #endif
 
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
 ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_rename, 0, 0, 5)
        ZEND_ARG_INFO(0, link_identifier)
        ZEND_ARG_INFO(0, dn)
@@ -4881,7 +4847,7 @@ static const zend_function_entry ldap_functions[] = {
        PHP_FE(ldap_compare,                                                            arginfo_ldap_compare)
        PHP_DEP_FE(ldap_sort,                                                                   arginfo_ldap_sort)
 
-#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
+#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
        PHP_FE(ldap_rename,                                                                     arginfo_ldap_rename)
        PHP_FE(ldap_rename_ext,                                                         arginfo_ldap_rename_ext)
        PHP_FE(ldap_get_option,                                                         arginfo_ldap_get_option)