Edit report at https://bugs.php.net/bug.php?id=61853&edit=1
ID: 61853
Updated by: ab@php.net
Reported by: etienne at lamaisondebarbie dot ch
Summary: Use of non-deprecated functions
-Status: Assigned
+Status: Feedback
Type: Feature/Change Request
Package: LDAP related
Operating System: Debian testing
PHP Version: master-Git-2012-04-25 (Git)
Assigned To: ab
Block user comment: N
Private report: N
New Comment:
Hi,
i've tested your patch on windows and linux, it looks good. However there are
some warnings now (after LDAP_DEPRECATED removal in the config.* files):
ldap.c: In function â_close_ldap_linkâ:
ldap.c:98: warning: implicit declaration of function âldap_unbind_sâ
ldap.c: In function â_php_ber_to_array_recursiveâ:
ldap.c:137: warning: unused variable ârootâ
ldap.c: In function â_php_ber_from_array_recursiveâ:
ldap.c:366: warning: unused variable âiâ
ldap.c: In function âzif_ldap_connectâ:
ldap.c:763: warning: implicit declaration of function âldap_initâ
ldap.c:763: warning: assignment makes pointer from integer without a cast
ldap.c: In function âzif_ldap_bindâ:
ldap.c:826: warning: implicit declaration of function âldap_bind_sâ
ldap.c: In function âphp_ldap_do_searchâ:
ldap.c:1034: warning: unused variable âold_ldap_sizelimitâ
ldap.c: In function âzif_ldap_explode_dnâ:
ldap.c:1748: warning: implicit declaration of function âldap_value_freeâ
ldap.c: In function âzif_ldap_deleteâ:
ldap.c:1981: warning: implicit declaration of function âldap_delete_sâ
ldap.c: In function âzif_ldap_compareâ:
ldap.c:2057: warning: implicit declaration of function âldap_compare_sâ
ldap.c: In function âzif_ldap_sortâ:
ldap.c:2095: warning: implicit declaration of function âldap_sort_entriesâ
That "implicit declaration" stuff is for sure because of the removed
LDAP_DEPRECATED definition. Fixing that were now the finishing straight i'd say.
Thanks for you work :)
Previous Comments:
------------------------------------------------------------------------
[2013-02-24 16:57:22] etienne at lamaisondebarbie dot ch
Here is the patch including patch from #61853 and #61921 with some helper functions in file
ldap_dev_utils.c. This goes against current php-src head.
------------------------------------------------------------------------
[2013-02-22 21:19:10] etienne at lamaisondebarbie dot ch
Yes you are right, ldap_control_create is not available everywhere (not in older libldap and not in
winldap). I used it naturally and forget to check for this one.
It has to be re-implemented into php-ldap, I'll do as soon as possible.
------------------------------------------------------------------------
[2013-02-22 17:39:35] ab@php.net
Yes, the code from both patches (#61921 and this one) compiles fine, but there is a link error with
2.3.42 (not 2.3.48, my bad), it can't find ldap_control_create. The latest, 2.4.33, compiles
good and tests pass. Only one test fails for me ext\ldap\tests\ldap_sasl_bind_basic.phpt , but
that's disregarding of with or without patch. That's may be because of the server
configuration. If you mean no new test need to be added, so be.
About that #ifdef - it's not about server but client libs. IMHO, there are still enough
"stable" distro versions in use, like centos5 and so on, which have older openldap by
default. At the end of the day, it's not a big deal to put just a bit more appropriate checks
and be compatible with older client libs. As it's almost done now anyway :) It's just a
bit confusing both 2.3 and 2.4 series having the api version of 3001, but from the other side - this
way the devs mean it stands not very far from each other.
------------------------------------------------------------------------
[2013-02-22 16:57:22] etienne at lamaisondebarbie dot ch
And anyway, *_ext family was designed in 1998 and first implemented in libldap in 1999. ldap_search
was tagged as deprecated in 2006. There is no reason to put those ifdef in the first place, I
don't think people like to have 6 years old unmaintained code running on their webserver. On
windows those functions are supported since Windows 2k ...
------------------------------------------------------------------------
[2013-02-22 16:37:38] etienne at lamaisondebarbie dot ch
Does php-ldap compile under 2.3.48 without my patch ? (tests are already available in tests
directory).
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=61853
--
Edit this bug report at https://bugs.php.net/bug.php?id=61853&edit=1