Json2Ldap changelog

version 3.6 (2023-07-03)

  • Updates the minimum required Java Servlet API to 4.0.1 to enable installation of Json2Ldap add-ons with Servlet annotations.

version 3.5.1 (2023-06-12)

  • Updates UnboundID LDAP SDK to 6.0.8.
  • Updates JSON Smart to 2.4.10.

version 3.5 (2023-03-10)

  • Adds JSON-RPC 2.0 error to HTTP status code mapping. LDAP errors receive the HTTP status code 460, Json2Ldap API specific errors 461, access denied class of errors codes 401 and 403, JSON-RPC 2.0 core errors 400 (with -32603 Internal error receiving 500).
  • New optional json2ldap.api.disableErrorCodeMapping configuration property to disable the introduced JSON-RPC 2.0 error to HTTP status code mapping with a default value of false. When disabled the Json2Ldap API will revert to previous behaviour where all JSON-RPC 2.0 errors are encapsulated in HTTP 200 Success responses.
  • Upgrades to NimbusDS Common to 2.51.
  • Updates JSON Smart to 2.4.8.
  • Updates Log4j to 2.20.0 (web to 2.19.0).
  • Adds Nimbus JOSE+JWT 9.31.

version 3.4.8 (2022-01-13)

  • Web.xml version fix.

version 3.4.7 (2022-01-13)

  • Fixes dependency packaging for JSON Smart 2.4.7.

version 3.4.6 (2022-01-12)

  • Fixes the compilation target for Java 8.

version 3.4.5 (2022-01-11)

  • Updates Log4j to 2.17.1.

version 3.4.4 (2021-12-22)

  • Reverts UnboundID LDAP SDK to 5.1.4.
  • Updates Log4j to 2.17.0.
  • Updates JSON-RPC 2.0 Access Filter to 1.7.1.

version 3.4.3 (2021-12-16)

  • Updates Log4j to 2.16.0.
  • Updates UnboundID LDAP SDK to 6.0.3.
  • Updates JSON Smart to 2.4.7.
  • Updates JSON-RPC 2.0 Access Base to 2.0.
  • Updates JSON-RPC 2.0 Access Server to 1.11.1.
  • Updates JSON-RPC 2.0 Access Filter to 1.7.
  • Updates Property Utils to 1.14.
  • Updates CORS Filter to 2.10.

version 3.4.2 (2021-12-10)

  • Updates JSON Smart to 1.3.3.
  • Updates Log4j to 2.15.0.

version 3.4.1 (2020-10-22)

  • Fixes software version in web.xml display-name.

version 3.4 (2020-10-22)

  • Adds alternative ldap.delete call where the entry to delete is specified by a named parameter "LDIF" containing a LDIF string of change type DELETE.
  • Updates UnboundID LDAP SDK to 5.1.1.

version 3.3.1 (2020-03-07)

  • Upgrades JSON-RPC 2.0 Access Filter to 1.6 to enable Java system properties override for json2ldap.access.*.
  • Updates UnboundID LDAP SDK to 5.0.0.

version 3.3 (2020-02-24)

  • Enables Json2Ldap to be configured with Java system properties, overriding settings in the "json2ldap.properties" file.
  • Updates /WEB-INF/log4j.xml to support console logging. To log to the console (stdout) set the "log4j.loggers.root.appender" Java system property to "console". To set the logging level set the "log4j.loggers.root.level" Java system property to the desired level, e.g. to "debug", ""info", "warn", or "error". The default level is "info".
  • Updates UnboundID LDAP SDK to 4.0.14.
  • Updates NimbusDS Common to 2.37.
  • Updates Property Utils to 1.14.
  • Updates CORS Filter to 2.9.
  • Updates Log4j to 2.13.0.

version 3.2 (2017-08-25)

  • Upgrades to Java 8.
  • Upgrades UnboundID LDAP SDK to 4.0.0.
  • Upgrades NimbusDS Common to 2.6.
  • Renames /WEB-INF/exampleDirectory* to /WEB-INF/sampleDirectory*
  • Renames sample directory properties to sampleDirectory.*

version 3.1.1 (2017-08-25)

  • Fixes example directory server file locations to ensure proper loading under all OS.

version 3.1 (2017-07-20)

  • Switches to Log4j 2 logging, which is now configured by /WEB-INF/log4j.xml.
  • Refactoring and clean up of source code.
  • Upgrades Apache Commons Codec to 1.10.
  • Upgrades NimbusDS Common to 1.108.1.
  • Upgrades CORS Filter to 2.5.
  • Upgrades Property Utils to 1.10.
  • Upgrades JSON Smart to 1.3.1.
  • Upgrades JSON-RPC 2.0 Base to 1.38.
  • Upgrades JSON-RPC 2.0 Server to 1.11.
  • Upgrades JSON-RPC 2.0 Access Filter to 1.5.1.
  • Upgrades Nimbus SRP 6a to 2.0.2.
  • Upgrades UnboundID LDAP SDK to 3.2.1.
  • Upgrades Log4j to 2.8.2.

version 3.0.6 (2015-05-28)

  • Reimplements json2ldap.ldap.requireSecureAccess configuration setting.

version 3.0.5 (2014-11-19)

  • Provides additional error message information on an LDAP error if available.

version 3.0.4 (2014-11-19)

  • Extends LDAP filter error message to include debugging information.

version 3.0.3 (2014-06-07)

  • Prepends slash to configuration file locations in web.xml descriptor (required by JBoss EAP).

version 3.0.2 (2014-04-08)

  • Upgrades Common JAR to 1.76.1.
  • Upgrades UnboundID LDAP SDK JAR to 2.3.6.

version 3.0.1 (2014-03-09)

  • Changes branding and licence texts to Connect2id.
  • Upgrades Common JAR to 1.76.1.
  • Adds Apache Commons Dependency JAR 1.9.
  • Upgrades CORS Filter JAR to 1.9.2.
  • Upgrades Property Utils JAR to 1.9.1.
  • Upgrades JSON-RPC 2.0 Base JAR to 1.35.
  • Upgrades JSON-RPC 2.0 Server JAR to 1.10.1.
  • Upgrades JSON-RPC 2.0 Access Filter JAR to 1.4.3.
  • Upgrades UnboundID LDAP SDK JAR to 2.3.5.

version 3.0 (2013-01-07)

  • Adds optional "normalize" attribute names parameter to ldap.getEntry, ldap.search and ldap.getRootDSE requests.
  • Adds support for Virtual List View ldap.search control (draft-ietf-ldapext-ldapv3-vlv-09).
  • Renames enumerated ldap.search scope SUBORDINATE_SUBTREE parameter value to SUBORDINATES (LDAP URL compatible).
  • Adds support for a default LDAP server set to facilitate fail-over and round-robin ldap.connect operation.
  • Adds support for API keys (via new JSON-RPC 2.0 Access Filter dependency).
  • Refactors Json2Ldap configuration.
  • Implements json2ldap.api.exposeExceptions configuration parameter for JSON-RPC 2.0 "Internal error" responses.
  • Logs configuration parameters at startup.
  • Adds JSON-RPC 2.0 Access Filter JAR 1.3 dependency.
  • Upgrades NimbusDS Common JAR to 1.52.
  • Upgrades Nimbus SRP JAR to 1.4.
  • Upgrades JSON-RPC 2.0 Base JAR to 1.31.
  • Upgrades JSON-RPC 2.0 Server JAR to 1.8.
  • Upgrades Log4j JAR to 1.2.17.
  • Upgrades CORS Filter JAR to 1.5.

version 2.3.3 (2012-07-22)

  • Updates JSON-RPC 2.0 Base JAR to 1.27.
  • Updates JSON-RPC 2.0 Server JAR to 1.6.
  • Updates NimbusDS Common JAR to 1.8.
  • Updates Property Util JAR to 1.6.
  • Removes Apache Commons Lang JAR dependency.

version 2.3.2 (2012-06-19)

  • Fixes bug in json2ldap.clients.requireAuthentication checking.
  • Updates UnboundID SDK JAR to 2.3.1.

version 2.3.1 (2012-04-03)

  • Updates JSON Smart JAR to 1.1.1.
  • Updates JSON-RPC 2.0 Base JAR to 1.25.1.
  • Updates JSON-RPC 2.0 Server JAR to 1.5.1.

version 2.3 (2012-03-28)

  • Adds a "binaryAtributes" parameter to ldap.getEntry and ldap.search to specify explicit Base64-encoding of binary attribute values. All attributes specified by the "attributes" parameters are returned encoded as UTF-8 strings.
  • UTF-8 becomes the default and required character encoding for all JSON-RPC 2.0 responses. This is achieved by making "charset=utf-8" a mandatory part of the json2ldap.clients.responseContentType configuration property.
  • Updates NimbusDS Common JAR (formerly LDAP Util) to 1.4.
  • Updates JSON Smart JAR to 1.1.
  • Updates JSON-RPC 2.0 Base JAR to 1.25.
  • Updates JSON-RPC 2.0 Server JAR to 1.5.

version 2.2 (2011-12-27)

  • Adds dependency to LDAP Util 1.0.
  • Fixes purge timer thread leak.

version 2.1 (2011-12-16)

  • Adds support for digest MD5 bind (authentication) through the ldap.digestMD5Bind request.
  • Adds support for Secure Remote Password (SRP-6a) bind (authentication) through the custom x.srp6.bind request.
  • Renames request ldap.plainSASLBind to ldap.plainBind.
  • Renames the json2ldap.clients.connectionQuotaPerAuthUser configuration parameter to json2ldap.clients.connectionQuotaPerUser.
  • Adds dependency to Nimbus-SRP JAR 1.3.
  • Updates UnboundID SDK JAR to 2.3.0.
  • Updates JSON-RPC 2.0 Base JAR to 1.24.
  • Updates Property Util JAR to 1.5.
  • Updates CORS Filter JAR to 1.3.1.
  • Updates JSON-RPC 2.0 Shell to 1.11.

version 2.0 (2011-10-10)

  • Changes the API signatures of the ldap.connect and ldap.search.
  • Adds a new ldap.plainSASLBind authentication request (RFC 4616).
  • Introduces tracking of authenticated users based on their SASL authzId (RFC 4513, section 5.2.1.8). Bind DN tracking is obsoleted.
  • Renames configuration parameter clients.connectionQuotaPerBindDN to clients.connectionQuotaPerAuthUser.
  • Obsoletes JSON-RPC 2.0 error -1200 "Both bindDN and bindPassword must be set to request a simple bind (authentication)".
  • Obsoletes JSON-RPC 2.0 error -1202 "DN and password must be set and non-empty" in favour of a more general -1200 "Invalid / incomplete bind (authentication) parameters".
  • Renumbers JSON-RPC 2.0 error -1203 "Bind (authentication) required" to -1202.
  • Adds JSON-RPC 2.0 error -1200 "Exhausted connection quota for this user".
  • Adds JSON-RPC 2.0 error -2009 "Internal assert error".
  • Improves error reporting on TLS/SSL ldap.connect exceptions.
  • Switches to in-memory directory server (UnboundID) for JUnit testing.
  • Updates JSON-RPC 2.0 Base JAR to 1.23.
  • Updates JSON-RPC 2.0 Shell to 1.10.
  • Improves documentation.

version 1.10 (2011-08-05)

  • Adds configuration parameter to report request processing time by appending a non-standard "xProcTime" attribute to the JSON-RPC 2.0 responses.
  • Updates JSON-RPC 2.0 Base JAR to 1.21.
  • Updates JSON-RPC 2.0 Server JAR to 1.4.1.
  • Updates JSON Smart to 1.0.9.
  • Updates JSON-RPC 2.0 Shell to 1.9.
  • Adds jpegPhoto attributes to the sample LDIF file.

version 1.9.3 (2011-06-14)

  • Thread-safe parsing of JSON-RPC 2.0 requests.
  • Updates JSON-RPC 2.0 Base JAR to 1.17 (JSON Smart).

version 1.9.2 (2011-05-27)

  • Removes stack trace logging on invalid JSON parse exception.
  • Updates UnboundID SDK JAR to 2.2.0.
  • Updates JSON-RPC 2.0 Shell to 1.7.

version 1.9.1 (2011-05-20)

  • Updates JSON-RPC 2.0 Base JAR to 1.16.
  • Removes default admin account of the in-memory LDAP server and limits access to read and bind (authenticate) only.
  • Adds groups to the sample demo.ldif file.

version 1.9 (2011-05-16)

  • Includes a simple in-memory LDAP server for testing and demonstration purposes.

version 1.8.1 (2011-04-14)

  • Adds utility request "ldap.util.isValidFilter".
  • Fixes bug that prevented the disabling of client IP quotas.
  • Fixes bug that prevented the disabling of bind DN quotas.
  • Updates UnboundID SDK JAR to 2.1.0.

version 1.8 (2011-03-16)

  • Adds utility request "ldap.util.isValidDN".
  • Adds utility request "ldap.util.normalizeDN".
  • Adds utility request "ldap.util.compareDNs".
  • Adds utility request "ldap.util.encodeFilterValue".
  • Improves clarity of JSON-RPC 2.0 request/response log messages.
  • Updates UnboundID SDK JAR to 2.0.1.
  • Updates Property Util JAR to 1.4.
  • Updates Java Mail JAR to 1.4.4.
  • Updates Apache Commons Lang JAR to 2.6.
  • Updates JSON-RPC 2.0 Base JAR to 1.14.
  • Updates JSON-RPC 2.0 Server JAR to 1.3.
  • Updates JSON-RPC 2.0 Shell to 1.6.

version 1.7.3 (2010-12-18)

  • Fixes bug that prevented retrieval of generated passwords from password modify extended requests.

version 1.7.2 (2010-12-01)

  • Minor change to the ldap.search API - the LDIF formatted result allows inclusion of referrals and pageCookie.
  • Fixes bug in ldap.add for multivalued BASE-64 encoded attributes.

version 1.7.1 (2010-11-23)

  • Switches from JsonRpc-Proc 1.1 to JsonRpc2-Server 1.2 JAR.

version 1.7 (2010-11-18)

  • ldap.search adds support for the simple paged results control (RFC 2696).
  • ldap.modifyDN parameter deleteOldRDN now defaults to false.
  • More detailed error messages for extended LDAP operations.
  • Fixes bug in ldap.modify multi mods processing.
  • Fixes bug in ldap.modify using LDIF.
  • Updates UnboundID SDK JAR to 2.0.0.
  • Updates Property Util JAR to 1.3.

version 1.6 (2010-10-10)

  • Connection identifiers (CIDs) now represented by standard UUIDs.
  • ldap.connect returns object with CID string as member instead of simple string.
  • ldap.simpleBind and ldap.anonymousBind return empty object instead of null.
  • Adds configuration parameter to specify response content type.
  • Includes Cross-Origin Resource Sharing (CORS) Filter 1.1.
  • Updates UnboundID SDK JAR to 1.1.6.
  • Updates JsonRpc2-Base JAR to 1.11.
  • Updates JsonRpc2-Proc JAR to 1.1.
  • Updates Property Util JAR to 1.2.
  • Updates JsonRpc2 Shell to 1.4.

version 1.5.4 (2010-09-09)

  • Updates JsonRpc2-Base JAR to 1.10.

version 1.5.3 (2010-09-05)

  • Adds support for server-side sorting (RFC 2891) in ldap.search.
  • Includes explicit "DN" property in ldap.getEntry and ldap.search result entries.
  • Reverts to strict handling of time|size limit exceeded errors in ldap.search.

version 1.5.2 (2010-09-02)

  • Includes new fields "timeLimitExceeded" and "sizeLimitExceeded" in ldap.search JSON results to nofity users of partial result sets.

version 1.5.1 (2010-09-01)

  • Updates UnboundID SDK JAR to 1.1.5.

version 1.5 (2010-08-30)

  • ldap.search request allows to specify retrieval of all, none or operational attributes only.
  • Include DNs in ldap.search output formatted as JSON.
  • Updates JsonRpc2-Base JAR to 1.9.4.

version 1.4 (2010-08-15)

  • Merges ldap.secureConnect and ldap.presetConnect requests into ldap.connect.
  • New ResultFormat class assists parsing of output type params.
  • New Json2LdapConfigurationException class reports bad init parameters on startup.
  • Updates JsonRpc2-Base JAR to 1.9.3.

version 1.3.1 (2010-06-29)

  • Fixes two DTD compatibility errors in WEB-INF/web.xml.
  • Updates JsonRpc2-Client tool to 1.3.

version 1.3 (2010-06-23)

  • Simplifies the API by removing the ldap.presetBind command.

version 1.2 (2010-06-21)

  • New categorisation of the configuration parameters.
  • Adds configuration parameter to set a connection quota per bound DN.
  • Adds configuration parameter to limit total LDAP connection time.
  • Adds configuration parameter to enable automatic LDAP reconnect.
  • Adds configuration parameter to deny "Password Modify" request relay.
  • Adds configuration parameter to deny "Who am I?" request relay.
  • Refactors the LDAP connection manager and storage.
  • Updates UnboundID SDK JAR to 1.1.4.

version 1.1 (2010-05-22)

  • Factors out JSON-RPC 2.0 request dispatching framework in separate generic package.

version 1.0 (2010-04-28)

  • First official and stable release.