|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-11-16 08:50 UTC] Joel dot Brogniart at univ-lyon2 dot fr
Description:
------------
With PHP version < 5.2.10, if the "bad_uid" is not in the LDAP directory and no error occured the following code return an empty array in $info. With PHP version 5.2.10 it return FALSE $info even when there is no error.
(simplified code)
$ldap_host="ldap.example.com";
$ldap_root="ou=people,dc=example,dc=com";
$ldap_dn="cn=admin,ou=people,dc=example,dc=com";
$ldap_password="fak3pwd";
$result = array();
$attribute_list = array("uid");
$connection = ldap_connect($ldap_host);
$link = @ldap_bind($connection, $ldap_dn, $ldap_password);
$search="(uid=bad_uid)";
$search_result = ldap_search($connection, $ldap_root, $search, $attribute_list);
$info = ldap_get_entries($connection, $search_result);
Reproduce code:
---------------
---
From manual page: function.ldap-get-entries#Return Values
---
$ldap_host="ldap.example.com";
$ldap_root="ou=people,dc=example,dc=com";
$ldap_dn="cn=admin,ou=people,dc=example,dc=com";
$ldap_password="fak3pwd";
$result = array();
$attribute_list = array("uid");
$connection = ldap_connect($ldap_host);
$link = @ldap_bind($connection, $ldap_dn, $ldap_password);
$search="(uid=bad_uid)";
$search_result = ldap_search($connection, $ldap_root, $search, $attribute_list);
$info = ldap_get_entries($connection, $search_result);
Expected result:
----------------
$info :
Array
(
)
Actual result:
--------------
$info :
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 04:00:02 2025 UTC |
Here is a transcript of an interactive PHP session (real user, server, password modified). server:~ johndoe$ php -v PHP 5.2.11 (cli) (built: Sep 28 2009 16:48:57) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies server:~ johndoe$ php -a Interactive mode enabled <?php $ldap_host="ldap.example.com"; $ldap_root="ou=people,dc=example,dc=com"; $ldap_dn="cn=admin,ou=people,dc=example,dc=com"; $ldap_password="fak3pwd"; $attribute_list = array("uid"); $connection = ldap_connect($ldap_host); printf("ldap_connect error:%s\n", ldap_errno($connection)); $link = @ldap_bind($connection, $ldap_dn, $ldap_password); printf("ldap_bind error:%s\n", ldap_errno($connection)); $search="(uid=bad_uid)"; $search_result = ldap_search($connection, $ldap_root, $search, $attribute_list); printf("ldap_search error:%s\n", ldap_errno($connection)); $info = ldap_get_entries($connection, $search_result); printf("ldap_get_entries error:%s\n", ldap_errno($connection)); printf("var_dump($info): "); var_dump($info); ?> ldap_connect error:0 ldap_bind error:0 ldap_search error:0 ldap_get_entries error:0 var_dump(): NULL