Version 3.1.0.1

Bug fixes

  • Fixed a bug which could cause ldap.connection alarms to remain active after the connection had been restored in configurations where multiple LDAP RA entities talk to the same server. (LDAP-171)

Version 3.1.0.0

New Features

  • Add support for Add, Modify, ModifyDN, Delete and Compare LDAP operations. (LDAP-93)

API and Deployment Changes

  • Update component versions to 3.1.

  • Changes to resource adaptor type API for new LDAP operations:

    • Add a new interface LDAPAddRequest that represents a given set of criteria for the add operation.

    • Add a new interface LDAPModification that represents a data structure for holding information about an LDAP modification.

    • Add a new class LDAPModificationType that represents a data type for modification type values.

    • Add a new interface LDAPModifyRequest that represents a given set of criteria for the modify operation.

    • Add a new interface LDAPModifyDNRequest that represents a given set of criteria for the modifyDN operation.

    • Add a new interface LDAPDeleteRequest that represents a given set of criteria for the delete operation.

    • Add a new interface LDAPCompareRequest that represents a given set of criteria for the compare operation.

    • Add a new interface LDAPCompareResultEvent that represents the result for an LDAP compare operation.

    • Add a new interface LDAPMessageFactory that provides methods for creating LDAP objects.

    • Add a new interface LDAPRequestActivity for an outgoing request activity, common to all LDAP operations.

  • Other improvements to resource adaptor type API:

    • Add a new method getMessageFactory() to LDAPProvider interface that returns an LDAP message factory implementation to be used to create LDAP objects.

    • Add a new method sendRequest(…​) to LDAPProvider interface that returns a new LDAP request activity created in the SLEE and performs the LDAP operation specified by the given request.

    • Remove old methods createBindRequest(…​) and createSearchRequest(…​) from LDAPProvider interface, moved to new interface LDAPMessageFactory.

    • Remove old methods sendBindRequest(…​) and sendSearchRequest(…​) from LDAPProvider interface, replaced by the new common method sendRequest(…​).

    • Add a new common method getActivityContextInterface(…​) to LDAPActivityContextInterfaceFactory interface that returns an ACI for a given LDAP request activity.

    • Add a new utility method isSuccess() to LDAPResultEvent class that returns whether the LDAP operation was successful.

    • Rename method that returns the result code of the LDAP operation to getResultCode() in LDAPResultEvent class.

    • Add a new utility method getFirstEntry() to LDAPSearchResult class that returns the first entry from the result entries returned for the search operation.

  • Changes to resource adaptor event types:

    • Add a set of new event types for Add, Modify, ModifyDN, Delete and Compare LDAP operations.

    • Remove old event type com.opencloud.slee.resources.ldap.LDAPBindResultEvent, replaced by the new event type com.opencloud.slee.resources.ldap.LDAPResultEvent.Bind for consistency.

  • Rename several config properties because operations are no longer search-specific: SearchMinConnections to MinConnections, SearchMaxConnections to MaxConnections, SearchIdleTimeout to IdleTimeout and MaxSearchesPerConnection to MaxQueriesPerConnection. These config properties apply to all query types except bind queries.

  • Rename statistic parameter set LDAPSearchStats to LDAPStats. The parameter set contains statistics for all query types except bind queries.

  • Rename TimeLimit configuration property to SearchTimeLimit for clarity. The configuration property applies to LDAP search operations only. (LDAP-145)

Bug fixes

  • Allow bind operations to have non-empty DN and empty password (unauthenticated simple binds). This is available through a new configuration property AllowUnauthenticatedBind (disabled by default). (LDAP-80)

  • Fix a problem where deactivating a resource adaptor entity did not free all resources. (LDAP-85)

  • Fix a bug that could cause idle connections in the pool to not be closed. (LDAP-148)

  • Fix a bug where the polled LDAP connections did not automatically try to reconnect to the server on the next query after the connection was lost. (LDAP-157)

Improvements

  • Add new configuration properties: BindCheckConnectionAgeOnRelease and BindHealthCheckInterval. (LDAP-151)

Version 3.0.0

New Features

  • Replace the old LDAP Mozilla 4.18 library with new UnboundID LDAP SDK library 3.0.0. Remove the LDAP SLEE library, as it is no longer used by the RA. (LDAP-29)

  • Add support for performing a bind operation with given credentials. (LDAP-60)

  • Add SSL/TLS and StartTLS secure transport support. (LDAP-33)

  • Add support for active reconfiguration. Most configuration properties can now be updated while the RA entity is active. (See documentation for full list.)

API and Deployment Changes

  • Update component versions to 3.0.

  • Define a new resource adaptor type API for convenient search operations and support for new features:

    • Remove the redundant classes that are no longer used by the resource adaptor: AttributeSet, SearchConstraints and Connection.

    • Add a new class LDAPSearchScope that represents a data type for search scope values.

    • Add a new interface LDAPSearchRequest that represents a given set of criteria for the search operation.

    • Add a new interface LDAPBindRequest that represents a given set of criteria for the bind operation.

    • Add a new interface LDAPRequest that represents a base interface for LDAP requests LDAPSearchRequest and LDAPBindRequest.

    • Add a new interface LDAPBindActivity that represents an outgoing bind activity, created when an application sends an LDAP bind request.

    • Add a new interface LDAPActivity that represents a base interface for LDAP activities LDAPSearchActivity and LDAPBindActivity.

    • Add a new interface LDAPResultEvent that represents a data structure for holding the elements that are common to LDAP responses.

    • Add a new interface LDAPBindResultEvent that represents the result for an LDAP bind operation.

    • Add a new class LDAPException used when general errors occurs, and as a superclass of other LDAP exceptions.

    • Add a new class LDAPBindException called when the LDAP client cannot perform an LDAP bind operation.

    • Make all LDAP class names begin with "LDAP" for consistency.

  • Define four new methods on the LDAP Provider:

    • createSearchRequest(…​) takes a given set of criteria and returns a new LDAP Search Request, which can be used to perform the search operation.

    • sendSearchRequest(…​) returns a new LDAP Search Activity created in the SLEE and performs the search specified by the criteria in the given LDAP Search Request.

    • createBindRequest(…​) takes a given set of criteria and returns a new LDAP Bind Request, which can be used to perform the bind operation.

    • sendBindRequest(…​) returns a new LDAP Bind Activity created in the SLEE and performs the bind specified by the criteria in the given LDAP Bind Request.

  • Change config properties due to the above:

    • Remove LDAPVersion config property. The only LDAP version supported is v3.

    • Switch from seconds to milliseconds for ConnectionTimeout config property.

    • Specify default values for PollSearchFilter ("(objectclass=*)") and PollSearchScope ("base") config properties.

    • Add support for new config properties: AbandonOnTimeout, BindMinConnections, BindMaxConnections, BindMaxConnectionAge, MaxMessageSize, ReceiveBufferSize, SendBufferSize, TimeLimit and UseSchema.

    • Rename following config properties: IdleTimeout to SearchIdleTimeout, MinConnections to SearchMinConnections, MaxConnections to SearchMaxConnections and MaxQueriesPerConnection to MaxSearchesPerConnection.

    • Add support for new SSL/TLS and StartTLS config properties: CertificateKeyStore, CertificateKeyStorePassword, CipherSuites, SSLSessionTimeout, TransportSecurity, TrustKeyStore and TrustKeyStorePassword.

    • Fix the verification of values specified for config properties. The post-update value verification is performed now for all config properties.

  • Define three new statistic parameter sets: LDAPSearchStats, LDAPBindStats and LDAPWorkerPoolStats. Remove the old statistic parameter set LDAPStats. (See documentation for more details.)

  • Don’t expose internal LDAP library classes to services.

Improvement

  • Include the alarm raised by this resource adaptor in the runtime alarm catalogue. (LDAP-13)

Version 2.2

  • Include an example service to send queries to an LDAP server. (LDAP-15)

  • Added a configuration property PollSuccessResultCodes to specify a list of result codes that should not be treated as poll failures. (LDAP-14)

  • The library component ID has changed to: "name=LDAP,vendor=OpenCloud,version=2.2" (LDAP-16)

  • File names now use OpenCloud’s standard build numbering scheme.

  • Component versions have been updated to 2.2 and will stay aligned with the package version.

  • Add a new method to the LDAP Search Result Event that returns the "Matched DN" for failed searches (the subset of the search DN that could be found). (LDAP-20)

Version 2.1

  • Added two config properties (PollSearchFilter and PollSearchScope) to specify the LDAP search filter and scope that will apply to the PollDN (LDAP-10).

  • Close monitor connections when RA is deactivated. (LDAP-8)

  • Fixed a bug that caused classloader leaks when deactivating the RA entity. (LDAP-2)

  • RA component version updated to 2.1

Version 2.0

  • Update RA to support SLEE 1.1

  • All component versions updated to 2.0.

Version 1.1

  • Updated internal LDAP library from 4.1 to 4.18 version. This solves a problem with connections hanging when deactivating an RA entity.

  • Add library security permissions to be able to allow reconnects when connections are closed by a firewall.

  • RA component version updated to 1.1.