Hi,

Am 18.06.2015 um 14:40 schrieb Côme BERNIGAUD:
Hello,

The code of the LDAP module have some ifdefs like
LDAP_API_FEATURE_X_OPENLDAP to test if we are building against openldap
or something else.
Is there an exaustive list of the LDAP libs PHP is supposed to be
buildable against?

The following page suggest it should always be openldap, is that the case?
http://php.net/manual/en/ldap.requirements.php
(if so, could ifdefs of LDAP_API_FEATURE_X_OPENLDAP be safely removed?)

What is the oldest openldap version supposed to be supported by each PHP
version?

being late to this discussion: I do ship PHP with ldap extension on Solaris using the Solaris ldap client libs. This worked well until and including 5.6.11. It is broken starting with 5.6.12, because now OpenLDAP is assumed and all or some compatibility ifdefs have been removed.

Is their any interest to keep compatibility with Solaris ldap? If not, would it be possible to keep it for 5.6 and not drop it in a minor release? I saw, that the docs mention OpenLDAp as a requirement, but it worked for years very well with Solaris ldap client.

The build for 5.6 currently issues the following warnings due to new incompatibilties:

.../ext/ldap/ldap.c: In function 'ldap_control_find':
.../ext/ldap/ldap.c:77:3: warning: implicit declaration of function 'ldap_find_control' [-Wimplicit-function-declaration]
   return ldap_find_control(oid, ctrls);
   ^
.../ext/ldap/ldap.c:77:3: warning: return makes pointer from integer without a cast
.../ext/ldap/ldap.c: In function 'zif_ldap_connect':
/shared/build/autobuild/workdirs/20150810_145109/bld/php56/ext/ldap/ldap.c:370:3: warning: implicit declaration of function 'ldap_initialize' [-Wimplicit-function-declaration]
   rc = ldap_initialize(&ldap, url);
   ^
.../ext/ldap/ldap.c: In function 'zif_ldap_explode_dn':
.../ext/ldap/ldap.c:1308:2: warning: implicit declaration of function 'ldap_memvfree' [-Wimplicit-function-declaration]
  ldap_memvfree((void **)ldap_value);
  ^
.../ext/ldap/ldap.c: In function 'zif_ldap_set_rebind_proc':
.../ext/ldap/ldap.c:2563:34: warning: passing argument 2 of 'ldap_set_rebind_proc' from incompatible pointer type
   ldap_set_rebind_proc(ld->link, _ldap_rebind_proc, (void *) link);
                                  ^
In file included from .../ext/ldap/php_ldap.h:30:0,
                 from .../ext/ldap/ldap.c:45:
/usr/include/ldap.h:1205:26: note: expected 'int (*)(struct LDAP *, char **, char **, int *, int, void *)' but argument is of type 'int (*)(struct LDAP *, const char *, ber_tag_t, ber_int_t, void *)'
 LDAP_API(void) LDAP_CALL ldap_set_rebind_proc(LDAP *ld,
                          ^
Regards,

Rainer

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to