Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:87701 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 4110 invoked from network); 10 Aug 2015 20:15:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Aug 2015 20:15:57 -0000 Authentication-Results: pb1.pair.com smtp.mail=andreas@heigl.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=andreas@heigl.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain heigl.org from 195.191.240.18 cause and error) X-PHP-List-Original-Sender: andreas@heigl.org X-Host-Fingerprint: 195.191.240.18 hos109.unaxus.net Received: from [195.191.240.18] ([195.191.240.18:43855] helo=hos109.unaxus.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 35/70-00720-B7609C55 for ; Mon, 10 Aug 2015 16:15:55 -0400 Received: from tmo-102-172.customers.d1-online.com ([80.187.102.172]:14488 helo=[10.46.103.58]) by hos109.unaxus.net with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.85) (envelope-from ) id 1ZOtTy-0002yC-8w; Mon, 10 Aug 2015 22:15:52 +0200 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) X-Mailer: iPhone Mail (12H143) In-Reply-To: <55C8FFF9.40509@kippdata.de> Date: Mon, 10 Aug 2015 22:15:35 +0200 Cc: =?utf-8?Q?C=C3=B4me_BERNIGAUD?= , PHP internals Content-Transfer-Encoding: quoted-printable Message-ID: <2E228E18-2AC9-4FA5-AB11-4F7C3365EB0B@heigl.org> References: <5582BC3E.30109@opensides.be> <55C8FFF9.40509@kippdata.de> To: Rainer Jung X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - hos109.unaxus.net X-AntiAbuse: Original Domain - lists.php.net X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - heigl.org X-Get-Message-Sender-Via: hos109.unaxus.net: authenticated_id: a.heigl+heigl.org/only user confirmed/virtual account not confirmed Subject: Re: [PHP-DEV] LDAP module requirements? From: andreas@heigl.org (Andreas Heigl) Hi Rainer.=20 > Am 10.08.2015 um 21:48 schrieb Rainer Jung : >=20 > Hi, >=20 >> Am 18.06.2015 um 14:40 schrieb C=C3=B4me BERNIGAUD: >> Hello, >>=20 >> 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? >>=20 >> 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?) >>=20 >> What is the oldest openldap version supposed to be supported by each PHP >> version? >=20 > being late to this discussion: I do ship PHP with ldap extension on Solari= s 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 an= d all or some compatibility ifdefs have been removed. >=20 > Is their any interest to keep compatibility with Solaris ldap? If not, wou= ld it be possible to keep it for 5.6 and not drop it in a minor release? I s= aw, that the docs mention OpenLDAp as a requirement, but it worked for years= very well with Solaris ldap client. >=20 > The build for 5.6 currently issues the following warnings due to new incom= patibilties: >=20 > .../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 witho= ut 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' [-Wimpli= cit-function-declaration] > rc =3D 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 'lda= p_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_rebi= nd_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 LD= AP *, 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 nowmduent= onthe cleanup. Come asked a long while ago whether there are any other libs u= sed. And as the dicumentation states that the build should link against Open= LDAP we went ahead and removed those ifdefs.=20 Can you give us a link to the Solaris LDAP lib? We'll then check what's poss= ible and what not. The reason behind the cleanup (and therefore removal of i= fdefs) was that we wanted to optimize PHPs ldap-functions and remove those c= alls to long-deprecated functions in the OpenLDAP library. Sonwe'll have to c= heck what's possible with the Solaris lib.=20 Out of interest: What is for you the benefit of using the Solaris-ldap lib i= nstead of the OpenLDAP lib? I'd like to get a feeling for the issue! Cheers Andreas --=20 Andreas Heigl andreas@heigl.org=