embedded-ldap-junit
embedded-ldap-junit copied to clipboard
Bump com.unboundid:unboundid-ldapsdk from 6.0.6 to 7.0.1
Bumps com.unboundid:unboundid-ldapsdk from 6.0.6 to 7.0.1.
Release notes
Sourced from com.unboundid:unboundid-ldapsdk's releases.
UnboundID LDAP SDK for Java 7.0.1
We have just released version 7.0.1 of the UnboundID LDAP SDK for Java. It is available for download from GitHub and SourceForge, and it is available in the Maven Central Repository. You can find the release notes for this release (and all previous versions) at https://docs.ldap.com/ldap-sdk/docs/release-notes.html, but here’s a summary of the changes:
We added a new
MaximumIdleDurationLDAPConnectionPoolHealthCheckclass 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.createSubstringAssertionmethods 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
KeyStoreKeyManagerandTrustStoreTrustManagerclasses 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-updatetool 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-certificatestool 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-debugargument 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.setSystemPropertyIfNotAlreadyDefinedmethod 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.
UnboundID LDAP SDK for Java 7.0.0
We have just released version 7.0.0 of the UnboundID LDAP SDK for Java. It is available for download from GitHub and SourceForge, and it is available in the Maven Central Repository. You can find the release notes for this release (and all previous versions) at https://docs.ldap.com/ldap-sdk/docs/release-notes.html, but here’s a summary of the changes:
The LDAP SDK now requires Java 8 or later. Java 7 is no longer supported.
We improved the behavior of LDAP connection pools when they are configured to invoke a health check when checking out a connection from the pool. Previously, if a connection was found to be invalid during checkout, the LDAP SDK would create a new connection to replace it, but would continue iterating through other connections in the pool trying to find an existing valid connection. It will now return the newly created connection immediately without checking other existing connections, which can substantially reduce the time to check out a connection in a scenario where many connections have been invalidated (e.g., by a server shutdown).
We added a new
compare-ldap-schemascommand-line tool that can be used to identify differences between the schemas of two LDAP servers.We improved the behavior that the LDAP SDK uses when authenticating with the GSSAPI SASL mechanism. Previously, if you didn’t explicitly provide a JAAS configuration file to use for the attempt, the LDAP SDK would create a new one for each bind attempt. This would create a lot of temporary files that would need to be cleaned up when the JVM exited, and they might not get cleaned up properly if they JVM exits abnormally (e.g., it’s killed or if the JVM crashes). It would also require a small amount of additional memory for each bind attempt, since it has to remember another file to be deleted. Now, the LDAP SDK will be able to reuse the same generated configuration file for all GSSAPI bind requests that use the same JAAS settings, which will slightly improve performance, reduce memory usage, and reduce disk space consumption.
We added experimental client-side support for the relax rules support as defined in draft-zeilenga-ldap-relax-03. This draft doesn’t specify an OID for the control, but at least a couple of servers (OpenLDAP and ForgeRock OpenDJ) have implemented support for the control with an OID of 1.3.6.1.4.1.4203.666.5.12, so the LDAP SDK uses that OID for the control.
We added client-side support for a number of proprietary controls used by the ForgeRock OpenDJ directory server. These include:
- A transaction ID request control, which can be included in an operation request to provide a transaction ID that will appear in the access log message for that operation.
- A replication repair request control, which can be included in a write request to indicate that the associated change should not be replicated.
- Change sequence number request and response controls, which can be used with a write operation to obtain the replication CSN that the server assigned to that operation.
- Affinity request control, which can be included in related requests sent through an LDAP proxy server to consistently route them to the same LDAP server instance.
We added connection pool health checks for use in conjunction with the Ping Identity Directory Server, including:
- One that will attempt to determine whether there are any active alerts in the server that cause it to consider itself to be either degraded or unavailable.
- One that will assess the replication backlog and can consider a server unavailable if it has too many outstanding changes, or if the oldest outstanding change was originally processed too long ago.
- One that will attempt to determine whether the server is in lockdown mode.
We updated the
CryptoHelperclass to add convenience methods for generating SHA-256, SHA-384, and SHA-512 digests from byte arrays, strings, and files. There are also generic versions of these methods that can be used with user-specified digest algorithms.
... (truncated)
Changelog
Sourced from com.unboundid:unboundid-ldapsdk's changelog.
<div align="right">${TARGET="offline"} LDAP SDK Home Page ${TARGET="offline"} Product Information
<h2>Release Notes</h2><h3>Version 7.0.2</h3>&lt;p&gt; The following changes were made between the 7.0.1 and 7.0.2 releases: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; Added a new PropertyManager class that can be used to retrieve the values of system properties or environment variables, optionally parsing the values as Booleans, numbers, or comma-delimited lists. Most uses of system properties within the LDAP SDK have been updated to use the PropertyManager, so those properties can now be set as environment variables as an alternative to Java system properties. &lt;br&gt;&lt;br&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;/p&gt; &lt;h3&gt;Version 7.0.1&lt;/h3&gt; &lt;p&gt; The following changes were made between the 7.0.0 and 7.0.1 releases: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; 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
... (truncated)
Commits
b3aa7b0Update the OID registry45c422fAdd method for setting property if not defineded92d12Set FIPS-related props if appropriate in Ping DS7f26eabChange --helpDebug to --help-debug06d4170Add command-line tool debugging supportfde3b8aFix a message typo0d1ba3cImprove verify password documentation858ec6cAdd a verify password extended request09f70eaImprove in-memory directory server concurrencyefd0cc6Add Filter.createSubstringAssertion methods- Additional commits viewable in compare view
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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)