Change Log: LDAP Classes for Java - Unix and Linux

### 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.