Home » Networking » Net_LDAP2
Object oriented interface for searching and manipulating LDAP-entries
This package is unmaintained.
Download latest release 2.2.0 (there is a newer Composer installable version)
License: LGPLv3 License
Description
Net_LDAP2 is the successor of Net_LDAP which is a clone of Perls Net::LDAP
object interface to directory servers. It does contain most of Net::LDAPs
features but has some own too.
With Net_LDAP2 you have:
* A simple object-oriented interface to connections, searches entries and filters.
* Support for TLS and LDAP v3.
* Simple modification, deletion and creation of LDAP entries.
* Support for schema handling.
Net_LDAP2 layers itself on top of PHP's existing ldap extensions.
Documentation
Maintainers
- Benedikt Hallinger (beni) — lead, active
Dependencies
Required
- PHP (>= 5.4)
- PEAR Installer (>= 1.10.1)
- ldap (extension)
Releases
- 2.2.0 (stable, 2015-10-30)
Release notes
License: LGPLv3 License
* Fix bug #20969: Fatal error with PEAR 1.10.0 / constructor visiblity
* Add support for PHP 7
* Improve unit tests - 2.1.0 (stable, 2013-12-09)
Release notes
License: LGPLv3 License
* New feature: Filter::matches() can do simple filtering on entry sets (supported: equals, contain, begin, end, any; NOT, AND, OR. Filtering is simple based on regexp, no schema checks and matchRules yet!)
* Fixed minor bugs in Filter, LDAP and Entry class
* Util::split_attribute_string(): Added support for extended match operators from filters
* Util::split_attribute_string(): Added support for delimeter retrieval - 2.0.12 (stable, 2011-10-27)
Release notes
License: LGPLv3 License
* inmproved performance with large search results
* Fixed some minor issues with Net_LDAP2_Filter and Net_LDAP2->dnExists()
* Added NOT filter to Net_LDAP2_Filter::create() so negating is more easily now - 2.0.11 (stable, 2011-01-19)
Release notes
License: LGPLv3 License
* (doc issue) Fix for #17861: Missing komma in example
* Fix for #18202: Adding attributes to a Fresh Entry saving and laterly updating fails - 2.0.10 (stable, 2010-08-23)
Release notes
License: LGPLv3 License
* Added schema handling methods to make schema checks more easily accessible
* Bugfix for #17245. The check in the code was not working properly. Schema checking is considered the users responsibility.
If now an attribute is requested that is not set at the entry, an empty string is returned.
* Bugfix for #17770. Some Net_LDAP2 files were included with relative path ("Util.php"), not absolute ("Net/LDAP2/Util.php").
* Bugfix for #17314. LDIF support for attributes with modifiers ("attr1;binary"). - 2.0.9 (stable, 2010-02-16)
Release notes
License: LGPLv3 License
* fixed package (package.xml was unclean so 2.0.8 wouldnt install)
- 2.0.7 (stable, 2009-10-28)
Release notes
License: LGPLv3 License
* Corrected bug #16738 (Problem with Net_LDAP2_Filter::parse() with complex filter, when first subfilter was an combined filter too)
- 2.0.6 (stable, 2009-08-04)
Release notes
License: LGPLv3 License
* switched LICENSE to LGPL v3
* added some documentation - 2.0.5 (stable, 2009-07-14)
Release notes
License: LGPL License
* Fixed bug #16438 (SimplefileSchemaCache could not be configured due to wrong var name)
- 2.0.4 (stable, 2009-07-08)
Release notes
License: LGPL License
* Fixed Bug #16404 (Bind fails at OpenLDAP with protocol error)
- 2.0.3 (stable, 2009-07-03)
Release notes
License: LGPL License
* Fixed LDAP RFC-1777 violation: bind has to be performed prior setting LDAP version
* Fixed wrong version reported from version() - 2.0.2 (stable, 2009-06-29)
Release notes
License: LGPL License
* Fixed some bugs that rendered the new schema caching facility unusable
- 2.0.1 (stable, 2009-06-15)
Release notes
License: LGPL License
* Fixed Bugs #16272 and #16278 (Problem in starttls function)
- 2.0.0 (stable, 2009-05-28)
Release notes
License: LGPL License
* Fixed bug #16242 (arguments for createFresh in wrong order when calling Net_LDAP2_Entry::createFresh())
* Fixed bug #16253 (strict checking of isError()) - 2.0.0RC6 (beta, 2009-05-08)
Release notes
License: LGPL License
* Bugfix in LDIF writer concerning needless base64 encoding of values
* New schema caching facility
* PHPCS fixes, some comment changes and general code cleanup - 2.0.0RC5 (beta, 2009-01-09)
Release notes
License: LGPL License
* Fixed a little issue with repetive adding the same attribute value
* Fixed Bug #14886 that caused problems with OpenLDAP and V3 only connects
* Fixed Bug #14903 and #15494, now bind attempt is also encrypted if TLS is requested
* Fixed issue with repetitve adding or deleting values causing Net_LDAP to send the same change multiple times
* Fixed Bug #15364 that caused a problem with setting the ldap version if only one version is supported by server - 2.0.0RC4 (beta, 2008-10-16)
Release notes
License: LGPL License
* Net_LDAP2_Filter::create*() methods are declared static now
* Net_LDAP2 is able to reconnect now in case link is down during operation (thanks Del)
* Complex updates fail: under some circumstances, $entry->update() will fail. This is
caused by mandatory attributes set and the internal behaviour of Net_LDAP2. A
workaround is documented in the code and in the user manual.
* Bugfixes in Dels patches. Soemtimes there where endless loops and deleting entries
did not always succeed.
* Bugfix to reset unicodePwd (Active Directory): a new $force parameter was introduced to Net_LDAP2_Entry->replace()
that forces "replace" mode. If not set and attribute is empty (or could not be read like in the AD case)
replace() resulted in Net_LDAP2 thinking it should add the attribute. This can now be overriden.
* Bugfix in unit tests: the Net_LDAP2Test suite had huge memory consumtion caused by a little error in
Net_LDAP2->checkLDAPExtension(). If that method is called before any Net_LDAP class was instanciated, a PEAR
error is returned instead of the documented Net_LDAP2_Error which causes the unit test to plot out very much
debug information. - 2.0.0RC3 (beta, 2008-06-04)
Release notes
License: LGPL License
* New constructor factory for Entry objects: createExisting()
* Several small improvements
* New method Entry->isNew()
* Net_LDAP2->search() and Net_LDAP2->dnExists() can handle entry objects now
* Added "present" matching rule as stated by RFC 2254 (is an alias of the former "any")
* Bugfix in filter class for approx matching and not combination
* Bugfix for Schema->isBinary() bug if unknown attribute type is requested - 2.0.0RC2 (beta, 2008-03-20)
Release notes
License: LGPL License
* Implemented PHP5 language stuff (thanks to Torsten Roehr for his helpful patches)
* Changed Net_LDAP2->_markAsNew() to public access, since this is required by the api
and may be useful to developers too
* Changed API to create schema object, there is now a factory. Net_LDAP2->schema() calls
that factory now instead of fetching the Schema itself
* Changed API to create rootDSE object, there is now a factory. Net_LDAP2->rootDSE() calls
that factory now instead of fetching the rootDSE itself
* Net_LDAP2_Entry has a new factory constructor: createConnected() can be used to
establish a new Net_LDAP2_Entry object that represents an already existing entry inside
some directory - 2.0.0RC1 (beta, 2008-03-19)
Release notes
License: LGPL License
/!\ This release is PHP5 only, replacing the Net_LDAP package.
If you still need PHP4 support, use Net_LDAP instead.
* Implemented iterable search results so one can use foreach() with Net_LDAP2_Search objects
* Fixed a problem with Net_LDAP2_LDIF and files with DOS line endings
Bugs
| ID | Status | Type | Version | Date | Summary |
|---|---|---|---|---|---|
| #12209 | Closed | Req | 2007-10-09 | Unit tests missing | |
| #12344 | Wont fix | Req | 2007-10-25 | Implement LDIF based LDAP-Server | |
| #12864 | Wont fix | Req | 2008-01-09 | Add DSML support | |
| #13238 | Closed | Bug | 2008-02-28 | Net_LDAP_LDIF problem with DOS LDIF files | |
| #13437 | Closed | Req | 2.0.0RC1 | 2008-03-19 | Make use of PHP5 language features |
| #13721 | Closed | Bug | 2.0.0RC2 | 2008-04-19 | wrong constant prefix |
| #13838 | Closed | Req | 2.0.0RC2 | 2008-05-05 | Method isNew() in Net_LDAP_Entry Object |
| #13955 | Closed | Req | 2.0.0RC2 | 2008-05-22 | search() should take Entry objects |
| #13956 | Closed | Doc | 2.0.0RC2 | 2008-05-22 | Filter documentation missing |
| #13979 | Open | Req | CVS | 2008-05-24 | creating entry objects and modifiyng should be more smart |
| #14027 | Closed | Bug | CVS | 2008-05-30 | Schema is->binary() drops error if fetching attr fails |
| #14068 | Closed | Req | 2.0.0RC3 | 2008-06-04 | Define two methods in Filter class as static |
| #14240 | Bogus | Bug | 2.0.0RC3 | 2008-06-25 | dnExists() fails |
| #14341 | Closed | Bug | 2.0.0RC3 | 2008-07-13 | Complex updates fail |
| #14403 | Closed | Req | 2.0.0RC3 | 2008-07-25 | Apply patchesfrom Del (reconnection) |
| #14576 | Bogus | Bug | 2.0.0RC3 | 2008-08-28 | Cannot delete a member of a group containing more than 1500 users |
| #14719 | Closed | Bug | 2.0.0RC3 | 2008-09-29 | unable to reset unicodePwd (Active Directory) |
| #14802 | Closed | Bug | CVS | 2008-10-15 | Unit test failures eat up memory |
| #14805 | Closed | Bug | CVS | 2008-10-16 | Net_LDAP2->modify() ends in endless loop |
| #14861 | Closed | Req | CVS | 2008-10-25 | Improve PHPCS results |
| #14886 | Closed | Bug | 2.0.0RC4 | 2008-10-26 | Connection fails on OpenLdap v3 |
| #15337 | Closed | Req | 2.0.0RC4 | 2008-12-17 | Speeding up the schema loading |
| #15364 | Closed | Bug | 2.0.0RC4 | 2008-12-20 | setLDAPVersion fails / string instead of array |
| #15398 | Duplicate | Bug | 2.0.0RC4 | 2008-12-26 | a variable is considered as an array |
| #15494 | Closed | Bug | CVS | 2009-01-03 | starttls should be before bind attempt |
| #15573 | Closed | Bug | 2.0.0RC4 | 2009-01-08 | Protocol Version 3 Error |
| #16165 | Open | Req | 2.0.0RC5 | 2009-04-30 | Fully implement LDIF change handling |
| #16166 | Closed | Req | 2.0.0RC5 | 2009-04-30 | Implement shorthands for schema operations |
| #16242 | Closed | Bug | 2.0.0RC6 | 2009-05-20 | arguments for createFresh in wrong order |
| #16253 | Closed | Bug | CVS | 2009-05-24 | Strict standards: Declaration of Net_LDAP2::isError() |
| #16272 | Closed | Bug | 2.0.0 | 2009-05-30 | Can start tls |
| #16278 | Closed | Bug | 2.0.0 | 2009-06-02 | Problem in starttls function |
| #16347 | Closed | Bug | 2.0.1 | 2009-06-19 | Cache code suffers from tremendous bugs |
| #16390 | Closed | Bug | 2.0.2 | 2009-06-30 | rootDse connection problem |
| #16397 | Closed | Bug | 2.0.2 | 2009-07-02 | Net_LDAP2::getVersion() returns wrong version |
| #16404 | Closed | Bug | 2.0.3 | 2009-07-04 | Bind fails |
| #16438 | Closed | Bug | 2.0.4 | 2009-07-14 | Wrong var names in Net_LDAP2_SimpleFileSchemaCache |
| #16439 | Closed | Bug | 2.0.4 | 2009-07-14 | Wrong paramener names in Net_LDAP2_SimpleFileSchemaCache |
| #16491 | Closed | Bug | 2.0.5 | 2009-08-03 | delete of attributes in replace() method of Entry class |
| #16738 | Closed | Bug | 2.0.6 | 2009-10-24 | Problem parsing filter |
| #16796 | Open | Req | 2.0.7 | 2009-11-18 | Support deletion of non-queried attributions |
| #16940 | Closed | Bug | 2.0.7 | 2009-12-22 | Net_LDAP2::startTLS should ignore errors before ldap_start_tls() being called |
| #17023 | Closed | Bug | CVS | 2010-01-22 | improper handling of wrapped lines |
| #17057 | Closed | Bug | 2.0.7 | 2010-02-03 | Problem parsing filter |
| #17120 | Closed | Bug | 2.0.8 | 2010-02-16 | Bug in tarball package |
| #17121 | Bogus | Bug | 2.0.8 | 2010-02-16 | Bug in tarball package |
| #17245 | Closed | Bug | 2.0.9 | 2010-03-19 | Fetching empty attributes raises error, but attribute type is valid |
| #17267 | Assigned | Req | 2.0.9 | 2010-03-25 | Paged Search Results |
| #17314 | Closed | Bug | 2.0.9 | 2010-04-15 | LDIF Attribute Name Regular Expression is incomplete |
| #17770 | Closed | Bug | 2.0.9 | 2010-08-20 | file included with relative path |
| #17861 | Closed | Doc | SVN | 2010-09-13 | Missing komma in example |
| #18202 | Closed | Bug | 2.0.10 | 2011-01-18 | Adding attributes to a Fresh Entry saving and laterly updating fails |
| #18407 | Bogus | Doc | 2.0.11 | 2011-03-29 | LDIF-Doc: missing variable declaration for $error_o |
| #18420 | Closed | Doc | 2.0.11 | 2011-04-02 | connect() option bindpw is not necessarily a password |
| #18422 | Closed | Bug | SVN | 2011-04-04 | Net_LDAP2_Error constructor calls non-static Net_LDAP2 errorMessage statically |
| #18752 | Closed | Req | 2.0.11 | 2011-08-23 | Performance problem retrieving search result + patch |
| #18908 | Closed | Bug | Unknown | 2011-10-14 | dnExists can return true when the dn doesn't exist |
| #18909 | Closed | Req | 2.0.11 | 2011-10-14 | Adding "not" filter to search |
| #19087 | Closed | Bug | 2.0.12 | 2011-11-29 | Generates E_STRICT error due to use of PEAR::isError() |
| #19204 | Closed | Bug | SVN | 2012-01-07 | unit test failure -- Net_LDAP2_LDIFTest::testWrite_entryChanges |
| #19364 | Closed | Bug | 2.0.12 | 2012-04-01 | Net_LDAP2_Filter parse accepts invalid filter |
| #19392 | Closed | Bug | SVN | 2012-04-20 | Not possible to remove naming attributes |
| #19393 | Closed | Bug | SVN | 2012-04-20 | Not possible to change the DN of a newly created item |
| #19503 | Closed | Bug | 2.0.12 | 2012-07-11 | Net_LDAP2_Entry getValue returns empty string when no attributes present |
| #19506 | Closed | Bug | 2.0.12 | 2012-07-12 | Net_LDAP2_Search shiftEntry() errors when no entries were found |
| #19507 | Closed | Bug | 2.0.12 | 2012-07-12 | Net_LDAP2_Search::entries() removes entries from the search object |
| #19652 | Closed | Doc | 2012-10-14 | Retrieving entries via iteration (foreach) incorrect description | |
| #19872 | Wont fix | Bug | 2.0.12 | 2013-03-29 | Fail to delete whole attribute with no equality matching rule |
| #20003 | Closed | Bug | 2.0.12 | 2013-07-05 | rename or moving entry force deleteoldrdn to true |
| #20142 | Closed | Bug | 2.0.12 | 2013-12-05 | Implement client side filtering for entries |
| #20504 | Open | Bug | 2.1.0 | 2015-02-22 | LICENSE missing in archive. |
| #20969 | Closed | Bug | 2.1.0 | 2015-10-17 | Fatal error with PEAR 1.10.0: Net_LDAP2_RootDSE::__construct() must be public |
| #21211 | Open | Bug | 2.2.0 | 2017-05-17 | Version reported as 2.1.0 |
| #21212 | Open | Bug | 2.2.0 | 2017-05-17 | Quiet "Call to undefined function dl()" fatal error when ldap extension missing |
| #23758 | Open | Bug | 2.2.0 | 2018-07-18 | Bind to a referral is anonymous |