We added a new MaximumIdleDurationLDAPConnectionPoolHealthCheck class that can be used to replace connections that have remained idle for longer than a specified length of time. We generally recommend setting a maximum connection age for the pool so that connections are automatically replaced after a given amount of time regardless of their activity, but the new health check can be used as an alternative if you want to keep active connections around as long as possible while also ensuring that idle connections are closed by the LDAP SDK before they might be closed by the LDAP server or by intermediate network equipment.
We updated the in-memory directory server to improve its concurrency when processing operations that don’t need to make changes to the data, including binds, searches, and compares.
We added new Filter.createSubstringAssertion methods that can be used to create properly encoded string representations of substring assertions. This can be particularly helpful when you want to create an extensible matching filter using a substring matching rule.
We updated the KeyStoreKeyManager and TrustStoreTrustManager classes to make it possible to use an alternative security provider when accessing the associated key or trust store. We’ve also made it possible to indicate whether the LDAP SDK should be allowed to access non-FIPS-compliant key stores when operating in FIPS 140-2-compliant mode.
We fixed an issue in which the parallel-update tool would use an in-memory buffer to hold information about information to write to the reject file, but it would not automatically flush that buffer when changes are rejected. In some cases, this could introduce a significant delay between the time that a change is rejected and the time that a record of it was written to the specified log file.
We fixed an issue with the manage-certificates tool that could prevent it from accessing the JVM’s default trust store in cases where the LDAP SDK is operating in FIPS 140-2-compliant mode and the tool is invoked programmatically (as opposed to running it from the command line).
We updated the command-line tool framework to make it possible for tools to expose arguments for generating a debug log file. All of the tools included with the LDAP SDK have been updated to provide this option, and you can use the --help-debug argument to see the applicable arguments.
We updated the debug logging framework to make it possible to write debug messages, which are formatted as JSON objects, using a multi-line representation rather than the default single-line representation. People looking at the log messages may find the multi-line format easier to read.
We added a new StaticUtils.setSystemPropertyIfNotAlreadyDefined method that can be used to set the value of a specified system property in the JVM, but only if it’s not already set (in which case its current value will be preserved).
We added client-side support for a new “verify password” extended request in the Ping Identity Directory Server that properly authorized clients (under a restricted set of circumstances) can use to determine whether a given password is valid for a specified user without performing any other password policy processing.
We updated the OID registry to include records for a number of collation matching rules supported in the Ping Identity Directory Server, ForgeRock OpenDJ, Oracle OUD, and other servers.
${TARGET="offline"} LDAP SDK Home Page
${TARGET="offline"}
Product Information
<h2>Release Notes</h2>
<h3>Version 7.0.1</h3>
<p>
The following changes were made between the 7.0.0 and 7.0.1 releases:
</p>
<ul>
<li>
Added a new LDAP connection pool health check that can be used to replace
connections that have remained idle for longer than a specified length of time.
This is primarily useful in cases where the associated directory servers (or
intermediate networking equipment) may terminate connections that have remained
idle for too long. Note that in connection pools that may contain connections
across multiple servers, you should probably set a maximum connection age for the
pool rather than using this health check, as this will better allow the pool to
return to a balanced state more quickly after a failure has caused connections to
migrate away from one or more servers. Also note that health checks that attempt
to actually communicate with the associated server over LDAP may be preferred
over this health check because not only will they do a better job of ensuring
that connections are actually usable, but the communication that they perform
will also prevent the connections from being seen as idle.
<br><br>
</li>
<li>
Updated the in-memory directory server to improve its concurrency when performing
operations that don't need to make changes to the data.
<br><br>
</li>
<li>
Added createSubstringAssertion methods to the filter class, which make it easier
to construct the string representation of a substring assertion with a given
combination of subInitial, subAny, and/or subFinal elements. This can be helpful
for creating the assertion value for an extensible matching filter for use with a
substring matching rule.
<br><br>
</li>
<li>
Updated the KeyStoreKeyManager and TrustStoreTrustManager classes to make it
possible to use alternative security providers when accessing key store files. It
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps com.unboundid:unboundid-ldapsdk from 7.0.0 to 7.0.1.
Release notes
Sourced from com.unboundid:unboundid-ldapsdk's releases.
Changelog
Sourced from com.unboundid:unboundid-ldapsdk's changelog.
... (truncated)
Commits
b3aa7b0
Update the OID registry45c422f
Add method for setting property if not defineded92d12
Set FIPS-related props if appropriate in Ping DS7f26eab
Change --helpDebug to --help-debug06d4170
Add command-line tool debugging supportfde3b8a
Fix a message typo0d1ba3c
Improve verify password documentation858ec6c
Add a verify password extended request09f70ea
Improve in-memory directory server concurrencyefd0cc6
Add Filter.createSubstringAssertion methodsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show