<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to Discussion</title><link>https://sourceforge.net/p/ldap-sdk/discussion/</link><description>Recent posts to Discussion</description><atom:link href="https://sourceforge.net/p/ldap-sdk/discussion/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 05 Dec 2025 16:34:08 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ldap-sdk/discussion/feed.rss" rel="self" type="application/rss+xml"/><item><title>UnboundID LDAP SDK for Java 7.0.4</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/245f4b65ed/?limit=25#d8da</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;We have just released version 7.0.4 of the &lt;a class="" href="https://github.com/pingidentity/ldapsdk" rel="nofollow"&gt;UnboundID LDAP SDK for Java&lt;/a&gt;. It is available for download from &lt;a class="" href="https://github.com/pingidentity/ldapsdk/releases" rel="nofollow"&gt;GitHub&lt;/a&gt; and &lt;a class="" href="https://sourceforge.net/projects/ldap-sdk/files/"&gt;SourceForge&lt;/a&gt;, and it is available in the &lt;a class="" href="https://central.sonatype.com/artifact/com.unboundid/unboundid-ldapsdk/7.0.4" rel="nofollow"&gt;Maven Central Repository&lt;/a&gt;. You can find the release notes for this release (and all previous versions) at &lt;a href="https://docs.ldap.com/ldap-sdk/docs/release-notes.html" rel="nofollow"&gt;https://docs.ldap.com/ldap-sdk/docs/release-notes.html&lt;/a&gt;, but here’s a summary of the changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We added a “discard results” search result listener that can be used in cases where a search should be performed, but the actual matching entries and references aren’t needed (for example, if you only need to know the number of matching entries).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We added client-side support for a W3C trace context request control that can be included in requests sent to the latest versions of the Ping Identity Directory Server or ForgeRock Directory Services. This can be used to convey information for use in distributed tracing (e.g., via OpenTelemetry).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We improved debug logging when adding or removing servers from the blacklist used to temporarily avoid creating connections to a server when using the round robin and fewest connections server set.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated the &lt;code&gt;PropertyManager&lt;/code&gt; class to make it possible to cache property values for faster access with less contention. Caching is disabled by default, although you can enable it by specifying a maximum cache duration. You can also programmatically clear the cache and pre-populate the cache based on currently defined system properties and environment variables.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We improved performance and reduced contention when retrieving the values of environment variables from the JVM process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated the documentation to include the latest revisions of draft-bouchez-scram-mcf and draft-codere-ldapsyntax in the set of LDAP-related specifications.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neil Wilson</dc:creator><pubDate>Fri, 05 Dec 2025 16:34:08 -0000</pubDate><guid>https://sourceforge.neta29c05ef985b7119f2bde81e444f273173969f17</guid></item><item><title>UnboundID LDAP SDK for Java 7.0.3</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/0cae369994/?limit=25#dc30</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;We have just released version 7.0.3 of the &lt;a class="" href="https://github.com/pingidentity/ldapsdk" rel="nofollow"&gt;UnboundID LDAP SDK for Java&lt;/a&gt;. It is available for download from &lt;a class="" href="https://github.com/pingidentity/ldapsdk/releases" rel="nofollow"&gt;GitHub&lt;/a&gt; and &lt;a class="" href="https://sourceforge.net/projects/ldap-sdk/files/"&gt;SourceForge&lt;/a&gt;, and it is available in the &lt;a class="" href="https://central.sonatype.com/artifact/com.unboundid/unboundid-ldapsdk/7.0.3" rel="nofollow"&gt;Maven Central Repository&lt;/a&gt;. You can find the release notes for this release (and all previous versions) at &lt;a href="https://docs.ldap.com/ldap-sdk/docs/release-notes.html" rel="nofollow"&gt;https://docs.ldap.com/ldap-sdk/docs/release-notes.html&lt;/a&gt;, but here’s a summary of the changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We fixed an issue in which the LDAP SDK did not properly handle certificates with a notBefore or notAfter timestamp that fell in the year 2049 if that timestamp was encoded with the antiquated UTCTime syntax (which only uses two digits to encode the year). It incorrectly used a year of 1949 instead of 2049.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated the &lt;code&gt;ldifmodify&lt;/code&gt; tool so that it will report an error if any of the &lt;code&gt;sourceLDIF&lt;/code&gt;, &lt;code&gt;changesLDIF&lt;/code&gt;, or &lt;code&gt;targetLDIF&lt;/code&gt; arguments refer to the same file. Previously, the tool would run, but could yield incomplete results if an input file was also used as an output file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated the IP address argument value validator to improve performance and to catch additional types of malformed IPv4 addresses that were previously accepted due to leniency in Java’s &lt;code&gt;InetAddress.getByName&lt;/code&gt; implementation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We simplified and improved the &lt;code&gt;toLowerCase&lt;/code&gt;, &lt;code&gt;toUpperCase&lt;/code&gt;, and &lt;code&gt;getBytes&lt;/code&gt; methods in the &lt;code&gt;StaticUtils&lt;/code&gt; class. The former implementations were more efficient than the versions provided in the Java String class in older Java versions when primarily dealing with ASCII strings, but this is no longer the case in newer versions of Java where strings are backed by byte arrays rather than character arrays.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated client-side support for the Ping-proprietary transaction settings request control to make it possible to request that the server acquire a lock using a client-specified scope under a specified set of conditions. This allows more control in the event of lock conflicts in cases where the client is able to determine which operations are most likely to conflict with each other. For example, in a multi-tenant server, it may be useful to specify a scope that includes a tenant-specific identifier so that only operations associated with that tenant will be affected by the scoped lock.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We also updated the transaction settings request control to make it possible to override the conditions under which the server may attempt to acquire a single-writer lock. This was previously only controlled through the server configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We improved error reporting in the dump-dns tool for use with the Ping Identity Directory Server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated client-side support for the Ping Identity Directory Server’s version monitor entry to handle attributes used to indicate whether the server is running in FIPS 140-2-compliant or FIPS 140-3-compliant mode.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated the documentation to include the newest versions of the draft-bucksch-sasl-passkey, draft-bucksch-sasl-rememberme, draft-codere-ldapsyntax, draft-ietf-kitten-sasl-ht, draft-ietf-kitten-sasl-rememberme, and draft-schmaus-kitten-sasl-ht specifications.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neil Wilson</dc:creator><pubDate>Mon, 16 Jun 2025 19:32:34 -0000</pubDate><guid>https://sourceforge.netc6eb9a6015a3b26a9bae84c76d77f74fc303266e</guid></item><item><title>Understanding LDAPListenerClientConnection.java and SearchTransforemers</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/6fa6a4d124/?limit=25#b7d9</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I assume that you’re asking about SSL-encrypted client connections using the LDAP SDK. In that case, there are two ways to do it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you’re creating individual connections, then you’ll want to use a constructor that allows you to provide a SocketFactory, and then use SSLUtil to create an instance of an SSLSocketFactory.&lt;/li&gt;
&lt;li&gt;If you’re creating a connection pool, then you’ll probably want to use a ServerSet to create the connections, and you would configure your ServerSet with the appropriate SSLSocketFactory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can find the class-level documentation for the SSLUtil class at &lt;a href="https://docs.ldap.com/ldap-sdk/docs/javadoc/index.html?com/unboundid/util/ssl/SSLUtil.html" rel="nofollow"&gt;https://docs.ldap.com/ldap-sdk/docs/javadoc/index.html?com/unboundid/util/ssl/SSLUtil.html&lt;/a&gt;, and it has a pretty good description of what’s involved, as well as a couple of code examples.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neil Wilson</dc:creator><pubDate>Tue, 21 Jan 2025 17:33:18 -0000</pubDate><guid>https://sourceforge.net78af30098ff76711234318cb8faff8a3e7e10e66</guid></item><item><title>Understanding LDAPListenerClientConnection.java and SearchTransforemers</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/6fa6a4d124/?limit=25#f19e</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Thank you  so much. That helped a lot. Could you please tell how can I connect to LDAP server with SSL?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sammy</dc:creator><pubDate>Mon, 20 Jan 2025 11:43:43 -0000</pubDate><guid>https://sourceforge.neteee374a6875dfb849302a1eb066b0bde5193b1f5</guid></item><item><title>Understanding LDAPListenerClientConnection.java and SearchTransforemers</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/6fa6a4d124/?limit=25#d60d</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;To do this, you’ll create your own custom LDAPListenerRequestHandler, not unlike the ProxyRequestHandler. You can absolutely use that as your model for creating your new version.&lt;/p&gt;
&lt;p&gt;The LDAPListener framework would handle all of the work of accepting connections, creating an LDAPListenerClientConnection for each of them, and in the process would invoke your request handler’s newInstance method so that you can create an instance of your request handler that is specifically intended for dealing with communication with that one client. You’d want to have a member variable in your request handler that allows you to keep a handle to the LDAPListenerClientConnection provided to the newInstance method so that you can use it if you need to send back things like search result entries, search result references, or intermediate responses.&lt;/p&gt;
&lt;p&gt;Whenever the client submits a request, then the LDAPListnerClientConnection will read and decode that request, and will then invoke the appropriate method in your request handler based on the type of requested operation. For example, if the client sends a search request, then the LDAPListenerClientConnection will invoke your request handler’s processSearchRequest method. That method can then communicate with the two external sources that you want to aggregate to identify the appropriate content to return. For each entry you want to send back to the client, then you’d call the LDAPListenerClientConnection.sendSearchResultEntry method on the connection used to create that instance of your request handler. And when you’ve sent all entries, or if an error occurs during processing that prevents it from continuing, then your processSearchRequest would return an LDAPMessage that represents the final search result done message to return to the client.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neil Wilson</dc:creator><pubDate>Thu, 16 Jan 2025 19:13:29 -0000</pubDate><guid>https://sourceforge.net2f0f38ada53488cf0a2664db76be22e8f53c1243</guid></item><item><title>Understanding LDAPListenerClientConnection.java and SearchTransforemers</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/6fa6a4d124/?limit=25#ec6e</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;How can I create something like ProxySearchResultListner I need to send the data back to client. Is it possible to do  other than using LDAPListnerClientConnection&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sammy</dc:creator><pubDate>Thu, 16 Jan 2025 16:34:20 -0000</pubDate><guid>https://sourceforge.net94291303885c4d6706c73d1f7be45a16bed94b19</guid></item><item><title>Understanding LDAPListenerClientConnection.java and SearchTransforemers</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/6fa6a4d124/?limit=25#a9a8</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ahh okay... Is there any way I can access it? &lt;/p&gt;
&lt;p&gt;Actually I have a requirement where I need to create a proxy which will receive the query and in turn query two ldap datasource, combine the data with few attributes added and send the data back to client. I came across the ProxyRequestHandler and I wanted to create something similar to it. Over there I came across this class. Could you please help me here...I should I approach this&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sammy</dc:creator><pubDate>Thu, 16 Jan 2025 15:58:12 -0000</pubDate><guid>https://sourceforge.net8d9a78be7918fbed0139623e39ccff7109a2f0e6</guid></item><item><title>Understanding LDAPListenerClientConnection.java and SearchTransforemers</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/6fa6a4d124/?limit=25#b445</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;You shouldn’t be creating LDAPListenerClientConnection objects in your code. LDAPListenerClientConnection instances should only be created by LDAPListener, and they’re used to maintain all the state around a client connection that is established to the LDAPListener. And in the course of creating an LDAPListenerClientConnection, it calls LDAPListenerRequestHandler.newInstance to create a new instance of the request handler that is specifically to be used in interacting with that connection.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neil Wilson</dc:creator><pubDate>Thu, 16 Jan 2025 15:36:03 -0000</pubDate><guid>https://sourceforge.net822835a4b3ef2113ff31e907560cd717af6b8dd5</guid></item><item><title>Understanding LDAPListenerClientConnection.java and SearchTransforemers</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/6fa6a4d124/?limit=25#acf8</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hello all,&lt;br/&gt;
I want to understand the class LDAPListenerClientConnection.java. The class takes a LDAPListner object socket and a requestHandler. As I have seen we already pass the socket and the requestHandler detail while creating LDAPListnerConfig object which we pass to LDAPListner to create its object. Am I understanding this correct or the socket and requestHandler here are something different 🤔&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sammy</dc:creator><pubDate>Thu, 16 Jan 2025 11:28:17 -0000</pubDate><guid>https://sourceforge.netfc9b1579ce696c0e8c9a0115588477b42adef200</guid></item><item><title>UnboundID LDAP SDK 7.0.2</title><link>https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/ca88928df3/?limit=25#9800</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;We have just released version 7.0.2 of the &lt;a class="" href="https://github.com/pingidentity/ldapsdk" rel="nofollow"&gt;UnboundID LDAP SDK for Java&lt;/a&gt;. It is available for download from &lt;a class="" href="https://github.com/pingidentity/ldapsdk/releases" rel="nofollow"&gt;GitHub&lt;/a&gt; and &lt;a class="" href="https://sourceforge.net/projects/ldap-sdk/files/"&gt;SourceForge&lt;/a&gt;, and it is available in the &lt;a class="" href="https://central.sonatype.com/artifact/com.unboundid/unboundid-ldapsdk/7.0.2" rel="nofollow"&gt;Maven Central Repository&lt;/a&gt;. You can find the release notes for this release (and all previous versions) at &lt;a class="" href="https://docs.ldap.com/ldap-sdk/docs/release-notes.html" rel="nofollow"&gt;https://docs.ldap.com/ldap-sdk/docs/release-notes.html&lt;/a&gt;, but here’s a summary of the changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We added support for using the 2.x version of the Bouncy Castle FIPS-compliant security provider, which provides support for FIPS 140-3 compliance. The 1.x version of the library, offering FIPS 140-2 compliance, is still supported. To use the LDAP SDK in this mode, you should ensure that the necessary jar files are in the classpath, and then you should call &lt;code&gt;CryptoHelper.setUseFIPSMode("BCFIPS2")&lt;/code&gt; as early as possible in the life of the application.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We added a new &lt;code&gt;PropertyManager&lt;/code&gt; class that can be used to retrieve the value of specified properties using either system properties or environment variables. Values can be optionally parsed as Booleans, numbers, or comma-delimited lists. Most uses of system properties within the LDAP SDK have been updated to support the new &lt;code&gt;PropertyManager&lt;/code&gt; mechanism so that it’s possible to set values as environment variables as an alternative to system properties.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We fixed a bug in the &lt;code&gt;SSLUtil.certificateToString&lt;/code&gt; method that prevented it from including the notBefore and notAfter timestamps in the string representation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We added client-side support for the Ping Identity Directory Server’s new to-be-deleted accessibility state for use with the get subtree accessibility and set subtree accessibility extended operations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We updated the &lt;code&gt;MoveSubtree&lt;/code&gt; utility class to provide the ability to use the new to-be-deleted accessibility state (as an alternative to the hidden state) for the target subtree before starting to remove entries from the source server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We added a new &lt;code&gt;SubtreeAccessibilityState.isMoreRestrictiveThan&lt;/code&gt; method that can be used to determine whether one accessibility state is considered more restrictive than another.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Updated the documentation to include the latest versions of the following LDAP-related specifications:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;draft-coretta-ldap-subnf-01&lt;/li&gt;
&lt;li&gt;draft-coretta-oiddir-radit&lt;/li&gt;
&lt;li&gt;draft-coretta-oiddir-radsa&lt;/li&gt;
&lt;li&gt;draft-coretta-oiddir-radua&lt;/li&gt;
&lt;li&gt;draft-coretta-oiddir-roadmap&lt;/li&gt;
&lt;li&gt;draft-coretta-oiddir-schema&lt;/li&gt;
&lt;li&gt;draft-ietf-kitten-scram-2fa&lt;/li&gt;
&lt;li&gt;draft-melnikov-sasl2&lt;/li&gt;
&lt;li&gt;draft-melnikov-scram-bis&lt;/li&gt;
&lt;li&gt;draft-melnikov-scram-sha-512&lt;/li&gt;
&lt;li&gt;draft-melnikov-scram-sha3-512&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neil Wilson</dc:creator><pubDate>Wed, 04 Dec 2024 21:18:06 -0000</pubDate><guid>https://sourceforge.netfed400671d7eb23fe6d7e617bb2a1393bb9e60e4</guid></item></channel></rss>