Skip to content

Commit 025ff3b

Browse files
committed
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.
1 parent 34f4ad6 commit 025ff3b

File tree

3 files changed

+22
-100
lines changed

3 files changed

+22
-100
lines changed

UPGRADING

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,9 @@ PHP 7.4 UPGRADE NOTES
552552
. The Intl extension now requires at least ICU 50.1.
553553
. ResourceBundle now implements Countable.
554554

555+
- Ldap:
556+
. Support for nsldap has been removed.
557+
555558
- Libxml:
556559
. All libxml based extensions now require libxml 2.7.6 or newer.
557560

ext/ldap/config.m4

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,6 @@ if test "$PHP_LDAP" != "no"; then
6969
AC_MSG_ERROR(Cannot find ldap.h)
7070
fi
7171

72-
dnl The Linux version of the SDK needs -lpthread. Solaris tested, and it
73-
dnl doesn't, but others may. Add these here if necessary. -RL
74-
dnl Is this really necessary? -Troels Arvin
75-
76-
if test `uname` = "Linux"; then
77-
LDAP_PTHREAD=pthread
78-
else
79-
LDAP_PTHREAD=
80-
fi
81-
8272
dnl -pc removal is a hack for clang
8373
MACHINE_INCLUDES=$($CC -dumpmachine | $SED 's/-pc//')
8474

@@ -89,43 +79,6 @@ if test "$PHP_LDAP" != "no"; then
8979
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
9080
PHP_ADD_LIBRARY_WITH_PATH(ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
9181

92-
elif test -f $LDAP_LIBDIR/libssldap50.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libssldap50.$SHLIB_SUFFIX_NAME; then
93-
if test -n "$LDAP_PTHREAD"; then
94-
PHP_ADD_LIBRARY($LDAP_PTHREAD)
95-
fi
96-
PHP_ADD_LIBRARY_WITH_PATH(nspr4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
97-
PHP_ADD_LIBRARY_WITH_PATH(plc4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
98-
PHP_ADD_LIBRARY_WITH_PATH(plds4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
99-
PHP_ADD_LIBRARY_WITH_PATH(ssldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
100-
PHP_ADD_LIBRARY_WITH_PATH(ldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
101-
PHP_ADD_LIBRARY_WITH_PATH(prldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
102-
PHP_ADD_LIBRARY_WITH_PATH(ssl3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
103-
AC_DEFINE(HAVE_NSLDAP,1,[ ])
104-
105-
elif test -f $LDAP_LIBDIR/libldapssl41.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldapssl41.$SHLIB_SUFFIX_NAME; then
106-
if test -n "$LDAP_PTHREAD"; then
107-
PHP_ADD_LIBRARY($LDAP_PTHREAD)
108-
fi
109-
PHP_ADD_LIBRARY_WITH_PATH(nspr3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
110-
PHP_ADD_LIBRARY_WITH_PATH(plc3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
111-
PHP_ADD_LIBRARY_WITH_PATH(plds3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
112-
PHP_ADD_LIBRARY_WITH_PATH(ldapssl41, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
113-
AC_DEFINE(HAVE_NSLDAP,1,[ ])
114-
115-
elif test -f $LDAP_LIBDIR/libldapssl30.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldapssl30.$SHLIB_SUFFIX_NAME; then
116-
if test -n "$LDAP_PTHREAD"; then
117-
PHP_ADD_LIBRARY($LDAP_PTHREAD)
118-
fi
119-
PHP_ADD_LIBRARY_WITH_PATH(ldapssl30, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
120-
AC_DEFINE(HAVE_NSLDAP,1,[ ])
121-
122-
elif test -f $LDAP_LIBDIR/libldap30.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldap30.$SHLIB_SUFFIX_NAME; then
123-
if test -n "$LDAP_PTHREAD"; then
124-
PHP_ADD_LIBRARY($LDAP_PTHREAD)
125-
fi
126-
PHP_ADD_LIBRARY_WITH_PATH(ldap30, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
127-
AC_DEFINE(HAVE_NSLDAP,1,[ ])
128-
12982
elif test -f $LDAP_LIBDIR/libumich_ldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libumich_ldap.$SHLIB_SUFFIX_NAME; then
13083
PHP_ADD_LIBRARY_WITH_PATH(umich_lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
13184
PHP_ADD_LIBRARY_WITH_PATH(umich_ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)

ext/ldap/ldap.c

Lines changed: 19 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@
3939
#ifdef PHP_WIN32
4040
#include <string.h>
4141
#include "config.w32.h"
42-
#if HAVE_NSLDAP
43-
#include <winsock2.h>
44-
#endif
4542
#define strdup _strdup
4643
#undef WINDOWS
4744
#undef strcasecmp
@@ -737,7 +734,7 @@ PHP_MINIT_FUNCTION(ldap)
737734
REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_MODTYPE", LDAP_MODIFY_BATCH_MODTYPE, CONST_PERSISTENT | CONST_CS);
738735
REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_VALUES", LDAP_MODIFY_BATCH_VALUES, CONST_PERSISTENT | CONST_CS);
739736

740-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
737+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
741738
/* LDAP options */
742739
REGISTER_LONG_CONSTANT("LDAP_OPT_DEREF", LDAP_OPT_DEREF, CONST_PERSISTENT | CONST_CS);
743740
REGISTER_LONG_CONSTANT("LDAP_OPT_SIZELIMIT", LDAP_OPT_SIZELIMIT, CONST_PERSISTENT | CONST_CS);
@@ -951,10 +948,6 @@ PHP_MSHUTDOWN_FUNCTION(ldap)
951948
PHP_MINFO_FUNCTION(ldap)
952949
{
953950
char tmp[32];
954-
#if HAVE_NSLDAP
955-
LDAPVersion ver;
956-
double SDKVersion;
957-
#endif
958951

959952
php_info_print_table_start();
960953
php_info_print_table_row(2, "LDAP Support", "enabled");
@@ -980,25 +973,6 @@ PHP_MINFO_FUNCTION(ldap)
980973
php_info_print_table_row(2, "Vendor Version", tmp);
981974
#endif
982975

983-
#if HAVE_NSLDAP
984-
SDKVersion = ldap_version(&ver);
985-
snprintf(tmp, 31, "%F", SDKVersion/100.0);
986-
php_info_print_table_row(2, "SDK Version", tmp);
987-
988-
snprintf(tmp, 31, "%F", ver.protocol_version/100.0);
989-
php_info_print_table_row(2, "Highest LDAP Protocol Supported", tmp);
990-
991-
snprintf(tmp, 31, "%F", ver.SSL_version/100.0);
992-
php_info_print_table_row(2, "SSL Level Supported", tmp);
993-
994-
if (ver.security_level != LDAP_SECURITY_NONE) {
995-
snprintf(tmp, 31, "%d", ver.security_level);
996-
} else {
997-
strcpy(tmp, "SSL not enabled");
998-
}
999-
php_info_print_table_row(2, "Level of Encryption", tmp);
1000-
#endif
1001-
1002976
#ifdef HAVE_LDAP_SASL
1003977
php_info_print_table_row(2, "SASL Support", "Enabled");
1004978
#endif
@@ -1115,7 +1089,6 @@ PHP_FUNCTION(ldap_connect)
11151089
*/
11161090
static int _get_lderrno(LDAP *ldap)
11171091
{
1118-
#if !HAVE_NSLDAP
11191092
#if LDAP_API_VERSION > 2000 || HAVE_ORALDAP
11201093
int lderr;
11211094

@@ -1125,26 +1098,19 @@ static int _get_lderrno(LDAP *ldap)
11251098
#else
11261099
return ldap->ld_errno;
11271100
#endif
1128-
#else
1129-
return ldap_get_lderrno(ldap, NULL, NULL);
1130-
#endif
11311101
}
11321102
/* }}} */
11331103

11341104
/* {{{ _set_lderrno
11351105
*/
11361106
static void _set_lderrno(LDAP *ldap, int lderr)
11371107
{
1138-
#if !HAVE_NSLDAP
11391108
#if LDAP_API_VERSION > 2000 || HAVE_ORALDAP
11401109
/* New versions of OpenLDAP do it this way */
11411110
ldap_set_option(ldap, LDAP_OPT_ERROR_NUMBER, &lderr);
11421111
#else
11431112
ldap->ld_errno = lderr;
11441113
#endif
1145-
#else
1146-
ldap_set_lderrno(ldap, lderr, NULL, NULL);
1147-
#endif
11481114
}
11491115
/* }}} */
11501116

@@ -1432,7 +1398,7 @@ static void php_set_opts(LDAP *ldap, int sizelimit, int timelimit, int deref, in
14321398
{
14331399
/* sizelimit */
14341400
if (sizelimit > -1) {
1435-
#if (LDAP_API_VERSION >= 2004) || HAVE_NSLDAP || HAVE_ORALDAP
1401+
#if (LDAP_API_VERSION >= 2004) || HAVE_ORALDAP
14361402
ldap_get_option(ldap, LDAP_OPT_SIZELIMIT, old_sizelimit);
14371403
ldap_set_option(ldap, LDAP_OPT_SIZELIMIT, &sizelimit);
14381404
#else
@@ -1443,7 +1409,7 @@ static void php_set_opts(LDAP *ldap, int sizelimit, int timelimit, int deref, in
14431409

14441410
/* timelimit */
14451411
if (timelimit > -1) {
1446-
#if (LDAP_API_VERSION >= 2004) || HAVE_NSLDAP || HAVE_ORALDAP
1412+
#if (LDAP_API_VERSION >= 2004) || HAVE_ORALDAP
14471413
ldap_get_option(ldap, LDAP_OPT_TIMELIMIT, old_timelimit);
14481414
ldap_set_option(ldap, LDAP_OPT_TIMELIMIT, &timelimit);
14491415
#else
@@ -1454,7 +1420,7 @@ static void php_set_opts(LDAP *ldap, int sizelimit, int timelimit, int deref, in
14541420

14551421
/* deref */
14561422
if (deref > -1) {
1457-
#if (LDAP_API_VERSION >= 2004) || HAVE_NSLDAP || HAVE_ORALDAP
1423+
#if (LDAP_API_VERSION >= 2004) || HAVE_ORALDAP
14581424
ldap_get_option(ldap, LDAP_OPT_DEREF, old_deref);
14591425
ldap_set_option(ldap, LDAP_OPT_DEREF, &deref);
14601426
#else
@@ -1912,12 +1878,12 @@ PHP_FUNCTION(ldap_get_entries)
19121878
add_index_string(&tmp1, num_attrib, attribute);
19131879

19141880
num_attrib++;
1915-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
1881+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
19161882
ldap_memfree(attribute);
19171883
#endif
19181884
attribute = ldap_next_attribute(ldap, ldap_result_entry, ber);
19191885
}
1920-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
1886+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
19211887
if (ber != NULL) {
19221888
ber_free(ber, 0);
19231889
}
@@ -1930,7 +1896,7 @@ PHP_FUNCTION(ldap_get_entries)
19301896
} else {
19311897
add_assoc_null(&tmp1, "dn");
19321898
}
1933-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
1899+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
19341900
ldap_memfree(dn);
19351901
#else
19361902
free(dn);
@@ -1973,7 +1939,7 @@ PHP_FUNCTION(ldap_first_attribute)
19731939
RETURN_FALSE;
19741940
} else {
19751941
RETVAL_STRING(attribute);
1976-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
1942+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
19771943
ldap_memfree(attribute);
19781944
#endif
19791945
}
@@ -2008,7 +1974,7 @@ PHP_FUNCTION(ldap_next_attribute)
20081974
}
20091975

20101976
if ((attribute = ldap_next_attribute(ld->link, resultentry->data, resultentry->ber)) == NULL) {
2011-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
1977+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
20121978
if (resultentry->ber != NULL) {
20131979
ber_free(resultentry->ber, 0);
20141980
resultentry->ber = NULL;
@@ -2017,7 +1983,7 @@ PHP_FUNCTION(ldap_next_attribute)
20171983
RETURN_FALSE;
20181984
} else {
20191985
RETVAL_STRING(attribute);
2020-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
1986+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
20211987
ldap_memfree(attribute);
20221988
#endif
20231989
}
@@ -2068,12 +2034,12 @@ PHP_FUNCTION(ldap_get_attributes)
20682034
add_index_string(return_value, num_attrib, attribute);
20692035

20702036
num_attrib++;
2071-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
2037+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
20722038
ldap_memfree(attribute);
20732039
#endif
20742040
attribute = ldap_next_attribute(ld->link, resultentry->data, ber);
20752041
}
2076-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
2042+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
20772043
if (ber != NULL) {
20782044
ber_free(ber, 0);
20792045
}
@@ -2149,7 +2115,7 @@ PHP_FUNCTION(ldap_get_dn)
21492115
text = ldap_get_dn(ld->link, resultentry->data);
21502116
if (text != NULL) {
21512117
RETVAL_STRING(text);
2152-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
2118+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
21532119
ldap_memfree(text);
21542120
#else
21552121
free(text);
@@ -2208,7 +2174,7 @@ PHP_FUNCTION(ldap_dn2ufn)
22082174

22092175
if (ufn != NULL) {
22102176
RETVAL_STRING(ufn);
2211-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP || WINDOWS
2177+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP || WINDOWS
22122178
ldap_memfree(ufn);
22132179
#endif
22142180
} else {
@@ -3048,7 +3014,7 @@ PHP_FUNCTION(ldap_sort)
30483014
}
30493015
/* }}} */
30503016

3051-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
3017+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
30523018
/* {{{ proto bool ldap_get_option(resource link, int option, mixed retval)
30533019
Get the current value of various session-wide parameters */
30543020
PHP_FUNCTION(ldap_get_option)
@@ -3669,7 +3635,7 @@ static void php_ldap_do_rename(INTERNAL_FUNCTION_PARAMETERS, int ext)
36693635
newparent = NULL;
36703636
}
36713637

3672-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
3638+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
36733639
if (serverctrls) {
36743640
lserverctrls = _php_ldap_controls_from_array(ld->link, serverctrls);
36753641
if (lserverctrls == NULL) {
@@ -3769,7 +3735,7 @@ PHP_FUNCTION(ldap_start_tls)
37693735
}
37703736
/* }}} */
37713737
#endif
3772-
#endif /* (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP */
3738+
#endif /* (LDAP_API_VERSION > 2000) || HAVE_ORALDAP */
37733739

37743740
#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)
37753741
/* {{{ _ldap_rebind_proc()
@@ -4697,7 +4663,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_control_paged_result_response, 0, 0, 2)
46974663
ZEND_END_ARG_INFO();
46984664
#endif
46994665

4700-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
4666+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
47014667
ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_rename, 0, 0, 5)
47024668
ZEND_ARG_INFO(0, link_identifier)
47034669
ZEND_ARG_INFO(0, dn)
@@ -4881,7 +4847,7 @@ static const zend_function_entry ldap_functions[] = {
48814847
PHP_FE(ldap_compare, arginfo_ldap_compare)
48824848
PHP_DEP_FE(ldap_sort, arginfo_ldap_sort)
48834849

4884-
#if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP
4850+
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
48854851
PHP_FE(ldap_rename, arginfo_ldap_rename)
48864852
PHP_FE(ldap_rename_ext, arginfo_ldap_rename_ext)
48874853
PHP_FE(ldap_get_option, arginfo_ldap_get_option)

0 commit comments

Comments
 (0)