Change Log: LDAP Classes for Java - Unix and Linux

### June 2009

#### Binaries

- Added a new extension to get the effective privliege for a list of attributes.

  Done the following fix in DN class:

- Connection as anonymous bind is possible with null-bind DN or null-password.

- Added support for the IPv6 addresses during the connection.

### February 2008

#### Binaries:

- A new control LDAPPagedResultsControl is added for results to be returned in pages of specified size from server.

- LDAP Connection constructor with the time out value is modified to use the socketFactory, which is set through the method setSocketFactory().

- New exception is thrown in case of connection failure.

- Fix for PoolManager being unable to rebind the existing available connections on LDAP server failure.

#### Doc:

- Added two controls to the Supported Controls section.

- Added the functionality of Paged Results Control Supported Controls section.

### October 2007

#### Binaries:

- A new LDAP extension has been implemented to obtain the X500 DN from the DNS name given.

### October 2006

#### Binaries:

- Fixed a couple of eDirectory Events related bugs.

### June 2006

#### Binaries:

- Added support for JDK 1.5.

- Fixed a couple of defects in samples.

#### Doc:

- Extended Constructor information in the section 'LDAP Connections'.

### March 2006

#### Binaries:

- Added a new constructor with the parameter timeout in LDAPConnection class to support Socket Timeout value.

- Added two new methods setSocketTimeOut and getSocketTimeOut to set and get the socket connect timeouts respectively.

- Removed the following samples:

  - ConnectTimeOut.java is removed as the constructor in the ldapconnection class does the same function.

  - NmasBind.java is removed as NMAS bind (through Simple Password and NDS mechanisms) is not supported in NMASClient.jar.

- Fixed the defect for thread synch done.

#### Doc:

- Added information about LDAPConnection constructor.

- Fixed formatting issues.

### October 2005

#### Binaries:

Fixed defect so that the connection fails when the same connection is used to connect to an LDAP server multiple times.

#### Doc:

Transitioned to revised Novell standards.

### June 2005

#### Binaries:

- Support for Subnordinate Subtree search scope for Novell Virtual Directory Services (NVDS).

- DSML serialization support for com.novell.ldap.LDAPSearchResults.java class.

- Support for LDAP EffectivePrivilegesControl for NVDS.

- Added Junit test automation to verify thread safe of Java LDAP SDK code base. This basically tests thread safety in pool of LDAPConnection clones, while handling the client requests simultanously.

- Verified IntermediateResponse operation in Java LDAP SDK as per the standard.

#### Doc:

- Added information on Subordinate Subtree search scope.

- Added information on DSML serialization support for com.novell.ldap.LDAPSearchResults.java class.

### March 2005

#### Binaries:

- Added support for object based backup/restore extensions to Java LDAP SDK.

- Fixed the following defects:

  - javax.security.sasl either needs to be implemented per the specification, or our version needs to be repackaged into a Novell-named package (any Novell products using these will need to be fixed before using the new jar).

  - renameRDN sample could not move entry on ActiveDirectory.

#### Doc:

- Added information on object based backup/restore extensions in the LDAP Class for Java Extensions.

#### Sample:

- Added under the directory \pkg\samples\extensions, the GetLDAPBackupRestore.java sample for demonstrating the use of LDAP-based backup and restore APIs.

### October 2004

Updated the license.txt file. In addition, the following changes were made:

#### Binaries:

- Added Default DSML serialization support, which allows objects to be serialized by default in DSML.

#### Doc:

- Added documentation regarding the default DSML serialization support.

### June 2004

#### Binaries:

- Added LDAP Events Support.

#### Doc:

- Added information on the following classes:

- EntryEventData Class

- DSETimestamp Class

- ValueEventData Class

- DebugEventData Class

- DebugParameter Class

- ReferralAddress Class

- GeneralDSEventData Class

- BinderyObjectEventData Class

- SecurityEquivalenceEventData Class

- ModuleStateEventData Class

- NetworkAddressEventData Class

- ConnectionStateEventData Class

#### Sample:

- Added under the directory \javaldap\samples\controls the PersistenceSearchCallback.java sample for demonstrating Persistence Search.

- Added under the directory \javaldap\samples\extensions the EdirEventsCallback.java for demonstrating eDirectory legacy eventing.

- Added the Junit Test programs to automate the unit testing of eventing system (both PSearch and eDirectory Legacy eventing system in Java LDAP).

- Added under the directory \javaldap\tests\com\novell\ldap\test\common the JLDAPTestUtil.java sample for the Common Test Utility class.

- Added under the directory \javaldap\tests\com\novell\ldap\events these Persistence Search test classes:

- MockLDAPSourceTest.java

- MockPersistenceEventSource.java

- MockPsearchEventSourceTest.java

- PsearchEventSourceTest.java

- SelectiveTestSuite.java

- Added under the directory \javaldap\tests\com\novell\ldap\events\edir these eDirectory Legacy eventing system test classes:

- EdirEventGenerator.java

- EdirEventSourceTest.java

- MockEdirEventSource.java

- MockEdirEventTest.java

- MockEdirEventTest1.java

- MonitorEventRequestTest.java

- MonitorFilterEventRequestTest.java

### February 2004

Rebuilt all downloads to include changes to license.txt and Readme files. For detailed changes for each download, see the following sections:

#### Binaries:

- Implemented LBURP APIs.

- Added LDAPExtendedResponse.register method, which implements a generalized response factory for LDAP Extended Responses.

- Implemented the register method for the LDAPExtendedResponse class.

- Modified existing Extended Requests classes in Jldap to use LDAPExtendedresponse.register method to register the LDAPExtendedResponse classes.

- Implemented LDAP Intermediate Response draft (draft-rharrison-ldap-intermediate-resp-01.txt) Object Serialization.

- Fixed using Java to import an LDIF file.

- Fixed LDIFWriter to write multiple ldapmodification values.

#### Doc:

- No other changes.

#### Sample:

- Added sample program demonstrating use of LBURP API.

### October 2003

#### Binaries:

- Implemented Java SASL API (as defined in JSR28 - Java SASL Specificationin and draft-weltman-java-sasl-05.txt).

- Added NMAS_LOGIN SASL, DIGESTMD5 SASL, and EXTERNAL SASL mechanisms.

- Added HP-UX support.

- Added IETF draft 18 compliance.

#### Sample:

- Added new sample code for: MD5Bind, NMASBind, SaslExternal, and GetAttributeSchema.

### June 2003

Made the following changes:

- Made enhancements to the DSML parser.

- Added New Package, which contains classes to support connection pool management. These classes were previously located in the sample directory.

- Added accessor methods to the LDAPSearchRequest class, including a method to retrieve the search filter as parsed into its separate components.

### March 2003

Made the following updates:

- Improved search filter error checking. Filters can now include characters outside the ASCII set, which no longer need to be escaped.

- Added samples demonstrating a mechanism for connection pooling.

- Added support for reading and writing LDIF and DSML files (LDIF V1 API for LDAP and DSML V2 API for LDAP).

- Updated LDAPSearchQueue and LDAPResponseQueue to leverage a common class in handling the queue functionality.

- Updated Clone to work properly in all classes and updated Bind to allow a null-string password.

For more details, see the Readme.

### 18 November 2002

Fixed LDAPConnection.getCount() to return correct results as per the IETF specification: "Returns a count of the entries and exceptions in the object. If the search was submitted with a batch size greater than 0, this reports the number of results received so far but not enumerated with next()."

### September 2002

The LDAP Classes for Java now conform to the IETF specification for the API as defined in draft-ietf-ldapext-ldap-java-api-18.txt with the following exceptions:

- Classes do not yet implement Serializable.

- SASL bind functions are not yet implemented.

- The LDAPExtendedResponse class does not yet implement the register method.

Made the following updates:

- Changed the APIs for modifying schema: LDAPSchema now extends LDAPEntry, LDAPSchemaElement now extends LDAPAttribute. The same methods in LDAPConnection used for modifying the Attributes and Entries in the directory are used to modify schema.

- Updated LDAPException and LDAPUrl classes to conform the draft.

- Updated LDAPEntry and LDAPAttribute classes so that sorting is now done through the Java Collection Framework.

For further details, see the Readme.

Note: Because of the change to LDAPAttributeSet, the classes are not binary compatible with previous releases. You must recompile your applications to run with the September 2002 release.

### May 2002

Added the following features:

- IETF Draft 17 features (for details, see the readme)

- Implemented startTLS

- LDAP certification with Critical Path*

### February 2002

Added the following features (for more details, see the readme):

- Added code samples

- Renamed Naming Context APIs to use Replica and Partition terminology

- Updated the getBindDN extension

- Corrected memory leak that occurs when performing mutiple synchronous searches on the same connection

- Added LDAP Certification with iPlanet, Microsoft*, Computer Associates*, IBM*, Oracle*, OpenLDAP*, and Critical Path

In documentation, made the following changes:

- Added additional information on the com.novell.ldap and org.ietf.ldap packages

- Separated the com.novell.ldap and the org.ietf.ldap JavaDoc

- Updated SSL configuration instructions

- Enhanced the searching, referral, and exception handling sections of concepts

### September 2001

Added the following features:

- Performance enhancements

- Support for JSSE (for SSL support)

- IETF draft version 15 conformance

- Additional code samples for time stamp modification and a comprehensive search example

- LDAP Certification with iPlanet, Microsoft, Computer Associates, IBM, Oracle, and OpenLDAP

- LDAP 2000 support

In documentation, made the following changes:

- Revised the searching section and added additional information on search filters and LDAPBind and LDAPRebind

- Added information on the org.ietf.ldap package

- Added additional cross referencing and sample code linking to the JavaDoc

### June 2001

Added as a new NDK component.