Name Date Size #Lines LOC

..05-Dec-2019-

READMEH A D05-Dec-20192.5 KiB5847

bug48441.phptH A D05-Dec-20192.8 KiB170164

bug48696.phptH A D05-Dec-2019296 1613

bug76248.phptH A D05-Dec-20191.2 KiB4039

connect.incH A D05-Dec-20192.5 KiB7569

ldap_add_basic.phptH A D05-Dec-20191.4 KiB8479

ldap_add_error.phptH A D05-Dec-20192.9 KiB137116

ldap_bind_basic.phptH A D05-Dec-2019482 2119

ldap_bind_error.phptH A D05-Dec-2019948 3629

ldap_bind_variation.phptH A D05-Dec-2019491 2119

ldap_compare_basic.phptH A D05-Dec-2019740 3229

ldap_compare_error.phptH A D05-Dec-20191.4 KiB5646

ldap_connect_basic.phptH A D05-Dec-2019334 1917

ldap_connect_error.phptH A D05-Dec-2019738 3227

ldap_connect_variation.phptH A D05-Dec-2019895 4538

ldap_control_paged_results_variation1.phptH A D05-Dec-20191 KiB5753

ldap_control_paged_results_variation2.phptH A D05-Dec-20191.3 KiB7369

ldap_control_paged_results_variation3.phptH A D05-Dec-20191.8 KiB10197

ldap_count_entries_basic.phptH A D05-Dec-2019697 2926

ldap_count_entries_error.phptH A D05-Dec-2019606 2421

ldap_delete_basic.phptH A D05-Dec-2019850 4136

ldap_delete_error.phptH A D05-Dec-20191.4 KiB6352

ldap_dn2ufn.phptH A D05-Dec-2019686 3425

ldap_err2str_basic.phptH A D05-Dec-2019301 1615

ldap_err2str_error.phptH A D05-Dec-2019672 2924

ldap_errno_basic.phptH A D05-Dec-2019584 3128

ldap_errno_error.phptH A D05-Dec-2019512 2421

ldap_error_basic.phptH A D05-Dec-2019607 3128

ldap_error_error.phptH A D05-Dec-2019512 2421

ldap_escape_all.phptH A D05-Dec-2019225 1411

ldap_escape_both.phptH A D05-Dec-2019260 1411

ldap_escape_dn.phptH A D05-Dec-2019222 1411

ldap_escape_filter.phptH A D05-Dec-2019234 1411

ldap_escape_ignore.phptH A D05-Dec-2019245 1512

ldap_explode_dn.phptH A D05-Dec-20191.8 KiB9580

ldap_first_attribute_basic.phptH A D05-Dec-2019796 3229

ldap_first_attribute_error.phptH A D05-Dec-2019618 2421

ldap_first_entry_basic.phptH A D05-Dec-2019846 3835

ldap_first_entry_error.phptH A D05-Dec-2019743 2824

ldap_first_reference_basic.phptH A D05-Dec-20191.3 KiB4442

ldap_first_reference_error.phptH A D05-Dec-2019775 2824

ldap_free_result_basic.phptH A D05-Dec-2019691 2926

ldap_free_result_error.phptH A D05-Dec-2019604 2421

ldap_get_attributes_basic.phptH A D05-Dec-20191 KiB5552

ldap_get_attributes_error.phptH A D05-Dec-2019617 2421

ldap_get_dn_basic.phptH A D05-Dec-2019739 3229

ldap_get_dn_error.phptH A D05-Dec-2019569 2421

ldap_get_entries_basic.phptH A D05-Dec-20191.1 KiB6460

ldap_get_entries_error.phptH A D05-Dec-2019819 3427

ldap_get_entries_variation.phptH A D05-Dec-2019736 3733

ldap_get_option_basic.phptH A D05-Dec-2019491 2623

ldap_get_option_error.phptH A D05-Dec-2019960 4134

ldap_get_option_variation.phptH A D05-Dec-20191.7 KiB7267

ldap_get_values_len_basic.phptH A D05-Dec-2019796 3734

ldap_get_values_len_error.phptH A D05-Dec-20191.3 KiB4638

ldap_list_basic.phptH A D05-Dec-20192.5 KiB151148

ldap_list_error.phptH A D05-Dec-2019851 3629

ldap_mod_add_basic.phptH A D05-Dec-20191.4 KiB8074

ldap_mod_add_error.phptH A D05-Dec-20192 KiB8463

ldap_mod_del_basic.phptH A D05-Dec-2019812 4438

ldap_mod_del_error.phptH A D05-Dec-20191.6 KiB6348

ldap_mod_replace_basic.phptH A D05-Dec-20191.1 KiB6054

ldap_mod_replace_error.phptH A D05-Dec-20191.6 KiB6147

ldap_modify_basic.phptH A D05-Dec-20191.4 KiB8478

ldap_modify_batch_basic.phptH A D05-Dec-20191.9 KiB110104

ldap_modify_batch_error.phptH A D05-Dec-20192.5 KiB10583

ldap_modify_error.phptH A D05-Dec-20191.9 KiB8463

ldap_next_attribute_basic.phptH A D05-Dec-2019952 3936

ldap_next_attribute_error.phptH A D05-Dec-20191.2 KiB4136

ldap_next_entry_basic.phptH A D05-Dec-2019938 4138

ldap_next_entry_error.phptH A D05-Dec-2019741 2824

ldap_next_reference_basic.phptH A D05-Dec-20191.5 KiB5048

ldap_next_reference_error.phptH A D05-Dec-2019773 2824

ldap_parse_reference_basic.phptH A D05-Dec-20191.2 KiB4644

ldap_parse_reference_error.phptH A D05-Dec-2019816 3229

ldap_parse_result_basic.phptH A D05-Dec-20191.2 KiB4845

ldap_parse_result_error.phptH A D05-Dec-2019411 1817

ldap_read_basic.phptH A D05-Dec-20191.1 KiB6562

ldap_read_error.phptH A D05-Dec-2019851 3629

ldap_rename_basic.phptH A D05-Dec-20191.3 KiB6360

ldap_rename_error.phptH A D05-Dec-2019512 2220

ldap_sasl_bind_basic.phptH A D05-Dec-2019684 2826

ldap_sasl_bind_error.phptH A D05-Dec-20191.7 KiB5441

ldap_search_basic.phptH A D05-Dec-20193.2 KiB195191

ldap_search_error.phptH A D05-Dec-20191.6 KiB6246

ldap_search_overrides.phptH A D05-Dec-20193.7 KiB216212

ldap_search_variation1.phptH A D05-Dec-20191,016 5753

ldap_search_variation2.phptH A D05-Dec-20191.3 KiB8177

ldap_search_variation3.phptH A D05-Dec-20191.8 KiB109103

ldap_search_variation4.phptH A D05-Dec-20191.1 KiB5652

ldap_search_variation5.phptH A D05-Dec-20192 KiB106100

ldap_search_variation6.phptH A D05-Dec-20194 KiB243238

ldap_set_option_basic.phptH A D05-Dec-2019497 2421

ldap_set_option_error.phptH A D05-Dec-20191.7 KiB6754

ldap_set_option_variation.phptH A D05-Dec-20191.8 KiB8581

ldap_set_rebind_proc_basic.phptH A D05-Dec-2019820 3530

ldap_set_rebind_proc_error.phptH A D05-Dec-20191.3 KiB5144

ldap_sort_basic.phptH A D05-Dec-20193.4 KiB201198

ldap_sort_error.phptH A D05-Dec-2019986 3630

ldap_sort_variation.phptH A D05-Dec-20193.4 KiB201198

ldap_start_tls_basic.phptH A D05-Dec-2019494 2119

ldap_start_tls_error.phptH A D05-Dec-2019679 2824

ldap_unbind_basic.phptH A D05-Dec-2019429 2118

ldap_unbind_error.phptH A D05-Dec-20191 KiB4334

ldap_unbind_variation.phptH A D05-Dec-2019800 3529

skipif.incH A D05-Dec-201986 65

skipifbindfailure.incH A D05-Dec-2019339 1410

README

1Most tests here relies on the availability of an LDAP server configured with TLS.
2
3Client/Server configuration:
4===========================================================
5OpenLDAP 2.4.31 has been used with the configuration below.
6
7Notes:
81.  A self signed certificate can be generated using:
9    $ openssl req -newkey rsa:1024 -x509 -nodes -out server.pem -keyout server.pem -days 3650
10    It is used for testing ldap_start_tls(), which also requires "TLS_REQCERT never" in client configuration
112.  An empty LDAP structure is required for the tests to be PASSed (except for base and admin)
12
13If you use a debian based distribution, prefer the use of dpkg-reconfigure.
14Otherwise you may alter these configuration files:
15
16(/etc/openldap/)slapd.conf:
17-----------------------------------------------------------
18TLSCACertificateFile /etc/openldap/ssl/server.pem
19TLSCertificateFile /etc/openldap/ssl/server.pem
20TLSCertificateKeyFile /etc/openldap/ssl/server.pem
21TLSVerifyClient never
22
23# hdb is used instead of bdb as it enables the usage of referrals & aliases
24database        hdb
25suffix          "dc=my-domain,dc=com"
26checkpoint      32      30
27rootdn          "cn=Manager,dc=my-domain,dc=com"
28rootpw          secret
29directory       /var/lib/openldap-data
30index   objectClass     eq
31
32authz-regexp
33	uid=Manager,cn=digest-md5,cn=auth
34	cn=Manager,dc=my-domain,dc=com
35
36
37(/etc/openldap/)ldap.conf:
38-----------------------------------------------------------
39TLS_REQCERT never
40
41Tests configuration:
42===========================================================
43The following environment variables may be defined:
44LDAP_TEST_HOST (default: localhost)                        Host to connect to
45LDAP_TEST_PORT (default: 389)                              Port to connect to
46LDAP_TEST_BASE (default: dc=my-domain,dc=com)              Base to use. May be the ldap root or a subtree. (ldap_search_variation6 will fail if a subtree is used)
47LDAP_TEST_USER (default: cn=Manager,dc=my-domain,dc=com)   DN used for binding
48LDAP_TEST_SASL_USER (default: Manager)                     SASL user used for SASL binding
49LDAP_TEST_PASSWD (default: secret)                         Password used for plain and SASL binding
50LDAP_TEST_OPT_PROTOCOL_VERSION (default: 3)                Version of LDAP protocol to use
51LDAP_TEST_SKIP_BIND_FAILURE (default: true)                Whether to fail the test or not in case binding fails
52
53Credits:
54===========================================================
55Davide Mendolia <idaf1er@gmail.com>
56Patrick Allaert <patrick.allaert@gmail.com>
57Côme Bernigaud <mcmic@php.net>
58