summaryrefslogtreecommitdiff
path: root/ext/ldap/ldap.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ldap/ldap.c')
-rw-r--r--ext/ldap/ldap.c551
1 files changed, 66 insertions, 485 deletions
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index c09dee52bf..815aecb5e1 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -1,7 +1,5 @@
/*
+----------------------------------------------------------------------+
- | PHP Version 7 |
- +----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
@@ -35,6 +33,7 @@
#include "ext/standard/dl.h"
#include "php_ldap.h"
+#include "ldap_arginfo.h"
#ifdef PHP_WIN32
#include <string.h>
@@ -1004,7 +1003,7 @@ PHP_FUNCTION(ldap_connect)
}
if (zend_parse_parameters(ZEND_NUM_ARGS(), "|slssl", &host, &hostlen, &port, &wallet, &walletlen, &walletpasswd, &walletpasswdlen, &authmode) != SUCCESS) {
- RETURN_FALSE;
+ return;
}
if (ZEND_NUM_ARGS() == 5) {
@@ -1012,7 +1011,7 @@ PHP_FUNCTION(ldap_connect)
}
#else
if (zend_parse_parameters(ZEND_NUM_ARGS(), "|sl", &host, &hostlen, &port) != SUCCESS) {
- RETURN_FALSE;
+ return;
}
#endif
@@ -1125,11 +1124,11 @@ PHP_FUNCTION(ldap_bind)
int rc;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r|ss", &link, &ldap_bind_dn, &ldap_bind_dnlen, &ldap_bind_pw, &ldap_bind_pwlen) != SUCCESS) {
- RETURN_FALSE;
+ return;
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (ldap_bind_dn != NULL && memchr(ldap_bind_dn, '\0', ldap_bind_dnlen) != NULL) {
@@ -1182,11 +1181,11 @@ PHP_FUNCTION(ldap_bind_ext)
int rc;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r|ssa", &link, &ldap_bind_dn, &ldap_bind_dnlen, &ldap_bind_pw, &ldap_bind_pwlen, &serverctrls) != SUCCESS) {
- RETURN_FALSE;
+ return;
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (ldap_bind_dn != NULL && memchr(ldap_bind_dn, '\0', ldap_bind_dnlen) != NULL) {
@@ -1347,11 +1346,11 @@ PHP_FUNCTION(ldap_sasl_bind)
php_ldap_bictx *ctx;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r|sssssss", &link, &binddn, &dn_len, &passwd, &passwd_len, &sasl_mech, &mech_len, &sasl_realm, &realm_len, &sasl_authc_id, &authc_id_len, &sasl_authz_id, &authz_id_len, &props, &props_len) != SUCCESS) {
- RETURN_FALSE;
+ return;
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
ctx = _php_sasl_setdefs(ld->link, sasl_mech, sasl_realm, sasl_authc_id, passwd, sasl_authz_id);
@@ -1380,11 +1379,11 @@ PHP_FUNCTION(ldap_unbind)
ldap_linkdata *ld;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &link) != SUCCESS) {
- RETURN_FALSE;
+ return;
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
zend_list_close(Z_RES_P(link));
@@ -1715,7 +1714,7 @@ PHP_FUNCTION(ldap_free_result)
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
zend_list_close(Z_RES_P(result)); /* Delete list entry */
@@ -1736,11 +1735,11 @@ PHP_FUNCTION(ldap_count_entries)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
RETURN_LONG(ldap_count_entries(ld->link, ldap_result));
@@ -1761,11 +1760,11 @@ PHP_FUNCTION(ldap_first_entry)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((entry = ldap_first_entry(ld->link, ldap_result)) == NULL) {
@@ -1794,10 +1793,10 @@ PHP_FUNCTION(ldap_next_entry)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((entry_next = ldap_next_entry(ld->link, resultentry->data)) == NULL) {
@@ -1833,10 +1832,10 @@ PHP_FUNCTION(ldap_get_entries)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
ldap = ld->link;
@@ -1928,11 +1927,11 @@ PHP_FUNCTION(ldap_first_attribute)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((attribute = ldap_first_attribute(ld->link, resultentry->data, &resultentry->ber)) == NULL) {
@@ -1961,11 +1960,11 @@ PHP_FUNCTION(ldap_next_attribute)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (resultentry->ber == NULL) {
@@ -2008,11 +2007,11 @@ PHP_FUNCTION(ldap_get_attributes)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
array_init(return_value);
@@ -2066,11 +2065,11 @@ PHP_FUNCTION(ldap_get_values_len)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_value_len = ldap_get_values_len(ld->link, resultentry->data, attr)) == NULL) {
@@ -2105,11 +2104,11 @@ PHP_FUNCTION(ldap_get_dn)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
text = ldap_get_dn(ld->link, resultentry->data);
@@ -2209,7 +2208,7 @@ static void php_ldap_do_modify(INTERNAL_FUNCTION_PARAMETERS, int oper, int ext)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
num_attribs = zend_hash_num_elements(Z_ARRVAL_P(entry));
@@ -2449,7 +2448,7 @@ static void php_ldap_do_delete(INTERNAL_FUNCTION_PARAMETERS, int ext)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (serverctrls) {
@@ -2598,7 +2597,7 @@ PHP_FUNCTION(ldap_modify_batch)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
/* perform validation */
@@ -2881,7 +2880,7 @@ PHP_FUNCTION(ldap_errno)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
RETURN_LONG(_get_lderrno(ld->link));
@@ -2915,7 +2914,7 @@ PHP_FUNCTION(ldap_error)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
ld_errno = _get_lderrno(ld->link);
@@ -2942,7 +2941,7 @@ PHP_FUNCTION(ldap_compare)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (serverctrls) {
@@ -2981,39 +2980,6 @@ cleanup:
}
/* }}} */
-/* {{{ proto bool ldap_sort(resource link, resource result, string sortfilter)
- Sort LDAP result entries */
-PHP_FUNCTION(ldap_sort)
-{
- zval *link, *result;
- ldap_linkdata *ld;
- char *sortfilter;
- size_t sflen;
- zend_resource *le;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "rrs", &link, &result, &sortfilter, &sflen) != SUCCESS) {
- RETURN_FALSE;
- }
-
- if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
- }
-
- le = Z_RES_P(result);
- if (le->type != le_result) {
- php_error_docref(NULL, E_WARNING, "Supplied resource is not a valid ldap result resource");
- RETURN_FALSE;
- }
-
- if (ldap_sort_entries(ld->link, (LDAPMessage **) &le->ptr, sflen ? sortfilter : NULL, strcmp) != LDAP_SUCCESS) {
- php_error_docref(NULL, E_WARNING, "%s", ldap_err2string(errno));
- RETURN_FALSE;
- }
-
- RETURN_TRUE;
-}
-/* }}} */
-
#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 */
@@ -3028,7 +2994,7 @@ PHP_FUNCTION(ldap_get_option)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
switch (option) {
@@ -3200,7 +3166,7 @@ PHP_FUNCTION(ldap_set_option)
ldap = NULL;
} else {
if ((ld = (ldap_linkdata *)zend_fetch_resource_ex(link, "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
ldap = ld->link;
}
@@ -3311,7 +3277,7 @@ PHP_FUNCTION(ldap_set_option)
zend_string *val;
val = zval_get_string(newval);
if (EG(exception)) {
- RETURN_FALSE;
+ return;
}
if (ldap_set_option(ldap, option, ZSTR_VAL(val))) {
zend_string_release(val);
@@ -3383,11 +3349,11 @@ PHP_FUNCTION(ldap_parse_result)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
rc = ldap_parse_result(ld->link, ldap_result, &lerrcode,
@@ -3458,11 +3424,11 @@ PHP_FUNCTION(ldap_parse_exop)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
rc = ldap_parse_extended_result(ld->link, ldap_result,
@@ -3513,11 +3479,11 @@ PHP_FUNCTION(ldap_first_reference)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((entry = ldap_first_reference(ld->link, ldap_result)) == NULL) {
@@ -3546,11 +3512,11 @@ PHP_FUNCTION(ldap_next_reference)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((entry_next = ldap_next_reference(ld->link, resultentry->data)) == NULL) {
@@ -3580,11 +3546,11 @@ PHP_FUNCTION(ldap_parse_reference)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((resultentry = (ldap_resultentry *)zend_fetch_resource(Z_RES_P(result_entry), "ldap result entry", le_result_entry)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (ldap_parse_reference(ld->link, resultentry->data, &lreferrals, NULL /* &serverctrls */, 0) != LDAP_SUCCESS) {
@@ -3628,7 +3594,7 @@ static void php_ldap_do_rename(INTERNAL_FUNCTION_PARAMETERS, int ext)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (newparent_len == 0) {
@@ -3721,7 +3687,7 @@ PHP_FUNCTION(ldap_start_tls)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (((rc = ldap_set_option(ld->link, LDAP_OPT_PROTOCOL_VERSION, &protocol)) != LDAP_SUCCESS) ||
@@ -3779,11 +3745,11 @@ PHP_FUNCTION(ldap_set_rebind_proc)
ldap_linkdata *ld;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rz", &link, &callback) != SUCCESS) {
- RETURN_FALSE;
+ return;
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (Z_TYPE_P(callback) == IS_STRING && Z_STRLEN_P(callback) == 0) {
@@ -3976,7 +3942,7 @@ PHP_FUNCTION(ldap_control_paged_result)
ldap = NULL;
} else {
if ((ld = (ldap_linkdata *)zend_fetch_resource_ex(link, "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
ldap = ld->link;
}
@@ -4065,11 +4031,11 @@ PHP_FUNCTION(ldap_control_paged_result_response)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if ((ldap_result = (LDAPMessage *)zend_fetch_resource(Z_RES_P(result), "ldap result", le_result)) == NULL) {
- RETURN_FALSE;
+ return;
}
rc = ldap_parse_result(ld->link,
@@ -4163,7 +4129,7 @@ PHP_FUNCTION(ldap_exop)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
if (reqdata) {
@@ -4269,7 +4235,7 @@ PHP_FUNCTION(ldap_exop_passwd)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
switch (myargcount) {
@@ -4354,7 +4320,7 @@ PHP_FUNCTION(ldap_exop_whoami)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
/* synchronous call */
@@ -4392,7 +4358,7 @@ PHP_FUNCTION(ldap_exop_refresh)
}
if ((ld = (ldap_linkdata *)zend_fetch_resource(Z_RES_P(link), "ldap link", le_link)) == NULL) {
- RETURN_FALSE;
+ return;
}
lttl = (ber_int_t)zval_get_long(ttl);
@@ -4410,390 +4376,6 @@ PHP_FUNCTION(ldap_exop_refresh)
/* }}} */
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_connect, 0, 0, 0)
- ZEND_ARG_INFO(0, hostname)
- ZEND_ARG_INFO(0, port)
-#ifdef HAVE_ORALDAP
- ZEND_ARG_INFO(0, wallet)
- ZEND_ARG_INFO(0, wallet_passwd)
- ZEND_ARG_INFO(0, authmode)
-#endif
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_resource, 0, 0, 1)
- ZEND_ARG_INFO(0, link_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_bind, 0, 0, 1)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, bind_rdn)
- ZEND_ARG_INFO(0, bind_password)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_bind_ext, 0, 0, 1)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, bind_rdn)
- ZEND_ARG_INFO(0, bind_password)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-#ifdef HAVE_LDAP_SASL
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_sasl_bind, 0, 0, 1)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, binddn)
- ZEND_ARG_INFO(0, password)
- ZEND_ARG_INFO(0, sasl_mech)
- ZEND_ARG_INFO(0, sasl_realm)
- ZEND_ARG_INFO(0, sasl_authz_id)
- ZEND_ARG_INFO(0, props)
-ZEND_END_ARG_INFO()
-#endif
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_read, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, base_dn)
- ZEND_ARG_INFO(0, filter)
- ZEND_ARG_INFO(0, attributes)
- ZEND_ARG_INFO(0, attrsonly)
- ZEND_ARG_INFO(0, sizelimit)
- ZEND_ARG_INFO(0, timelimit)
- ZEND_ARG_INFO(0, deref)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_list, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, base_dn)
- ZEND_ARG_INFO(0, filter)
- ZEND_ARG_INFO(0, attributes)
- ZEND_ARG_INFO(0, attrsonly)
- ZEND_ARG_INFO(0, sizelimit)
- ZEND_ARG_INFO(0, timelimit)
- ZEND_ARG_INFO(0, deref)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_search, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, base_dn)
- ZEND_ARG_INFO(0, filter)
- ZEND_ARG_INFO(0, attributes)
- ZEND_ARG_INFO(0, attrsonly)
- ZEND_ARG_INFO(0, sizelimit)
- ZEND_ARG_INFO(0, timelimit)
- ZEND_ARG_INFO(0, deref)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_count_entries, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_first_entry, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_next_entry, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_get_entries, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_first_attribute, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_entry_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_next_attribute, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_entry_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_get_attributes, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_entry_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_get_values, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_entry_identifier)
- ZEND_ARG_INFO(0, attribute)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_get_values_len, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_entry_identifier)
- ZEND_ARG_INFO(0, attribute)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_get_dn, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, result_entry_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_explode_dn, 0, 0, 2)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, with_attrib)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_dn2ufn, 0, 0, 1)
- ZEND_ARG_INFO(0, dn)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_add, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_add_ext, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_delete, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_delete_ext, 0, 0, 2)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_modify, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_modify_batch, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_ARRAY_INFO(0, modifications_info, 0)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_mod_add, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_mod_add_ext, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_mod_replace, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_mod_replace_ext, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_mod_del, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_mod_del_ext, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_err2str, 0, 0, 1)
- ZEND_ARG_INFO(0, errno)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_compare, 0, 0, 4)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, attribute)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_sort, 0, 0, 3)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, result)
- ZEND_ARG_INFO(0, sortfilter)
-ZEND_END_ARG_INFO()
-
-#ifdef LDAP_CONTROL_PAGEDRESULTS
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_control_paged_result, 0, 0, 2)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, pagesize)
- ZEND_ARG_INFO(0, iscritical)
- ZEND_ARG_INFO(0, cookie)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_control_paged_result_response, 0, 0, 2)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, result)
- ZEND_ARG_INFO(1, cookie)
- ZEND_ARG_INFO(1, estimated)
-ZEND_END_ARG_INFO();
-#endif
-
-#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)
- ZEND_ARG_INFO(0, newrdn)
- ZEND_ARG_INFO(0, newparent)
- ZEND_ARG_INFO(0, deleteoldrdn)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_rename_ext, 0, 0, 5)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, newrdn)
- ZEND_ARG_INFO(0, newparent)
- ZEND_ARG_INFO(0, deleteoldrdn)
- ZEND_ARG_INFO(0, servercontrols)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_get_option, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, option)
- ZEND_ARG_INFO(1, retval)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_set_option, 0, 0, 3)
- ZEND_ARG_INFO(0, link_identifier)
- ZEND_ARG_INFO(0, option)
- ZEND_ARG_INFO(0, newval)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_first_reference, 0, 0, 2)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, result)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_next_reference, 0, 0, 2)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, entry)
-ZEND_END_ARG_INFO()
-
-#ifdef HAVE_LDAP_PARSE_REFERENCE
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_parse_reference, 0, 0, 3)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, entry)
- ZEND_ARG_INFO(1, referrals)
-ZEND_END_ARG_INFO()
-#endif
-
-
-#ifdef HAVE_LDAP_PARSE_RESULT
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_parse_result, 0, 0, 3)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, result)
- ZEND_ARG_INFO(1, errcode)
- ZEND_ARG_INFO(1, matcheddn)
- ZEND_ARG_INFO(1, errmsg)
- ZEND_ARG_INFO(1, referrals)
- ZEND_ARG_INFO(1, serverctrls)
-ZEND_END_ARG_INFO()
-#endif
-#endif
-
-#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_set_rebind_proc, 0, 0, 2)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, callback)
-ZEND_END_ARG_INFO()
-#endif
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_escape, 0, 0, 1)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_INFO(0, ignore)
- ZEND_ARG_INFO(0, flags)
-ZEND_END_ARG_INFO()
-
-#ifdef STR_TRANSLATION
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_t61_to_8859, 0, 0, 1)
- ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_8859_to_t61, 0, 0, 1)
- ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-#endif
-
-#ifdef HAVE_LDAP_EXTENDED_OPERATION_S
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_exop, 0, 0, 2)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, reqoid)
- ZEND_ARG_INFO(0, reqdata)
- ZEND_ARG_INFO(0, servercontrols)
- ZEND_ARG_INFO(1, retdata)
- ZEND_ARG_INFO(1, retoid)
-ZEND_END_ARG_INFO()
-#endif
-
-#ifdef HAVE_LDAP_PASSWD
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_exop_passwd, 0, 0, 1)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, user)
- ZEND_ARG_INFO(0, oldpw)
- ZEND_ARG_INFO(0, newpw)
- ZEND_ARG_INFO(1, serverctrls)
-ZEND_END_ARG_INFO()
-#endif
-
-#ifdef HAVE_LDAP_WHOAMI_S
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_exop_whoami, 0, 0, 1)
- ZEND_ARG_INFO(0, link)
-ZEND_END_ARG_INFO()
-#endif
-
-#ifdef HAVE_LDAP_REFRESH_S
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_exop_refresh, 0, 0, 3)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, dn)
- ZEND_ARG_INFO(0, ttl)
-ZEND_END_ARG_INFO()
-#endif
-
-#ifdef HAVE_LDAP_PARSE_EXTENDED_RESULT
-ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_parse_exop, 0, 0, 4)
- ZEND_ARG_INFO(0, link)
- ZEND_ARG_INFO(0, result)
- ZEND_ARG_INFO(1, retdata)
- ZEND_ARG_INFO(1, retoid)
-ZEND_END_ARG_INFO()
-#endif
-/* }}} */
-
/*
This is just a small subset of the functionality provided by the LDAP library. All the
operations are synchronous. Referrals are not handled automatically.
@@ -4802,17 +4384,17 @@ ZEND_END_ARG_INFO()
*/
static const zend_function_entry ldap_functions[] = {
PHP_FE(ldap_connect, arginfo_ldap_connect)
- PHP_FALIAS(ldap_close, ldap_unbind, arginfo_ldap_resource)
+ PHP_FALIAS(ldap_close, ldap_unbind, arginfo_ldap_close)
PHP_FE(ldap_bind, arginfo_ldap_bind)
PHP_FE(ldap_bind_ext, arginfo_ldap_bind_ext)
#ifdef HAVE_LDAP_SASL
PHP_FE(ldap_sasl_bind, arginfo_ldap_sasl_bind)
#endif
- PHP_FE(ldap_unbind, arginfo_ldap_resource)
+ PHP_FE(ldap_unbind, arginfo_ldap_unbind)
PHP_FE(ldap_read, arginfo_ldap_read)
PHP_FE(ldap_list, arginfo_ldap_list)
PHP_FE(ldap_search, arginfo_ldap_search)
- PHP_FE(ldap_free_result, arginfo_ldap_resource)
+ PHP_FE(ldap_free_result, arginfo_ldap_free_result)
PHP_FE(ldap_count_entries, arginfo_ldap_count_entries)
PHP_FE(ldap_first_entry, arginfo_ldap_first_entry)
PHP_FE(ldap_next_entry, arginfo_ldap_next_entry)
@@ -4841,11 +4423,10 @@ static const zend_function_entry ldap_functions[] = {
PHP_FE(ldap_mod_del_ext, arginfo_ldap_mod_del_ext)
/* end gjt mod */
- PHP_FE(ldap_errno, arginfo_ldap_resource)
+ PHP_FE(ldap_errno, arginfo_ldap_errno)
PHP_FE(ldap_err2str, arginfo_ldap_err2str)
- PHP_FE(ldap_error, arginfo_ldap_resource)
+ PHP_FE(ldap_error, arginfo_ldap_error)
PHP_FE(ldap_compare, arginfo_ldap_compare)
- PHP_DEP_FE(ldap_sort, arginfo_ldap_sort)
#if (LDAP_API_VERSION > 2000) || HAVE_ORALDAP
PHP_FE(ldap_rename, arginfo_ldap_rename)
@@ -4861,7 +4442,7 @@ static const zend_function_entry ldap_functions[] = {
PHP_FE(ldap_parse_result, arginfo_ldap_parse_result)
#endif
#ifdef HAVE_LDAP_START_TLS_S
- PHP_FE(ldap_start_tls, arginfo_ldap_resource)
+ PHP_FE(ldap_start_tls, arginfo_ldap_start_tls)
#endif
#ifdef HAVE_LDAP_EXTENDED_OPERATION_S
PHP_FE(ldap_exop, arginfo_ldap_exop)