From: Nikita Popov Date: Fri, 30 Aug 2019 08:21:07 +0000 (+0200) Subject: Remove nsldap support X-Git-Tag: php-7.4.0RC2~80 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=025ff3b5a30160370e38cf186688fce99a2b7b08;p=php Remove nsldap support 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. --- diff --git a/UPGRADING b/UPGRADING index 882157c1fc..8675ae0286 100644 --- 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. diff --git a/ext/ldap/config.m4 b/ext/ldap/config.m4 index 085455490c..091ecffac7 100644 --- a/ext/ldap/config.m4 +++ b/ext/ldap/config.m4 @@ -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) diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index d6fefb7850..c09dee52bf 100644 --- a/ext/ldap/ldap.c +++ b/ext/ldap/ldap.c @@ -39,9 +39,6 @@ #ifdef PHP_WIN32 #include #include "config.w32.h" -#if HAVE_NSLDAP -#include -#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)