Apache Directory LDAP API™

The modern Java LDAP API

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).
This is a "schema aware" API with some convenient ways to access all types of LDAP servers, not only ApacheDS but any LDAP server.
The API is OSGI ready and extensible. New controls, schema elements and network layer could be added or used in the near future.

News

Apache Directory LDAP API 1.0.0-M22 released posted on April 22th, 2014

The Apache Directory Team is proud to announce the availability of version 1.0.0-M22 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M22:

Bugs :

* [DIRAPI-156](https://issues.apache.org/jira/browse/DIRAPI-156) - LdapNetworkConnection.addSchema doesn't register attribute types
* [DIRAPI-186](https://issues.apache.org/jira/browse/DIRAPI-186) - Inconsistent code definition in ResultCodeEnum.
* [DIRAPI-188](https://issues.apache.org/jira/browse/DIRAPI-188) - Length encoding is not using the correct method in some of the codecs

Improvements :

* [DIRAPI-181](https://issues.apache.org/jira/browse/DIRAPI-181) - Add the StartTLS extended operation
* [DIRAPI-187](https://issues.apache.org/jira/browse/DIRAPI-187) - Make the Entry class a fluent API

New Feature :

* [DIRAPI-164](https://issues.apache.org/jira/browse/DIRAPI-164) - Add fluent entry builder to AddRequest
* [DIRAPI-183](https://issues.apache.org/jira/browse/DIRAPI-183) - Add support for the WhoAmI extended operation

Wish :

* [DIRAPI-189](https://issues.apache.org/jira/browse/DIRAPI-189) - Support DirSync control

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M21 released posted on March 13th, 2014

The Apache Directory Team is proud to announce the availability of version 1.0.0-M21 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M21:

Bugs :

  • DIRAPI-126 - Timeout Exception on bind while pwdExpireWarning period
  • DIRAPI-128 - FilterEncoder.format() should accept String varargs
  • DIRAPI-152 - Attribute.toString() method appends newline
  • DIRAPI-157 - Calling the add() method with a multi-value attribute and a null value throws an NPE
  • DIRAPI-160 - DSML engine is not setting the 'requestID' value in BatchResponse when output stream instance is provided
  • DIRAPI-161 - Timeout does not apply to connect method
  • DIRAPI-173 - When using TLS and multiple binds, LdapNetworkConnection attempts to start TLS multiple times
  • DIRAPI-176 - LDIFReader does not accept empty DN (rootDSE)

Improvements :

  • DIRAPI-137 - Add Control support for RFC 2891 - LDAP Control Extension for Server Side Sorting of Search Results http://www.faqs.org/rfcs/rfc2891.html
  • DIRAPI-153 - Implement efficient reuse of schema loading
  • DIRAPI-159 - Add a method to set a SchemaManager in LdapConnection
  • DIRAPI-169 - Formalize the contract of PasswordPolicyResponse by stating that -1 is returned if no value is set.
  • DIRAPI-170 - Allow StandaloneLdapApiServices to be configured without system properties
  • DIRAPI-175 - LdifReader should handle empty

New Feature

  • DIRAPI-143 - Add Controls to support server-side sorting

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M20 released posted on August 18th, 2013

The Apache Directory Team is proud to announce the availability of version 1.0.0-M20 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M20:

Bugs

  • DIRAPI-14 - We can't inject entries with attributes containing a null value
  • DIRAPI-98 - Add generic support for Extended operations
  • DIRAPI-120 - Deleted an attribute leads to an error
  • DIRAPI-148 - We can't inject entries with attributes containing a null value
  • DIRAPI-151 - Result codes from extended operations are lost

New Feature

  • DIRAPI-129 - Add support for PwdModify extended operation

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M19 released posted on July 1st, 2013

The Apache Directory Team is proud to announce the availability of version 1.0.0-M19 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M19:

  • DIRAPI-148 We can't inject entries with attributes containing a null value

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M18 released posted on June 25th, 2013

The Apache Directory Team is proud to announce the availability of version 1.0.0-M18 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M18:

  • DIRAPI-112 - Review Package Names
  • DIRAPI-130 - The extended responses are not decoded into their respective type
  • DIRAPI-132 - Add support for the StartTLS operation
  • DIRAPI-133 - Correlate an extendedResponse with its associated request, when we don't have a responseName
  • DIRAPI-139 - o.a.d.api.ldap.codec.api.LdapEncoder should log encoded PDU via DEBUG
  • DIRAPI-140 - Test ClientSearchRequestTest.testSubDn() fails
  • DIRAPI-147 - LdifEntry equals method does not compare entry attributes when changetype is None

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M17 released posted on May 2nd, 2013

The Apache Directory Team is proud to announce the availability of version 1.0.0-M17 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M17:

  • DIRAPI-135 - The connectiosn may be invalid when we get it from the pool
  • DIRAPI-103 - the PLAIN SASL BindRequest is not supported

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M16 released posted on March 3rd, 2013

The Apache Directory Team is proud to announce the availability of version 1.0.0-M16 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M16:

  • DIRAPI-119 - Some NPE when sending some request with lacking data

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M15 released posted on January 29th, 2013

The Apache Directory Team is proud to announce the availability of version 1.0.0-M15 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M15:

  • DIRAPI-112 - Review Package Names

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M14 released posted on January 7th, 2013

The Apache Directory Team is proud to announce the availability of version 1.0.0-M15 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M14:

  • DIRAPI-89 - EntryCursorImpl loops forever in next() when using AD Server with referrals
  • DIRAPI-92 - LdapConnectionPool should extend GenericObjectPool
  • DIRAPI-94 - Random failure of ClientAbandonRequestTest

WARNING: An important package renaming took place in this milestone. The previously named "org.apache.directory.shared" package has been renamed "org.apache.directory.api". If you were using the Apache Directory LDAP API before, please make sure to update your own code to match this important change.

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there

Apache Directory LDAP API 1.0.0-M13 released posted on October 12th, 2012

The Apache Directory Team is proud to announce the availability of version 1.0.0-M13 of the Apache Directory LDAP API.

The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).

This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.

It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.

Here are the release note for Apache Directory LDAP API 1.0.0-M13:

  • DIRAPI-87 - The search() method does not return the same result if it's done with a SearchRequest or with parameters
  • DIRAPI-88 - RDN parsing fails with values containing a # character followed by other characters
  • DIRSHARED-135 - LdapNetworkConnection should be thread-safe
  • DIRSHARED-136 - NPE in AntlrSubtreeSpecificationParser when initialized with an empty schema manager
  • DIRSHARED-137 - Logically incorrect filter construction while parsing DSML search request
  • DIRSHARED-138 - Cannot transform SearchRequestDsml object to DSML format

Feel free to experiment, we highly appreciate your feedback !

Downloads are available here and the User's Guide is there