Hi Rainer. 

> Am 10.08.2015 um 21:48 schrieb Rainer Jung <rainer.j...@kippdata.de>:
> 
> 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,
>                          ^

Sorry to hear that the build against the Solaris LDAP client fails 
nowmduentonthe cleanup. Come asked a long while ago whether there are any other 
libs used. And as the dicumentation states that the build should link against 
OpenLDAP we went ahead and removed those ifdefs. 

Can you give us a link to the Solaris LDAP lib? We'll then check what's 
possible and what not. The reason behind the cleanup (and therefore removal of 
ifdefs) was that we wanted to optimize PHPs ldap-functions and remove those 
calls to long-deprecated functions in the OpenLDAP library. Sonwe'll have to 
check what's possible with the Solaris lib. 

Out of interest: What is for you the benefit of using the Solaris-ldap lib 
instead of the OpenLDAP lib? I'd like to get a feeling for the issue!

Cheers

Andreas
-- 
Andreas Heigl
andr...@heigl.org
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to