mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

neil_a_wilson
25.40.2007 44aad3f84d2a820094f3b5e73722778edc8c23f5
opends/build.xml
@@ -45,8 +45,7 @@
  <property name="build.debuglevel"    value="lines,vars,source"       />
  <!-- Properties for build tools                                   -->
  <property name="buildtools.dir" location="build-tools"              />
  <property name="buildtools.src.dir" location="${buildtools.dir}/src" />
  <property name="buildtools.src.dir" location="src/build-tools" />
  <property name="buildtools.classes.dir" location="${build.dir}/build-tools/classes" />
  <!-- Properties for use in unit testing.                           -->
@@ -134,6 +133,8 @@
  <property name="admin.src.dir"   location="src/admin/generated" />
  <property name="admin.rules.dir" location="resource/admin" />
  <!-- Create a package bundle containing the DSML library. -->
  <target name="dsml" depends="predsml,package"
       description="Build a Directory Server package bundle with DSML.">
@@ -144,7 +145,8 @@
  <!-- The build target that should be used before committing code. -->
  <target name="precommit" depends="checkstyle,clean,copyrightdates,eolstyle,dsml,javadoc,testwithcoverage"
       description="Perform all processing needed before committing code." />
       description="Perform all processing needed before committing code.">
  </target>
@@ -152,14 +154,16 @@
  <!-- The build target that should be used for nightly builds. -->
  <target name="nightly"
       depends="enableweave,checkstyle,dsml,javadoc,coverage,testall"
       description="Perform all processing needed for nightly builds." />
       description="Perform all processing needed for nightly builds.">
  </target>
  <!-- The build target that should be used for weekly builds. -->
  <target name="weekly" depends="nightly"
       description="Perform all processing needed for weekly builds." />
       description="Perform all processing needed for weekly builds.">
  </target>
@@ -167,7 +171,8 @@
  <!-- The build target that should be used to build everything. -->
  <target name="all"
       depends="enableweave,checkstyle,clean,copyrightdates,eolstyle,dsml,javadoc,testallwithcoverage"
       description="Build using all defined targets." />
       description="Build using all defined targets.">
  </target>
@@ -184,12 +189,20 @@
  </target>
  <!-- Perform common initialization common to several targets after cleaning out the previous build environment. -->
  <target name="cleaninit" depends="clean,init"/>
  <target name="cleaninit" depends="clean,init">
  </target>
  <!-- Perform common initialization common to several targets. -->
  <target name="init">
    <path id="run.classpath">
      <pathelement location="${classes.dir}" />
    </path>
    <tstamp>
      <format property="timestamp" pattern="yyyyMMddHHmmss" />
    </tstamp>
@@ -400,11 +413,12 @@
       description="Recompile the Directory Server source files.">
  </target>
  <!-- Compile the Directory Server source files. -->
  <target name="compile"
       depends="init,dynamicconstants,compileadmin"
       description="Compile the Directory Server source files.">
    <mkdir dir="${classes.dir}" />
    <javac srcdir="${src.dir}:${admin.src.dir}" destdir="${classes.dir}"
@@ -422,12 +436,16 @@
    </javac>
  </target>
  <target name="prepweave">
    <condition property="weave.enabled" value="true">
        <equals arg1="${WEAVE_ENABLED}" arg2="true" />
    </condition>
  </target>
  <target name="weave" if="weave.enabled" depends="compile, prepweave">
    <echo message="  Weaving the source code with automatic AspectJ debug logging."/>
    <echo message="  Build with -DWEAVE_ENABLED=false to turn this off."/>
@@ -449,10 +467,10 @@
  </target>
  <!-- Compile the Quick Setup source files. -->
  <target name="compilequicksetup" depends="buildtools,weave"
          description="Compile the Quick Setup source files.">
    <mkdir dir="${quicksetup.classes.dir}" />
    <javac srcdir="${src.dir}" destdir="${quicksetup.classes.dir}"
               debug="on" debuglevel="${build.debuglevel}" source="1.5"
@@ -483,10 +501,11 @@
    </copy>
  </target>
  <!-- Compile the Status Panel source files. -->
  <target name="compilestatuspanel" depends="compilequicksetup"
           description="Compile the Status Panel source files.">
    <mkdir dir="${statuspanel.classes.dir}" />
    <javac srcdir="${statuspanel.src.dir}" destdir="${statuspanel.classes.dir}"
           debug="on" debuglevel="${build.debuglevel}" source="1.5"
@@ -505,6 +524,8 @@
    </copy>
  </target>
  <!--
   ! Rebuild the Directory Server without destroying any existing configuration
   ! or data.  It will only overwrite the libraries, classes, and scripts, and
@@ -513,7 +534,6 @@
   ! -->
  <target name="rebuild"
       description="Rebuild the server without destroying config or data.">
    <!-- Set the amount of memory to use for the build -->
    <condition property="MEM" value="128M">
      <not>
@@ -626,7 +646,6 @@
  <!-- Populate the Directory Server package, but don't zip it up. -->
  <target name="prepackage" depends="cleancompile"
       description="Prepare the Directory Server package structure.">
    <property name="pkgversion"
         value="${MAJOR_VERSION}.${MINOR_VERSION}${VERSION_QUALIFIER}" />
    <property name="pdir"
@@ -734,7 +753,6 @@
  <!-- Package the Directory Server for distribution. -->
  <target name="package" depends="prepackage"
       description="Package the Directory Server for distribution.">
    <zip destfile="${package.dir}/OpenDS-${pkgversion}.zip">
      <zipfileset dir="${package.dir}" includes="OpenDS-${pkgversion}/**/*"
           excludes="OpenDS-${pkgversion}/bin/*,OpenDS-${pkgversion}/setup,OpenDS-${pkgversion}/uninstall"
@@ -750,10 +768,11 @@
    </zip>
  </target>
  <!-- Prepare the Directory Server DSML library. -->
  <target name="predsml" depends="prepackage"
       description="Prepare the Directory Server DSML library.">
    <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
      <classpath>
        <fileset dir="${dsml.lib.dir}">
@@ -829,7 +848,6 @@
  <!-- Generate JavaDoc documentation from the source files -->
  <target name="javadoc" depends="dsml,compileadmin"
       description="Generate JavaDoc documentation.">
    <mkdir dir="${javadoc.dir}" />
    <javadoc destdir="${javadoc.dir}" source="1.5" additionalparam="-quiet"
@@ -858,7 +876,6 @@
  <!-- Internal target to prepare to generate a code coverage report. -->
  <target name="coverage">
    <property name="coverage.enabled" value="true" />
    <mkdir dir="${coverage.dir}"        />
@@ -876,7 +893,6 @@
  <!-- Prepare to execute the Directory Server TestNG unit tests. -->
  <target name="testinit" depends="buildtools, weave"
         description="Prepare to execute the Directory Server TestNG unit tests.">
    <!-- If we are to perform coverage tests, then set that up. -->
    <path id="emma.lib">
      <pathelement location="${emma.dir}/emma.jar"     />
@@ -966,6 +982,8 @@
    <antcall target="testinit.checkFailedTestsOnly"/>
  </target>
  <!-- If we were asked to run only the tests that failed,
      then we overwrite the testng.xml that we just generated
      with testng-failed.xml, which TestNG generated. -->
@@ -992,6 +1010,8 @@
    <echo message="Will run the failed unit tests only"/>
  </target>
  <!-- Generate coverage diff report -->
  <target name="coveragediff">
    <condition property="test.diff.srcpath" value="">
@@ -1039,16 +1059,22 @@
  </target>
  <!-- Execute the Directory Server TestNG unit tests in text mode. -->
  <target name="enableTestNGAssertions">
    <property name="TESTASSERT" value="true"/>
  </target>
  <!-- Execute Directory Server TestNG unit tests specified from CLI -->
  <target name="testcustom">
    <echo message="This target is deprecated. Please use the test target as it now supports the test.* properties." />
  </target>
  <!-- Execute all of the Directory Server TestNG unit tests in text mode. -->
  <target name="testall"
          depends="enableweave,enableTestNGAssertions,prepdefaultalltest,testinit,runtests"
@@ -1056,29 +1082,38 @@
  </target>
  <!-- Execute the Directory Server TestNG unit tests in text mode. -->
  <target name="test"
          depends="enableweave,testinit,runtests"
          description="Execute the Directory Server TestNG unit tests in text mode.  Set '-Dorg.opends.test.suppressOutput=false' to see the output from the unit tests.  Set '-Dtest.failures=true' to run only the tests that failed previously.">
  </target>
  <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report. -->
  <target name="testwithcoverage"
          depends="coverage,test,coveragediff"
          description="Execute the Directory Server TestNG unit tests in text mode with a coverage report.  Use -Dtest.packages, -Dtest.classes, or -Dtest.methods to control which unit tests are run.  Use -Dtest.diff.srcpath to control which src files show up in the coverage diff.  See the 'test' package for other properties you can set.">
  </target>
  <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report and slow tests. -->
  <target name="testallwithcoverage"
          depends="coverage,testall,coveragediff"
          description="The same as 'testwithcoverage' except 'testall' is run instead of 'test'.">
  </target>
  <!-- Execute the Directory Server TestNG unit tests specified from CLI in text mode with a coverage report. -->
  <target name="testcustomwithcoverage">
    <echo message="This target is deprecated. Please use the testwithcoverage target as it now supports the test.* properties." />
  </target>
  <target name="testhelp" unless="disable.test.help">
    <echo message="About to run the unit tests.  Ant options to control the tests:"/>
    <echo message=""/>
@@ -1129,6 +1164,8 @@
    <echo message=""/>
  </target>
  <!-- Internal target to execute the Directory Server TestNG unit tests in text mode after everything has been initialized. -->
  <target name="runtests">
    <antcall target="testhelp"/>
@@ -1249,6 +1286,8 @@
  </target>
  <target name="prepdefaultalltest">
    <condition property="test.groups" value="">
      <not>
@@ -1262,6 +1301,8 @@
    </condition>
  </target>
  <target name="enableweave">
    <condition property="WEAVE_ENABLED" value="true">
      <not>
@@ -1276,6 +1317,8 @@
    </condition>
  </target>
  <target name="testreport"
        depends="test"
        description="Takes testng results and convert them into JUnit compatible xml">
@@ -1290,15 +1333,14 @@
  <target name="integration-tests"
            description="Builds the integration tests"
            >
            description="Builds the integration tests">
    <ant dir="${functest.testng.dir}" inheritall="false"/>
  </target>
  <target name="buildtools"
        description="Builds the build tools">
  <target name="buildtools" depends="init"
        description="Builds the build tools">
    <!-- Set the amount of memory to use for the build -->
    <condition property="MEM" value="128M">
      <not>
@@ -1335,8 +1377,34 @@
         basedir="${buildtools.classes.dir}" compress="true" index="true" />
  </target>
  <!-- Code generation for core administration components. -->
  <target name="compileadmin" depends="validateadmin" description="Code generation for configuration Object.">
    <!-- The XSLT task creates a lot of noise.
         I can't find any other way to shut it up. -->
    <condition property="antcmd" value="ant.bat">
      <os family="windows" />
    </condition>
    <condition property="antcmd" value="ant">
      <not>
        <isset property="antcmd" />
      </not>
    </condition>
    <exec executable="${ant.home}/bin/${antcmd}">
      <arg value="-buildfile" />
      <arg value="${ant.file}" />
      <arg value="-quiet" />
      <arg value="compileadminsubtask" />
    </exec>
  </target>
  <target name="compileadminsubtask">
    <!-- Generate introspection API for core administration components. -->
    <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/metaMO.xsl">
      <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.java" />
@@ -1393,6 +1461,8 @@
    <delete dir="${admin.temp.dir}" />
  </target>
  <!-- Remove all dynamically-generated build files. -->
  <target name="cleanadmin" description="Clean up any generated source files for admin">
    <delete includeemptydirs="true">
@@ -1400,6 +1470,8 @@
    </delete>
  </target>
  <!-- Validate core administration component XML definition files. -->
  <target name="validateadmin" description="Validate core administration component XML definition files.">
    <schemavalidate>
@@ -1409,6 +1481,8 @@
    </schemavalidate>
  </target>
  <!-- Generate example plugin package. -->
  <target name="example-plugin" if="pdir">
    <!-- Create folder hierarchy in temporary directory. -->
opends/src/build-tools/javax/jnlp/DownloadService.java
opends/src/build-tools/javax/jnlp/DownloadServiceListener.java
opends/src/build-tools/javax/jnlp/ServiceManager.java
opends/src/build-tools/javax/jnlp/UnavailableServiceException.java
opends/src/build-tools/org/opends/build/tools/CheckCopyrightDates.java
opends/src/build-tools/org/opends/build/tools/CheckEOLStyle.java
opends/src/build-tools/org/opends/build/tools/ConcatSchema.java
opends/src/build-tools/org/opends/build/tools/CoverageDiff.java
opends/src/build-tools/org/opends/build/tools/GetSubversionRevision.java
opends/src/build-tools/org/opends/build/tools/PrepTestNG.java
opends/src/build-tools/windows/EventLogMsg.mc
opends/src/build-tools/windows/Makefile
opends/src/build-tools/windows/README
opends/src/build-tools/windows/common.c
opends/src/build-tools/windows/common.h
opends/src/build-tools/windows/service.c
opends/src/build-tools/windows/service.h
opends/src/build-tools/windows/winlauncher.c
opends/src/build-tools/windows/winlauncher.h
opends/src/dsml/org/opends/dsml/protocol/DSMLAddOperation.java
@@ -37,10 +37,11 @@
import org.opends.server.protocols.ldap.AddRequestProtocolOp;
import org.opends.server.protocols.ldap.AddResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ProtocolOp;
import org.opends.server.tools.LDAPConnection;
import org.opends.server.types.LDAPException;
import org.opends.server.types.RawAttribute;
@@ -99,7 +100,7 @@
    addResponse.setRequestID(requestID);
    ASN1OctetString dnStr = new ASN1OctetString(addRequest.getDn());
    ArrayList<LDAPAttribute> attributes = new ArrayList<LDAPAttribute>();
    ArrayList<RawAttribute> attributes = new ArrayList<RawAttribute>();
    List<DsmlAttr> addList = addRequest.getAttr();
    for(DsmlAttr attr : addList)
opends/src/dsml/org/opends/dsml/protocol/DSMLCompareOperation.java
@@ -36,10 +36,10 @@
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.CompareRequestProtocolOp;
import org.opends.server.protocols.ldap.CompareResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ProtocolOp;
import org.opends.server.tools.LDAPConnection;
import org.opends.server.types.LDAPException;
opends/src/dsml/org/opends/dsml/protocol/DSMLDeleteOperation.java
@@ -34,10 +34,10 @@
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.DeleteRequestProtocolOp;
import org.opends.server.protocols.ldap.DeleteResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ProtocolOp;
import org.opends.server.tools.LDAPConnection;
import org.opends.server.types.LDAPException;
/**
opends/src/dsml/org/opends/dsml/protocol/DSMLExtendedOperation.java
@@ -36,10 +36,10 @@
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ProtocolOp;
import org.opends.server.tools.LDAPConnection;
import org.opends.server.types.LDAPException;
opends/src/dsml/org/opends/dsml/protocol/DSMLModifyDNOperation.java
@@ -35,11 +35,11 @@
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ModifyDNRequestProtocolOp;
import org.opends.server.protocols.ldap.ModifyDNResponseProtocolOp;
import org.opends.server.protocols.ldap.ProtocolOp;
import org.opends.server.types.LDAPException;
opends/src/dsml/org/opends/dsml/protocol/DSMLModifyOperation.java
@@ -37,14 +37,15 @@
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.LDAPModification;
import org.opends.server.protocols.ldap.ModifyRequestProtocolOp;
import org.opends.server.protocols.ldap.ModifyResponseProtocolOp;
import org.opends.server.protocols.ldap.ProtocolOp;
import org.opends.server.tools.LDAPConnection;
import org.opends.server.types.LDAPException;
import org.opends.server.types.ModificationType;
import org.opends.server.types.RawModification;
@@ -100,8 +101,8 @@
    modResponse.setRequestID(requestID);
    ArrayList<LDAPModification> modifications =
         new ArrayList<LDAPModification> ();
    ArrayList<RawModification> modifications =
         new ArrayList<RawModification> ();
    // Read the modification type from the DSML request.
    List<DsmlModification> mods = modifyRequest.getModification();
opends/src/dsml/org/opends/dsml/protocol/DSMLSearchOperation.java
@@ -40,7 +40,6 @@
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPConstants;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPFilter;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ProtocolOp;
@@ -50,6 +49,7 @@
import org.opends.server.protocols.ldap.SearchResultDoneProtocolOp;
import org.opends.server.tools.LDAPConnection;
import org.opends.server.types.DereferencePolicy;
import org.opends.server.types.LDAPException;
import org.opends.server.types.SearchScope;
opends/src/server/org/opends/server/api/AccessControlHandler.java
@@ -32,6 +32,8 @@
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.SearchResultReference;
import org.opends.server.types.Entry;
import org.opends.server.types.Operation;
/**
@@ -43,7 +45,6 @@
 */
public abstract class AccessControlHandler
{
  /**
   * Indicates whether the provided add operation is allowed based on
   * the access control configuration.  This method should not alter
@@ -231,6 +232,8 @@
  public abstract boolean maySend(SearchOperation searchOperation,
                               SearchResultReference searchReference);
  /**
   * Indicates whether a proxied authorization control is allowed
   * based on the current operation and the new authorization
opends/src/server/org/opends/server/api/AccessControlProvider.java
@@ -26,10 +26,14 @@
 */
package org.opends.server.api;
import org.opends.server.admin.std.server.AccessControlHandlerCfg;
import org.opends.server.config.ConfigException;
import org.opends.server.types.InitializationException;
/**
 * This class defines an interface for managing the life-cycle of an
 * access control handler. The access control handler configuration
@@ -40,8 +44,8 @@
 *          this connection handler implementation.
 */
public interface AccessControlProvider
  <T extends AccessControlHandlerCfg> {
       <T extends AccessControlHandlerCfg>
{
  /**
   * Initializes the access control handler implementation based on
   * the information in the provided configuration entry.
@@ -56,8 +60,10 @@
   *           If a problem occurs during initialization that is not
   *           related to the server configuration.
   */
  void initializeAccessControlHandler(T configuration)
      throws ConfigException, InitializationException;
  public void initializeAccessControlHandler(T configuration)
         throws ConfigException, InitializationException;
  /**
   * Performs any necessary finalization for the access control
@@ -65,7 +71,9 @@
   * handler has been deregistered with the server but before it has
   * been unloaded.
   */
  void finalizeAccessControlHandler();
  public void finalizeAccessControlHandler();
  /**
   * Get the access control handler responsible for making access
@@ -75,6 +83,5 @@
   * @return Returns the access control handler.
   */
  AccessControlHandler getInstance();
}
opends/src/server/org/opends/server/api/AccountStatusNotificationHandler.java
@@ -37,7 +37,6 @@
/**
 * This class defines the set of methods that must be implemented for
 * an account status notification handler.  This handler will be
@@ -48,9 +47,6 @@
 */
public abstract class AccountStatusNotificationHandler
{
  /**
   * Initializes this account status notification handler based on the
   * information in the provided configuration entry.
@@ -70,7 +66,7 @@
   */
  public abstract void initializeStatusNotificationHandler(
                            ConfigEntry configEntry)
       throws ConfigException, InitializationException;
         throws ConfigException, InitializationException;
opends/src/server/org/opends/server/api/AlertGenerator.java
@@ -34,7 +34,6 @@
/**
 * This class defines an interface that may be used to define a set of
 * alert notifications that may be generated by this Directory Server
opends/src/server/org/opends/server/api/ApproximateMatchingRule.java
@@ -33,7 +33,6 @@
/**
 * This class defines the set of methods and structures that must be
 * implemented by a Directory Server module that implements a matching
@@ -42,9 +41,6 @@
public abstract class ApproximateMatchingRule
       extends MatchingRule
{
  /**
   * Indicates whether the two provided normalized values are
   * approximately equal to each other.
opends/src/server/org/opends/server/api/AttributeSyntax.java
@@ -35,7 +35,6 @@
/**
 * This class defines the set of methods and structures that must be
 * implemented by a Directory Server module that implements an
@@ -43,9 +42,6 @@
 */
public abstract class AttributeSyntax
{
  /**
   * Initializes this attribute syntax based on the information in the
   * provided configuration entry.
opends/src/server/org/opends/server/api/AttributeValueDecoder.java
@@ -26,17 +26,20 @@
 */
package org.opends.server.api;
import org.opends.server.types.AttributeValue;
import org.opends.server.types.DirectoryException;
/**
 * A factory interface for decoding attribute values into objects.
 *
 * @param <T>
 *          Decode the attribute value to an object of this type.
 * @param  <T>  Decode the attribute value to an object of this type.
 */
public interface AttributeValueDecoder<T> {
public interface AttributeValueDecoder<T>
{
  /**
   * Decode the specified attribute value to an object of type T.
   *
@@ -48,3 +51,4 @@
   */
  T decode(AttributeValue value) throws DirectoryException;
}
opends/src/server/org/opends/server/api/CertificateMapper.java
@@ -30,8 +30,7 @@
import java.security.cert.Certificate;
import org.opends.server.admin.std.server.
            CertificateMapperCfg;
import org.opends.server.admin.std.server.CertificateMapperCfg;
import org.opends.server.config.ConfigException;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
@@ -39,7 +38,6 @@
/**
 * This class defines the set of methods and structures that must be
 * implemented by a Directory Server module that implements the
opends/src/server/org/opends/server/api/ClientConnection.java
@@ -38,7 +38,6 @@
import org.opends.server.api.plugin.IntermediateResponsePluginResult;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.Operation;
import org.opends.server.core.PersistentSearch;
import org.opends.server.core.PluginConfigManager;
import org.opends.server.core.SearchOperation;
@@ -48,11 +47,13 @@
import org.opends.server.types.AuthenticationInfo;
import org.opends.server.types.CancelRequest;
import org.opends.server.types.CancelResult;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.IntermediateResponse;
import org.opends.server.types.Operation;
import org.opends.server.types.Privilege;
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.SearchResultReference;
@@ -60,7 +61,6 @@
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.loggers.debug.DebugLogger.*;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.messages.CoreMessages.*;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.util.StaticUtils.*;
opends/src/server/org/opends/server/api/DirectoryThread.java
@@ -28,14 +28,15 @@
import java.util.Map;
import java.util.LinkedHashMap;
import org.opends.server.backends.task.Task;
import org.opends.server.core.DirectoryServer;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
import java.util.Map;
import java.util.LinkedHashMap;
/**
@@ -59,9 +60,6 @@
public class DirectoryThread
       extends Thread
{
  // The stack trace taken at the time that this thread was created.
  private StackTraceElement[] creationStackTrace;
opends/src/server/org/opends/server/api/EqualityMatchingRule.java
@@ -31,13 +31,10 @@
import org.opends.server.types.AttributeValue;
import org.opends.server.types.ByteString;
import org.opends.server.types.ConditionResult;
import static
    org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static
    org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.*;
/**
@@ -48,9 +45,6 @@
public abstract class EqualityMatchingRule
       extends MatchingRule
{
  /**
   * Indicates whether the two provided normalized values are equal to
   * each other.
opends/src/server/org/opends/server/api/ExtendedOperationHandler.java
@@ -50,14 +50,14 @@
public abstract class
     ExtendedOperationHandler<T extends ExtendedOperationHandlerCfg>
{
  /**
   * The default set of supported control OIDs for this extended
   * operation.
   */
  protected Set<String> supportedControlOIDs = new HashSet<String>(0);
  /**
   * The default set of supported feature OIDs for this extended
   * operation.
@@ -85,8 +85,7 @@
   *                                   not related to the server
   *                                   configuration.
   */
  public abstract void
       initializeExtendedOperationHandler(T config)
  public abstract void initializeExtendedOperationHandler(T config)
         throws ConfigException, InitializationException;
opends/src/server/org/opends/server/api/Group.java
@@ -42,7 +42,6 @@
/**
 * This class defines the set of methods that must be implemented by a
 * Directory Server group.  It is expected that there will be a number
opends/src/server/org/opends/server/api/InvokableComponent.java
@@ -35,7 +35,6 @@
/**
 * This class defines an interface that may be implemented by
 * Directory Server components that have methods that may be invoked
opends/src/server/org/opends/server/api/LogPublisher.java
@@ -26,9 +26,13 @@
 */
package org.opends.server.api;
import org.opends.server.loggers.LogRecord;
import org.opends.server.loggers.LoggerErrorHandler;
/**
 * LogPublishers are reponsible for distributing logged messages from
 * the Logger object to a destination.
@@ -47,6 +51,8 @@
   */
  public void publish(LogRecord record, LoggerErrorHandler handler);
  /**
   * Releases any resources and prepare for close.
   */
opends/src/server/org/opends/server/api/MatchingRule.java
@@ -37,7 +37,6 @@
/**
 * This class defines the set of methods and structures that must be
 * implemented by a Directory Server module that implements a matching
@@ -45,9 +44,6 @@
 */
public abstract class MatchingRule
{
  /**
   * Initializes this matching rule based on the information in the
   * provided configuration entry.
opends/src/server/org/opends/server/api/MonitorProvider.java
@@ -33,15 +33,12 @@
import org.opends.server.config.ConfigEntry;
import org.opends.server.config.ConfigException;
import org.opends.server.types.Attribute;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryConfig;
import org.opends.server.types.InitializationException;
import org.opends.server.types.ObjectClass;
import static
    org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static
    org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.util.ServerConstants.*;
@@ -55,9 +52,6 @@
public abstract class MonitorProvider
       extends DirectoryThread
{
  // Indicates whether a request has been received to stop running.
  private boolean stopRequested;
opends/src/server/org/opends/server/api/OrderingMatchingRule.java
@@ -36,7 +36,6 @@
/**
 * This class defines the set of methods and structures that must be
 * implemented by a Directory Server module that implements a matching
@@ -47,9 +46,6 @@
       extends MatchingRule
       implements Comparator<byte[]>, Serializable
{
  /**
   * The serial version identifier required to satisfy the compiler
   * because this class implements the
opends/src/server/org/opends/server/api/PasswordGenerator.java
@@ -37,7 +37,6 @@
/**
 * This class defines a set of methods and structures that must be
 * implemented by a Directory Server module that may be used to
@@ -52,9 +51,6 @@
public abstract class PasswordGenerator
       <T extends PasswordGeneratorCfg>
{
  /**
   * Initializes this password generator based on the information in
   * the provided configuration entry.
opends/src/server/org/opends/server/api/PasswordStorageScheme.java
@@ -36,7 +36,6 @@
/**
 * This class defines the set of methods and structures that must be
 * implemented by a Directory Server module that implements a password
@@ -45,9 +44,6 @@
 */
public abstract class PasswordStorageScheme
{
  /**
   * Initializes this password storage scheme handler based on the
   * information in the provided configuration entry.  It should also
opends/src/server/org/opends/server/api/PasswordValidator.java
@@ -30,13 +30,12 @@
import java.util.Set;
import org.opends.server.admin.std.server.
            PasswordValidatorCfg;
import org.opends.server.admin.std.server.PasswordValidatorCfg;
import org.opends.server.config.ConfigException;
import org.opends.server.core.Operation;
import org.opends.server.types.ByteString;
import org.opends.server.types.Entry;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
opends/src/server/org/opends/server/api/SASLMechanismHandler.java
@@ -28,8 +28,7 @@
import org.opends.server.admin.std.server.
            SASLMechanismHandlerCfg;
import org.opends.server.admin.std.server.SASLMechanismHandlerCfg;
import org.opends.server.config.ConfigException;
import org.opends.server.core.BindOperation;
import org.opends.server.types.InitializationException;
opends/src/server/org/opends/server/api/SubstringMatchingRule.java
@@ -36,7 +36,6 @@
/**
 * This class defines the set of methods and structures that must be
 * implemented by a Directory Server module that implements a matching
@@ -45,9 +44,6 @@
public abstract class SubstringMatchingRule
       extends MatchingRule
{
  /**
   * Normalizes the provided value fragment into a form that can be
   * used to efficiently compare values.
opends/src/server/org/opends/server/api/SubtreeSpecification.java
@@ -26,20 +26,27 @@
 */
package org.opends.server.api;
import org.opends.server.types.Entry;
/**
 * Generic subtree specification interface.
 */
public abstract class SubtreeSpecification {
public abstract class SubtreeSpecification
{
  /**
   * Create a new subtree specification.
   */
  protected SubtreeSpecification() {
  protected SubtreeSpecification()
  {
    // No implementation required.
  }
  /**
   * Determine if an entry is within the scope of the subtree
   * specification.
@@ -52,18 +59,33 @@
   */
  public abstract boolean isWithinScope(Entry entry);
  /**
   * {@inheritDoc}
   * Indicates whether the provided object is logically equal to this
   * subtree specification object.
   *
   * @param  obj  The object for which to make the determination.
   *
   * @return  {@code true} if the provided object is logically equal
   *          to this subtree specification object, or {@code false}
   *          if not.
   */
  @Override
  public abstract boolean equals(Object obj);
  /**
   * {@inheritDoc}
   * Retrieves the hash code for this subtree specification object.
   *
   * @return  The hash code for this subtree specification object.
   */
  @Override
  public abstract int hashCode();
  /**
   * Append the string representation of the subtree specification to
   * the provided string builder.
@@ -74,12 +96,20 @@
   */
  public abstract StringBuilder toString(StringBuilder builder);
  /**
   * {@inheritDoc}
   * Retrieves a string representation of this subtree specification
   * object.
   *
   * @return  A string representation of this subtree specification
   *          object.
   */
  @Override
  public final String toString() {
  public final String toString()
  {
    StringBuilder builder = new StringBuilder();
    return toString(builder).toString();
  }
}
opends/src/server/org/opends/server/api/SubtreeSpecificationSet.java
@@ -26,6 +26,8 @@
 */
package org.opends.server.api;
import java.util.AbstractSet;
import java.util.Collection;
import java.util.HashSet;
@@ -33,56 +35,65 @@
import org.opends.server.types.Entry;
/**
 * This class implements the <code>Set</code> interface for
 * This class implements the {@code Set} interface for
 * {@link org.opends.server.api.SubtreeSpecification}s.
 * <p>
 * It is backed by a <code>HashSet</code> but provides additional
 * functionality, {@link #isWithinScope(Entry)}, for
 * determining whether or not an entry is within the scope of one or
 * more contained <code>SubtreeSpecification</code>s.
 * It is backed by a {@code HashSet} but provides additional
 * functionality, {@link #isWithinScope(Entry)}, for determining
 * whether or not an entry is within the scope of one or more
 * contained {@code SubtreeSpecification}s.
 */
public final class SubtreeSpecificationSet extends
    AbstractSet<SubtreeSpecification> {
public final class SubtreeSpecificationSet
       extends AbstractSet<SubtreeSpecification>
{
  // Underlying implementation is simply a set.
  private HashSet<SubtreeSpecification> pimpl;
  /**
   * Constructs a new empty subtree specification set.
   */
  public SubtreeSpecificationSet() {
  public SubtreeSpecificationSet()
  {
    this.pimpl = new HashSet<SubtreeSpecification>();
  }
  /**
   * Constructs a new subtree specification set containing the
   * elements in the specified collection.
   *
   * @param c
   *          The subtree specification collection whose elements are
   *          to be placed into this set.
   * @param  c  The subtree specification collection whose elements
   *            are to be placed into this set.
   */
  public SubtreeSpecificationSet(
      Collection<? extends SubtreeSpecification> c) {
              Collection<? extends SubtreeSpecification> c)
  {
    this.pimpl = new HashSet<SubtreeSpecification>(c);
  }
  /**
   * Returns <code>true</code> if the specified entry is within the
   * scope of a subtree specifications contained in the set.
   *
   * @param entry
   *          The entry to be checked for containment.
   * @return Returns <code>true</code> if the set contains the
   *         specified entry.
   */
  public boolean isWithinScope(Entry entry) {
    for (SubtreeSpecification subtreeSpecification : pimpl) {
      if (subtreeSpecification.isWithinScope(entry)) {
  /**
   * Returns {@code true} if the specified entry is within the scope
   * of a subtree specifications contained in the set.
   *
   * @param  entry  The entry to be checked for containment.
   *
   * @return  Returns {@code true} if the set contains the specified
   *          entry.
   */
  public boolean isWithinScope(Entry entry)
  {
    for (SubtreeSpecification subtreeSpecification : pimpl)
    {
      if (subtreeSpecification.isWithinScope(entry))
      {
        return true;
      }
    }
@@ -90,39 +101,65 @@
    return false;
  }
  /**
   * {@inheritDoc}
   * Adds the provided subtree specification object to this set.
   *
   * @param  e  The subtree specification object to be added.
   *
   * @return  {@code true} if the element was added to the set, or
   *          {@code false} if the element was already contained in
   *          the set.
   */
  @Override
  public boolean add(SubtreeSpecification e) {
  public boolean add(SubtreeSpecification e)
  {
    return pimpl.add(e);
  }
  /**
   * {@inheritDoc}
   * Retrieves an iterator that may be used to step through the values
   * in this set.
   *
   * @return  An iterator that may be used to step through the values
   *          in this set.
   */
  @Override
  public Iterator<SubtreeSpecification> iterator() {
  public Iterator<SubtreeSpecification> iterator()
  {
    return pimpl.iterator();
  }
  /**
   * {@inheritDoc}
   * Indicates whether this set contains the provided object.
   *
   * @param  o  The object for which to make the determination.
   *
   * @return  {@code true} if this set contains the provided object,
   *          or {@code false} if not.
   */
  @Override
  public boolean contains(Object o) {
  public boolean contains(Object o)
  {
    return pimpl.contains(o);
  }
  /**
   * {@inheritDoc}
   * Retrieves the number of elements contained in this set.
   *
   * @return  The number of elements contained in this set.
   */
  @Override
  public int size() {
  public int size()
  {
    return pimpl.size();
  }
}
opends/src/server/org/opends/server/api/SynchronizationProvider.java
@@ -43,7 +43,6 @@
/**
 * This class defines the set of methods and structures that are
 * available for use in a Directory Server synchronization provider.
@@ -55,11 +54,8 @@
 * @param <T> the configuration for the synchronization provider.
 */
public abstract class
  SynchronizationProvider<T extends SynchronizationProviderCfg>
       SynchronizationProvider<T extends SynchronizationProviderCfg>
{
  /**
   * Performs any initialization that might be necessary for this
   * synchronization provider.
opends/src/server/org/opends/server/api/TrustManagerProvider.java
@@ -39,8 +39,8 @@
/**
 * This class defines an API that may be used to obtain a set of
 * <CODE>javax.net.ssl.TrustManager</CODE> objects for use when
 * performing SSL communication.
 * {@code javax.net.ssl.TrustManager} objects for use when performing
 * SSL/StartTLS negotiation.
 */
public abstract class TrustManagerProvider
{
@@ -77,12 +77,11 @@
  /**
   * Retrieves a set of <CODE>TrustManager</CODE> objects that may be
   * used for interactions requiring access to a trust manager.
   * Retrieves a set of {@code TrustManager} objects that may be used
   * for interactions requiring access to a trust manager.
   *
   * @return  A set of <CODE>TrustManager</CODE> objects that may be
   *          used for interactions requiring access to a trust
   *          manager.
   * @return  A set of {@code TrustManager} objects that may be used
   *          for interactions requiring access to a trust manager.
   *
   * @throws  DirectoryException  If a problem occurs while attempting
   *                              to obtain the set of trust managers.
opends/src/server/org/opends/server/api/VirtualAttributeProvider.java
@@ -236,10 +236,10 @@
   * @param  subFinal    The subFinal component to use in the
   *                     determination.
   *
   * @return  <CODE>UNDEFINED</CODE> if this attribute does not have a
   *          substring matching rule, <CODE>TRUE</CODE> if at least
   *          one value matches the provided substring, or
   *          <CODE>FALSE</CODE> otherwise.
   * @return  {@code UNDEFINED} if this attribute does not have a
   *          substring matching rule, {@code TRUE} if at least one
   *          value matches the provided substring, or {@code FALSE}
   *          otherwise.
   */
  public ConditionResult matchesSubstring(Entry entry,
                                          VirtualAttributeRule rule,
@@ -609,8 +609,8 @@
   * @param  searchOperation  The search operation for which to make
   *                          the determination.
   *
   * @return  <CODE>true</CODE> if this attribute may be included in
   *          search filters, or <CODE>false</CODE> if not.
   * @return  {@code true} if this attribute may be included in search
   *          filters, or {@code false} if not.
   */
  public abstract boolean isSearchable(VirtualAttributeRule rule,
                                       SearchOperation
@@ -622,7 +622,7 @@
   * Processes the provided search operation in which the search
   * criteria includes an operation targeted at this virtual
   * attribute.  This method should only be called if
   * <CODE>isSearchable</CODE> returns true and it is not possible to
   * {@code isSearchable} returns true and it is not possible to
   * construct a manageable candidate list by processing other
   * elements of the search criteria.
   *
opends/src/server/org/opends/server/api/WorkQueue.java
@@ -30,10 +30,9 @@
import org.opends.server.config.ConfigEntry;
import org.opends.server.config.ConfigException;
import org.opends.server.core.Operation;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
@@ -49,9 +48,6 @@
 */
public abstract class WorkQueue
{
  /**
   * Initializes this work queue based on the information in the
   * provided configuration entry.
opends/src/server/org/opends/server/api/plugin/IntermediateResponsePluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by an intermediate response plugin.
 */
public class IntermediateResponsePluginResult
{
  /**
   * An intermediate response plugin result instance that indicates
   * all processing was successful.
opends/src/server/org/opends/server/api/plugin/LDIFPluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing an LDIF import or export plugin.
 */
public class LDIFPluginResult
{
  /**
   * An LDIF plugin result instance that indicates all processing was
   * successful.
opends/src/server/org/opends/server/api/plugin/PostConnectPluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a post-connect plugin.
 */
public class PostConnectPluginResult
{
  /**
   * A post-connect plugin result instance that indicates all
   * processing was  successful.
opends/src/server/org/opends/server/api/plugin/PostDisconnectPluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a post-disconnect plugin.
 */
public class PostDisconnectPluginResult
{
  /**
   * A post-disconnect plugin result instance that indicates all
   * processing was successful.
opends/src/server/org/opends/server/api/plugin/PostOperationPluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a post-operation plugin.
 */
public class PostOperationPluginResult
{
  /**
   * A post-operation plugin result instance that indicates all
   * processing was  successful.
opends/src/server/org/opends/server/api/plugin/PostResponsePluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a post-response plugin.
 */
public class PostResponsePluginResult
{
  /**
   * A post-response plugin result instance that indicates all
   * processing was successful.
opends/src/server/org/opends/server/api/plugin/PreOperationPluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a pre-operation plugin.
 */
public class PreOperationPluginResult
{
  /**
   * A pre-operation plugin result instance that indicates all
   * processing was successful.
opends/src/server/org/opends/server/api/plugin/PreParsePluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a pre-parse plugin.
 */
public class PreParsePluginResult
{
  /**
   * A pre-parse plugin result instance that indicates all processing
   * was successful.
opends/src/server/org/opends/server/api/plugin/SearchEntryPluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a search result entry plugin.
 */
public class SearchEntryPluginResult
{
  /**
   * A search entry plugin result instance that indicates all
   * processing was successful.
opends/src/server/org/opends/server/api/plugin/SearchReferencePluginResult.java
@@ -28,18 +28,12 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a search result reference plugin.
 */
public class SearchReferencePluginResult
{
  /**
   * A search reference plugin result instance that indicates all
   * processing was successful.
opends/src/server/org/opends/server/api/plugin/StartupPluginResult.java
@@ -28,9 +28,6 @@
/**
 * This class defines a data structure that holds information about
 * the result of processing by a plugin invoked during the Directory
@@ -38,9 +35,6 @@
 */
public class StartupPluginResult
{
  /**
   * A startup plugin result instance that indicates all processing
   * was successful.
opends/src/server/org/opends/server/authorization/dseecompat/AciContainer.java
@@ -32,8 +32,8 @@
import org.opends.server.api.Group;
import org.opends.server.api.ConnectionSecurityProvider;
import org.opends.server.core.AddOperation;
import org.opends.server.core.Operation;
import org.opends.server.extensions.TLSConnectionSecurityProvider;
import org.opends.server.types.Operation;
import java.net.InetAddress;
import java.util.LinkedList;
import static org.opends.server.authorization.dseecompat.AciHandler.*;
opends/src/server/org/opends/server/authorization/dseecompat/DNS.java
@@ -164,7 +164,7 @@
                int msgID = MSGID_ACI_ERROR_CHECKING_CANONICAL_HOSTNAME;
                String message = getMessage(msgID, hn, expr,
                                            stackTraceToSingleLineString(e));
                                            getExceptionMessage(e));
                logError(ErrorLogCategory.ACCESS_CONTROL,
                         ErrorLogSeverity.INFORMATIONAL, message, msgID);
              }
opends/src/server/org/opends/server/backends/BackupBackend.java
@@ -158,7 +158,7 @@
      }
      int msgID = MSGID_BACKUP_CANNOT_DECODE_BACKUP_ROOT_DN;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -233,7 +233,7 @@
      int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN;
      String message = getMessage(msgID, backupBaseDN.toString(),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
  }
@@ -452,7 +452,7 @@
      }
      int msgID = MSGID_BACKUP_ERROR_GETTING_BACKUP_DIRECTORY;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID);
    }
@@ -574,7 +574,7 @@
      }
      int msgID = MSGID_BACKUP_ERROR_GETTING_BACKUP_DIRECTORY;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID);
    }
opends/src/server/org/opends/server/backends/MemoryBackend.java
@@ -186,7 +186,7 @@
        int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN;
        String message = getMessage(msgID, dn.toString(),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
    }
opends/src/server/org/opends/server/backends/MonitorBackend.java
@@ -194,7 +194,7 @@
      }
      int msgID = MSGID_MONITOR_CANNOT_DECODE_MONITOR_ROOT_DN;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -236,7 +236,7 @@
      int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN;
      String message = getMessage(msgID, baseMonitorDN.toString(),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
  }
opends/src/server/org/opends/server/backends/SchemaBackend.java
@@ -359,7 +359,7 @@
        int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN;
        String message = getMessage(msgID, baseDNs[i].toString(),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
    }
@@ -487,7 +487,7 @@
      }
      int msgID = MSGID_SCHEMA_ERROR_DETERMINING_SCHEMA_CHANGES;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      logError(ErrorLogCategory.SCHEMA, ErrorLogSeverity.SEVERE_ERROR, message,
               msgID);
    }
@@ -1503,7 +1503,7 @@
      }
      int    msgID   = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_SCHEMA;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -3770,14 +3770,14 @@
      if (allCleaned)
      {
        int    msgID   = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_CLEANED;
        String message = getMessage(msgID, stackTraceToSingleLineString(e));
        String message = getMessage(msgID, getExceptionMessage(e));
        throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                     message, msgID, e);
      }
      else
      {
        int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_NOT_CLEANED;
        String message = getMessage(msgID, stackTraceToSingleLineString(e));
        String message = getMessage(msgID, getExceptionMessage(e));
        DirectoryServer.sendAlertNotification(this,
                             ALERT_TYPE_CANNOT_COPY_SCHEMA_FILES, msgID,
@@ -3855,14 +3855,14 @@
      if (allRestored)
      {
        int    msgID   = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_RESTORED;
        String message = getMessage(msgID, stackTraceToSingleLineString(e));
        String message = getMessage(msgID, getExceptionMessage(e));
        throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                     message, msgID, e);
      }
      else
      {
        int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_NOT_RESTORED;
        String message = getMessage(msgID, stackTraceToSingleLineString(e));
        String message = getMessage(msgID, getExceptionMessage(e));
        DirectoryServer.sendAlertNotification(this,
                             ALERT_TYPE_CANNOT_WRITE_NEW_SCHEMA_FILES, msgID,
@@ -4402,7 +4402,7 @@
      int    msgID   = MSGID_SCHEMA_BACKUP_CANNOT_CREATE_ARCHIVE_FILE;
      String message = getMessage(msgID, String.valueOf(filename),
                                  backupDirectory.getPath(),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -4473,8 +4473,7 @@
      }
      msgID   = MSGID_SCHEMA_BACKUP_CANNOT_LIST_SCHEMA_FILES;
      message = getMessage(msgID, schemaDirPath,
                           stackTraceToSingleLineString(e));
      message = getMessage(msgID, schemaDirPath, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -5220,7 +5219,7 @@
      int msgID = MSGID_SCHEMA_CANNOT_DETERMINE_BASE_DN;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      resultCode = DirectoryServer.getServerErrorResultCode();
      newBaseDNs = null;
    }
@@ -5310,7 +5309,7 @@
          int msgID = MSGID_SCHEMA_CANNOT_DEREGISTER_BASE_DN;
          messages.add(getMessage(msgID, String.valueOf(dn),
                                  stackTraceToSingleLineString(e)));
                                  getExceptionMessage(e)));
          resultCode = DirectoryServer.getServerErrorResultCode();
        }
      }
@@ -5333,7 +5332,7 @@
          int msgID = MSGID_SCHEMA_CANNOT_REGISTER_BASE_DN;
          messages.add(getMessage(msgID, String.valueOf(dn),
                                  stackTraceToSingleLineString(e)));
                                  getExceptionMessage(e)));
          resultCode = DirectoryServer.getServerErrorResultCode();
        }
      }
opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
@@ -36,10 +36,8 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyOperation;
import org.opends.server.core.ModifyDNOperation;
import org.opends.server.core.Operation;
import org.opends.server.core.SearchOperation;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.controls.PagedResultsControl;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
@@ -50,8 +48,10 @@
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockType;
import org.opends.server.types.Modification;
import org.opends.server.types.Operation;
import org.opends.server.types.RDN;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchScope;
opends/src/server/org/opends/server/backends/jeb/JebFormat.java
@@ -33,10 +33,10 @@
import org.opends.server.protocols.asn1.ASN1Integer;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.types.CryptoManager;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import static org.opends.server.loggers.debug.DebugLogger.debugInfo;
opends/src/server/org/opends/server/backends/task/RecurringTask.java
@@ -218,7 +218,7 @@
      int    msgID   = MSGID_RECURRINGTASK_CANNOT_LOAD_CLASS;
      String message = getMessage(msgID, String.valueOf(taskClassName),
                                  ATTR_RECURRING_TASK_CLASS_NAME,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message,
                                   msgID, e);
    }
opends/src/server/org/opends/server/backends/task/Task.java
@@ -40,7 +40,6 @@
import java.util.concurrent.locks.Lock;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.Operation;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
@@ -51,6 +50,7 @@
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
import org.opends.server.util.TimeThread;
import static org.opends.server.config.ConfigConstants.*;
opends/src/server/org/opends/server/backends/task/TaskBackend.java
@@ -182,7 +182,7 @@
        int    msgID   = MSGID_TASKBE_CANNOT_DECODE_RECURRING_TASK_BASE_DN;
        String message = getMessage(msgID,
                                    String.valueOf(recurringTaskBaseString),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -203,7 +203,7 @@
        int    msgID   = MSGID_TASKBE_CANNOT_DECODE_SCHEDULED_TASK_BASE_DN;
        String message = getMessage(msgID,
                                    String.valueOf(scheduledTaskBaseString),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
    }
@@ -247,7 +247,7 @@
      int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN;
      String message = getMessage(msgID, taskRootDN.toString(),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
  }
@@ -1127,7 +1127,7 @@
      int msgID = MSGID_TASKBE_ERROR_GETTING_BACKING_FILE;
      unacceptableReasons.add(getMessage(msgID, ATTR_TASK_BACKING_FILE,
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1198,7 +1198,7 @@
      int msgID = MSGID_TASKBE_ERROR_GETTING_BACKING_FILE;
      messages.add(getMessage(msgID, ATTR_TASK_BACKING_FILE,
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      resultCode = DirectoryServer.getServerErrorResultCode();
    }
opends/src/server/org/opends/server/backends/task/TaskScheduler.java
@@ -43,7 +43,6 @@
import org.opends.server.api.AlertGenerator;
import org.opends.server.api.DirectoryThread;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.Operation;
import org.opends.server.core.SearchOperation;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
@@ -58,6 +57,7 @@
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.LDIFExportConfig;
import org.opends.server.types.LockManager;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchFilter;
import org.opends.server.util.LDIFException;
opends/src/server/org/opends/server/config/JMXMBean.java
@@ -57,14 +57,15 @@
import org.opends.server.protocols.jmx.Credential;
import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.InvokableMethod;
import org.opends.server.types.RawModification;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchScope;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
@@ -76,12 +77,12 @@
import static org.opends.server.config.ConfigConstants.OPTION_PENDING_VALUES;
import org.opends.server.protocols.jmx.JmxClientConnection;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPFilter;
import org.opends.server.protocols.ldap.LDAPModification;
import org.opends.server.protocols.ldap.LDAPAttribute ;
import org.opends.server.protocols.internal.InternalSearchOperation ;
import org.opends.server.core.ModifyOperation ;
import org.opends.server.types.LDAPException;
import org.opends.server.types.ModificationType;
@@ -624,7 +625,7 @@
      int    msgID   = MSGID_CONFIG_JMX_CANNOT_GET_ATTRIBUTE;
      String message = getMessage(msgID, String.valueOf(attributeName),
                                  String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new AttributeNotFoundException(message);
    }
@@ -810,7 +811,7 @@
        ModificationType.REPLACE, getLdapAttributeFromJmx(
            attribute,
            newConfigEntry));
    ArrayList<LDAPModification> ldapModList = new ArrayList<LDAPModification>();
    ArrayList<RawModification> ldapModList = new ArrayList<RawModification>();
    ldapModList.add(ldapModification);
    //
@@ -1001,7 +1002,7 @@
    //
    // prepare the ldap modify
    ArrayList<LDAPModification> ldapModList = new ArrayList<LDAPModification>();
    ArrayList<RawModification> ldapModList = new ArrayList<RawModification>();
    for (Object o : attributes)
    {
      Attribute attribute = (Attribute) o;
opends/src/server/org/opends/server/controls/AccountUsableRequestControl.java
@@ -28,9 +28,9 @@
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.LDAPException;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.messages.ProtocolMessages.*;
opends/src/server/org/opends/server/controls/AccountUsableResponseControl.java
@@ -36,10 +36,10 @@
import org.opends.server.protocols.asn1.ASN1Integer;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
@@ -581,7 +581,7 @@
      }
      int msgID = MSGID_ACCTUSABLERES_DECODE_ERROR;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message);
    }
  }
opends/src/server/org/opends/server/controls/AuthorizationIdentityResponseControl.java
@@ -29,10 +29,10 @@
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.DN;
import org.opends.server.types.LDAPException;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.messages.ProtocolMessages.*;
opends/src/server/org/opends/server/controls/EntryChangeNotificationControl.java
@@ -36,11 +36,11 @@
import org.opends.server.protocols.asn1.ASN1Long;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.DN;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
@@ -314,7 +314,7 @@
      }
      int    msgID   = MSGID_ECN_CANNOT_DECODE_VALUE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message, e);
    }
opends/src/server/org/opends/server/controls/LDAPAssertionRequestControl.java
@@ -31,13 +31,13 @@
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPFilter;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.SearchFilter;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import org.opends.server.types.SearchFilter;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
opends/src/server/org/opends/server/controls/LDAPPostReadRequestControl.java
@@ -37,10 +37,10 @@
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.AttributeType;
import org.opends.server.types.Control;
import org.opends.server.types.LDAPException;
import org.opends.server.types.ObjectClass;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
opends/src/server/org/opends/server/controls/LDAPPostReadResponseControl.java
@@ -31,12 +31,12 @@
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.protocols.ldap.SearchResultEntryProtocolOp;
import org.opends.server.types.Control;
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
opends/src/server/org/opends/server/controls/LDAPPreReadRequestControl.java
@@ -37,12 +37,12 @@
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.AttributeType;
import org.opends.server.types.Control;
import org.opends.server.types.ObjectClass;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
opends/src/server/org/opends/server/controls/LDAPPreReadResponseControl.java
@@ -31,12 +31,12 @@
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.protocols.ldap.SearchResultEntryProtocolOp;
import org.opends.server.types.Control;
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
opends/src/server/org/opends/server/controls/MatchedValuesControl.java
@@ -33,12 +33,12 @@
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
import org.opends.server.types.Control;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
@@ -192,7 +192,7 @@
      }
      int    msgID   = MSGID_MATCHEDVALUES_CANNOT_DECODE_VALUE_AS_SEQUENCE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message);
    }
opends/src/server/org/opends/server/controls/MatchedValuesFilter.java
@@ -40,13 +40,13 @@
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPFilter;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
import org.opends.server.types.ByteString;
import org.opends.server.types.ConditionResult;
import org.opends.server.types.LDAPException;
import org.opends.server.types.RawFilter;
import org.opends.server.util.Validator;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
@@ -131,13 +131,13 @@
  private ASN1OctetString normalizedSubInitial;
  // The raw, unprocessed assertion value for this matched values filter.
  private ASN1OctetString rawAssertionValue;
  private ByteString rawAssertionValue;
  // The subFinal value for this matched values filter.
  private ASN1OctetString subFinal;
  private ByteString subFinal;
  // The subInitial value for this matched values filter.
  private ASN1OctetString subInitial;
  private ByteString subInitial;
  // The processed attribute type for this matched values filter.
  private AttributeType attributeType;
@@ -159,7 +159,7 @@
  private List<ASN1OctetString> normalizedSubAny;
  // The set of subAny values for this matched values filter.
  private List<ASN1OctetString> subAny;
  private List<ByteString> subAny;
  // The matching rule for this matched values filter.
  private MatchingRule matchingRule;
@@ -190,10 +190,9 @@
   * @param  matchingRuleID     The matching rule ID.
   */
  private MatchedValuesFilter(byte matchType, String rawAttributeType,
                              ASN1OctetString rawAssertionValue,
                              ASN1OctetString subInitial,
                              List<ASN1OctetString> subAny,
                              ASN1OctetString subFinal, String matchingRuleID)
                              ByteString rawAssertionValue,
                              ByteString subInitial, List<ByteString> subAny,
                              ByteString subFinal, String matchingRuleID)
  {
    this.matchType         = matchType;
    this.rawAttributeType  = rawAttributeType;
@@ -228,7 +227,7 @@
   */
  public static MatchedValuesFilter createEqualityFilter(
                                         String rawAttributeType,
                                         ASN1OctetString rawAssertionValue)
                                         ByteString rawAssertionValue)
  {
    Validator.ensureNotNull(rawAttributeType,rawAssertionValue);
@@ -278,9 +277,9 @@
   */
  public static MatchedValuesFilter createSubstringsFilter(
                                         String rawAttributeType,
                                         ASN1OctetString subInitial,
                                         List<ASN1OctetString> subAny,
                                         ASN1OctetString subFinal)
                                         ByteString subInitial,
                                         List<ByteString> subAny,
                                         ByteString subFinal)
  {
    Validator.ensureNotNull(rawAttributeType);
    return new MatchedValuesFilter(SUBSTRINGS_TYPE, rawAttributeType, null,
@@ -301,9 +300,9 @@
   */
  public static MatchedValuesFilter createSubstringsFilter(
                                         AttributeType attributeType,
                                         ASN1OctetString subInitial,
                                         List<ASN1OctetString> subAny,
                                         ASN1OctetString subFinal)
                                         ByteString subInitial,
                                         List<ByteString> subAny,
                                         ByteString subFinal)
  {
    Validator.ensureNotNull(attributeType);
    String rawAttributeType = attributeType.getNameOrOID();
@@ -328,7 +327,7 @@
   */
  public static MatchedValuesFilter createGreaterOrEqualFilter(
                                         String rawAttributeType,
                                         ASN1OctetString rawAssertionValue)
                                         ByteString rawAssertionValue)
  {
   Validator.ensureNotNull(rawAttributeType, rawAssertionValue);
@@ -377,7 +376,7 @@
   */
  public static MatchedValuesFilter createLessOrEqualFilter(
                                         String rawAttributeType,
                                         ASN1OctetString rawAssertionValue)
                                         ByteString rawAssertionValue)
  {
    Validator.ensureNotNull(rawAttributeType, rawAssertionValue);
    return new MatchedValuesFilter(LESS_OR_EQUAL_TYPE, rawAttributeType,
@@ -464,7 +463,7 @@
   */
  public static MatchedValuesFilter createApproximateFilter(
                                         String rawAttributeType,
                                         ASN1OctetString rawAssertionValue)
                                         ByteString rawAssertionValue)
  {
    Validator.ensureNotNull(rawAttributeType,rawAssertionValue);
@@ -514,7 +513,7 @@
  public static MatchedValuesFilter createExtensibleMatchFilter(
                                         String rawAttributeType,
                                         String matchingRuleID,
                                         ASN1OctetString rawAssertionValue)
                                         ByteString rawAssertionValue)
  {
    Validator
        .ensureNotNull(rawAttributeType, matchingRuleID, rawAssertionValue);
@@ -568,7 +567,7 @@
   * @throws  LDAPException  If the provided LDAP filter cannot be treated as a
   *                         matched values filter.
   */
  public static MatchedValuesFilter createFromLDAPFilter(LDAPFilter filter)
  public static MatchedValuesFilter createFromLDAPFilter(RawFilter filter)
         throws LDAPException
  {
    switch (filter.getFilterType())
@@ -668,7 +667,7 @@
        // These will all be encoded in the same way.
        ArrayList<ASN1Element> elements = new ArrayList<ASN1Element>(2);
        elements.add(new ASN1OctetString(rawAttributeType));
        elements.add(rawAssertionValue);
        elements.add(rawAssertionValue.toASN1OctetString());
        return new ASN1Sequence(matchType, elements);
@@ -676,23 +675,26 @@
        ArrayList<ASN1Element> subElements = new ArrayList<ASN1Element>();
        if (subInitial != null)
        {
          subInitial.setType(TYPE_SUBINITIAL);
          subElements.add(subInitial);
          ASN1OctetString subInitialOS = subInitial.toASN1OctetString();
          subInitialOS.setType(TYPE_SUBINITIAL);
          subElements.add(subInitialOS);
        }
        if (subAny != null)
        {
          for (ASN1OctetString s : subAny)
          for (ByteString s : subAny)
          {
            s.setType(TYPE_SUBANY);
            subElements.add(s);
            ASN1OctetString os = s.toASN1OctetString();
            os.setType(TYPE_SUBANY);
            subElements.add(os);
          }
        }
        if (subFinal != null)
        {
          subFinal.setType(TYPE_SUBFINAL);
          subElements.add(subFinal);
          ASN1OctetString subFinalOS = subFinal.toASN1OctetString();
          subFinalOS.setType(TYPE_SUBFINAL);
          subElements.add(subFinalOS);
        }
        elements = new ArrayList<ASN1Element>(2);
@@ -719,8 +721,9 @@
                                           rawAttributeType));
        }
        rawAssertionValue.setType(TYPE_MATCHING_RULE_VALUE);
        elements.add(rawAssertionValue);
        ASN1OctetString valueOS = rawAssertionValue.toASN1OctetString();
        valueOS.setType(TYPE_MATCHING_RULE_VALUE);
        elements.add(valueOS);
        return new ASN1Sequence(matchType, elements);
@@ -783,7 +786,7 @@
          }
          int    msgID   = MSGID_MVFILTER_CANNOT_DECODE_AVA;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message,
                                  e);
        }
@@ -817,9 +820,9 @@
          String rawAttributeType =
                      elements.get(0).decodeAsOctetString().stringValue();
          ASN1OctetString subInitial        = null;
          ArrayList<ASN1OctetString> subAny = null;
          ASN1OctetString subFinal          = null;
          ByteString subInitial        = null;
          ArrayList<ByteString> subAny = null;
          ByteString subFinal          = null;
          for (ASN1Element e : subElements)
          {
            switch (e.getType())
@@ -841,7 +844,7 @@
              case TYPE_SUBANY:
                if (subAny == null)
                {
                  subAny = new ArrayList<ASN1OctetString>();
                  subAny = new ArrayList<ByteString>();
                }
                subAny.add(e.decodeAsOctetString());
@@ -885,7 +888,7 @@
          }
          int    msgID   = MSGID_MVFILTER_CANNOT_DECODE_SUBSTRINGS;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message,
                                  e);
        }
@@ -908,7 +911,7 @@
          }
          int    msgID   = MSGID_MVFILTER_CANNOT_DECODE_PRESENT_TYPE;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message,
                                  e);
        }
@@ -1005,7 +1008,7 @@
          }
          int    msgID   = MSGID_MVFILTER_CANNOT_DECODE_EXTENSIBLE_MATCH;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message,
                                  e);
        }
@@ -1128,7 +1131,7 @@
   * @return  The raw, unprocessed assertion value for this matched values
   *          filter, or <CODE>null</CODE> if there is none.
   */
  public ASN1OctetString getRawAssertionValue()
  public ByteString getRawAssertionValue()
  {
    return rawAssertionValue;
  }
@@ -1142,7 +1145,7 @@
   * @param  rawAssertionValue  The raw, unprocessed assertion value for this
   *                            matched values filter.
   */
  public void setRawAssertionValue(ASN1OctetString rawAssertionValue)
  public void setRawAssertionValue(ByteString rawAssertionValue)
  {
    this.rawAssertionValue = rawAssertionValue;
@@ -1203,7 +1206,7 @@
   * @return  The subInitial element for this matched values filter, or
   *          <CODE>null</CODE> if there is none.
   */
  public ASN1OctetString getSubInitialElement()
  public ByteString getSubInitialElement()
  {
    return subInitial;
  }
@@ -1215,7 +1218,7 @@
   *
   * @param  subInitial  The subInitial element for this matched values filter.
   */
  public void setSubInitialElement(ASN1OctetString subInitial)
  public void setSubInitialElement(ByteString subInitial)
  {
    this.subInitial = subInitial;
@@ -1265,7 +1268,7 @@
   *          there are none, then the return value may be either
   *          <CODE>null</CODE> or an empty list.
   */
  public List<ASN1OctetString> getSubAnyElements()
  public List<ByteString> getSubAnyElements()
  {
    return subAny;
  }
@@ -1277,7 +1280,7 @@
   *
   * @param  subAny  The set of subAny elements for this matched values filter.
   */
  public void setSubAnyElements(List<ASN1OctetString> subAny)
  public void setSubAnyElements(List<ByteString> subAny)
  {
    this.subAny = subAny;
@@ -1314,7 +1317,7 @@
        normalizedSubAny = new ArrayList<ASN1OctetString>();
        try
        {
          for (ASN1OctetString s : subAny)
          for (ByteString s : subAny)
          {
            normalizedSubAny.add(
                 substringMatchingRule.normalizeSubstring(s).
@@ -1344,7 +1347,7 @@
   * @return  The subFinal element for this matched values filter, or
   *          <CODE>null</CODE> if there is none.
   */
  public ASN1OctetString getSubFinalElement()
  public ByteString getSubFinalElement()
  {
    return subFinal;
  }
@@ -1356,7 +1359,7 @@
   *
   * @param  subFinal  The subFinal element for this matched values filter.
   */
  public void setSubFinalElement(ASN1OctetString subFinal)
  public void setSubFinalElement(ByteString subFinal)
  {
    this.subFinal = subFinal;
@@ -1847,7 +1850,7 @@
        buffer.append("(");
        buffer.append(rawAttributeType);
        buffer.append("=");
        LDAPFilter.valueToFilterString(buffer, rawAssertionValue);
        RawFilter.valueToFilterString(buffer, rawAssertionValue);
        buffer.append(")");
        break;
@@ -1858,22 +1861,22 @@
        buffer.append("=");
        if (subInitial != null)
        {
          LDAPFilter.valueToFilterString(buffer, subInitial);
          RawFilter.valueToFilterString(buffer, subInitial);
        }
        if (subAny != null)
        {
          for (ASN1OctetString s : subAny)
          for (ByteString s : subAny)
          {
            buffer.append("*");
            LDAPFilter.valueToFilterString(buffer, s);
            RawFilter.valueToFilterString(buffer, s);
          }
        }
        buffer.append("*");
        if (subFinal != null)
        {
          LDAPFilter.valueToFilterString(buffer, subFinal);
          RawFilter.valueToFilterString(buffer, subFinal);
        }
        buffer.append(")");
        break;
@@ -1883,7 +1886,7 @@
        buffer.append("(");
        buffer.append(rawAttributeType);
        buffer.append(">=");
        LDAPFilter.valueToFilterString(buffer, rawAssertionValue);
        RawFilter.valueToFilterString(buffer, rawAssertionValue);
        buffer.append(")");
        break;
@@ -1892,7 +1895,7 @@
        buffer.append("(");
        buffer.append(rawAttributeType);
        buffer.append("<=");
        LDAPFilter.valueToFilterString(buffer, rawAssertionValue);
        RawFilter.valueToFilterString(buffer, rawAssertionValue);
        buffer.append(")");
        break;
@@ -1908,7 +1911,7 @@
        buffer.append("(");
        buffer.append(rawAttributeType);
        buffer.append("~=");
        LDAPFilter.valueToFilterString(buffer, rawAssertionValue);
        RawFilter.valueToFilterString(buffer, rawAssertionValue);
        buffer.append(")");
        break;
@@ -1928,7 +1931,7 @@
        }
        buffer.append(":=");
        LDAPFilter.valueToFilterString(buffer, rawAssertionValue);
        RawFilter.valueToFilterString(buffer, rawAssertionValue);
        buffer.append(")");
        break;
    }
opends/src/server/org/opends/server/controls/PagedResultsControl.java
@@ -38,8 +38,8 @@
import org.opends.server.protocols.asn1.ASN1Integer;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.types.Control;
import org.opends.server.types.LDAPException;
import java.util.ArrayList;
opends/src/server/org/opends/server/controls/PasswordExpiredControl.java
@@ -28,9 +28,9 @@
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.LDAPException;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.messages.ProtocolMessages.*;
opends/src/server/org/opends/server/controls/PasswordExpiringControl.java
@@ -29,10 +29,10 @@
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
@@ -162,7 +162,7 @@
      }
      int msgID = MSGID_PWEXPIRING_CANNOT_DECODE_SECONDS_UNTIL_EXPIRATION;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message);
    }
opends/src/server/org/opends/server/controls/PasswordPolicyRequestControl.java
@@ -28,9 +28,9 @@
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.LDAPException;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.messages.ProtocolMessages.*;
opends/src/server/org/opends/server/controls/PasswordPolicyResponseControl.java
@@ -36,9 +36,9 @@
import org.opends.server.protocols.asn1.ASN1Integer;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
@@ -338,7 +338,7 @@
      }
      int    msgID   = MSGID_PWPOLICYRES_DECODE_ERROR;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message);
    }
  }
opends/src/server/org/opends/server/controls/PersistentSearchChangeType.java
@@ -32,8 +32,8 @@
import java.util.Iterator;
import java.util.Set;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.LDAPException;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.messages.ProtocolMessages.*;
opends/src/server/org/opends/server/controls/PersistentSearchControl.java
@@ -36,9 +36,9 @@
import org.opends.server.protocols.asn1.ASN1Integer;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.LDAPException;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
@@ -247,7 +247,7 @@
      }
      int    msgID   = MSGID_PSEARCH_CANNOT_DECODE_VALUE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message, e);
    }
opends/src/server/org/opends/server/controls/ProxiedAuthV1Control.java
@@ -36,12 +36,12 @@
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockManager;
import org.opends.server.types.ResultCode;
@@ -227,7 +227,7 @@
      }
      int    msgID   = MSGID_PROXYAUTH1_CANNOT_DECODE_VALUE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message, e);
    }
opends/src/server/org/opends/server/controls/ProxiedAuthV2Control.java
@@ -35,12 +35,12 @@
import org.opends.server.core.PasswordPolicyState;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Control;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockManager;
import org.opends.server.types.ResultCode;
@@ -167,7 +167,7 @@
        }
        int    msgID   = MSGID_PROXYAUTH2_CANNOT_DECODE_VALUE;
        String message = getMessage(msgID, stackTraceToSingleLineString(ae));
        String message = getMessage(msgID, getExceptionMessage(ae));
        throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message,
                                ae);
      }
@@ -180,7 +180,7 @@
      }
      int    msgID   = MSGID_PROXYAUTH2_CANNOT_DECODE_VALUE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR, msgID, message, e);
    }
opends/src/server/org/opends/server/core/AbandonOperation.java
@@ -36,6 +36,7 @@
import org.opends.server.types.CancelResult;
import org.opends.server.types.Control;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.ResultCode;
import org.opends.server.types.operation.PostOperationAbandonOperation;
@@ -386,7 +387,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    // Abandon operations cannot be canceled.
    return false;
opends/src/server/org/opends/server/core/AccessControlConfigManager.java
@@ -467,7 +467,7 @@
          int msgID = MSGID_CONFIG_AUTHZ_UNABLE_TO_LOAD_CLASS;
          String message = getMessage(msgID, className, String
              .valueOf(configuration.dn().toString()),
              stackTraceToSingleLineString(e));
              getExceptionMessage(e));
          throw new ConfigException(msgID, message, e);
        } catch (ClassCastException e) {
          if (debugEnabled())
@@ -479,13 +479,13 @@
          String message = getMessage(msgID, className, String
              .valueOf(configuration.dn().toString()),
              AccessControlProvider.class.getName(),
              stackTraceToSingleLineString(e));
              getExceptionMessage(e));
          throw new ConfigException(msgID, message, e);
        }
      } catch (ConfigException e) {
        int msgID = MSGID_CONFIG_AUTHZ_UNABLE_TO_DETERMINE_CLASS;
        String message = getMessage(msgID, configuration.dn()
            .toString(), stackTraceToSingleLineString(e));
            .toString(), getExceptionMessage(e));
        throw new ConfigException(msgID, message, e);
      }
    }
opends/src/server/org/opends/server/core/AddOperation.java
@@ -58,7 +58,6 @@
import org.opends.server.schema.UserPasswordSyntax;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
@@ -73,10 +72,13 @@
import org.opends.server.types.Entry;
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockManager;
import org.opends.server.types.ObjectClass;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.Privilege;
import org.opends.server.types.RawAttribute;
import org.opends.server.types.RDN;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchFilter;
@@ -112,9 +114,6 @@
       implements PreParseAddOperation, PreOperationAddOperation,
                  PostOperationAddOperation, PostResponseAddOperation
{
  // The set of response controls to send to the client.
  private ArrayList<Control> responseControls;
@@ -134,7 +133,7 @@
  // The set of attributes (including the objectclass attribute) in a raw,
  // unprocessed form as provided in the request.  One or more of these
  // attributes may be invalid.
  private List<LDAPAttribute> rawAttributes;
  private List<RawAttribute> rawAttributes;
  // The set of operational attributes for the entry to add.
  private Map<AttributeType,List<Attribute>> operationalAttributes;
@@ -173,7 +172,7 @@
   */
  public AddOperation(ClientConnection clientConnection, long operationID,
                      int messageID, List<Control> requestControls,
                      ByteString rawEntryDN, List<LDAPAttribute> rawAttributes)
                      ByteString rawEntryDN, List<RawAttribute> rawAttributes)
  {
    super(clientConnection, operationID, messageID, requestControls);
@@ -226,7 +225,7 @@
    rawEntryDN = new ASN1OctetString(entryDN.toString());
    rawAttributes = new ArrayList<LDAPAttribute>();
    rawAttributes = new ArrayList<RawAttribute>();
    ArrayList<ASN1OctetString> ocValues = new ArrayList<ASN1OctetString>();
    for (String s : objectClasses.values())
@@ -316,7 +315,7 @@
   * @return  The set of attributes in their raw, unparsed form as read from the
   *          client request.
   */
  public final List<LDAPAttribute> getRawAttributes()
  public final List<RawAttribute> getRawAttributes()
  {
    return rawAttributes;
  }
@@ -330,7 +329,7 @@
   * @param  rawAttribute  The attribute to add to the set of raw attributes for
   *                       this add operation.
   */
  public final void addRawAttribute(LDAPAttribute rawAttribute)
  public final void addRawAttribute(RawAttribute rawAttribute)
  {
    rawAttributes.add(rawAttribute);
@@ -347,7 +346,7 @@
   *
   * @param  rawAttributes  The set of raw attributes for this add operation.
   */
  public final void setRawAttributes(List<LDAPAttribute> rawAttributes)
  public final void setRawAttributes(List<RawAttribute> rawAttributes)
  {
    this.rawAttributes = rawAttributes;
@@ -832,7 +831,7 @@
        objectClasses         = new HashMap<ObjectClass,String>();
        userAttributes        = new HashMap<AttributeType,List<Attribute>>();
        operationalAttributes = new HashMap<AttributeType,List<Attribute>>();
        for (LDAPAttribute a : rawAttributes)
        for (RawAttribute a : rawAttributes)
        {
          try
          {
@@ -1057,7 +1056,7 @@
                     ErrorLogSeverity.SEVERE_ERROR,
                     MSGID_ADD_SYNCH_CONFLICT_RESOLUTION_FAILED,
                     getConnectionID(), getOperationID(),
                     stackTraceToSingleLineString(de));
                     getExceptionMessage(de));
            setResponseData(de);
            break addProcessing;
@@ -2022,7 +2021,7 @@
                  logError(ErrorLogCategory.SYNCHRONIZATION,
                           ErrorLogSeverity.SEVERE_ERROR,
                           MSGID_ADD_SYNCH_PREOP_FAILED, getConnectionID(),
                           getOperationID(), stackTraceToSingleLineString(de));
                           getOperationID(), getExceptionMessage(de));
                  setResponseData(de);
                  break addProcessing;
@@ -2151,7 +2150,7 @@
            logError(ErrorLogCategory.SYNCHRONIZATION,
                     ErrorLogSeverity.SEVERE_ERROR,
                     MSGID_ADD_SYNCH_POSTOP_FAILED, getConnectionID(),
                     getOperationID(), stackTraceToSingleLineString(de));
                     getOperationID(), getExceptionMessage(de));
            setResponseData(de);
            break;
@@ -2207,7 +2206,7 @@
          }
          int    msgID   = MSGID_ADD_ERROR_NOTIFYING_CHANGE_LISTENER;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
        }
@@ -2246,7 +2245,7 @@
          int    msgID   = MSGID_ADD_ERROR_NOTIFYING_PERSISTENT_SEARCH;
          String message = getMessage(msgID, String.valueOf(persistentSearch),
                                      stackTraceToSingleLineString(e));
                                      getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
@@ -2543,7 +2542,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    this.cancelRequest = cancelRequest;
    return true;
opends/src/server/org/opends/server/core/BackendConfigManager.java
@@ -138,7 +138,7 @@
      }
      int    msgID   = MSGID_CONFIG_BACKEND_CANNOT_GET_CONFIG_BASE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new ConfigException(msgID, message, e);
    }
@@ -362,7 +362,7 @@
          int msgID = MSGID_CONFIG_BACKEND_CANNOT_REGISTER_BACKEND;
          String message = getMessage(msgID, backendID,
                                      stackTraceToSingleLineString(e));
                                      getExceptionMessage(e));
          logError(ErrorLogCategory.CONFIGURATION,
                   ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
@@ -841,7 +841,7 @@
        int msgID = MSGID_CONFIG_BACKEND_CANNOT_REGISTER_BACKEND;
        String message = getMessage(msgID, backendID,
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        resultCode = DirectoryServer.getServerErrorResultCode();
        messages.add(message);
@@ -974,7 +974,7 @@
      }
      catch (Exception e)
      {
        unacceptableReason.add(stackTraceToSingleLineString(e));
        unacceptableReason.add(getExceptionMessage(e));
        return false;
      }
    }
@@ -1218,7 +1218,7 @@
      int msgID = MSGID_CONFIG_BACKEND_CANNOT_REGISTER_BACKEND;
      String message = getMessage(msgID, backendID,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      resultCode = DirectoryServer.getServerErrorResultCode();
      messages.add(message);
opends/src/server/org/opends/server/core/BindOperation.java
@@ -63,6 +63,7 @@
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.LockManager;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.ResultCode;
import org.opends.server.types.operation.PostOperationBindOperation;
@@ -1655,7 +1656,7 @@
            }
            int    msgID   = MSGID_BIND_OPERATION_PASSWORD_VALIDATION_EXCEPTION;
            String message = getMessage(msgID, stackTraceToSingleLineString(e));
            String message = getMessage(msgID, getExceptionMessage(e));
            setResultCode(DirectoryServer.getServerErrorResultCode());
            setAuthFailureReason(msgID, message);
@@ -2313,7 +2314,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    // Bind operations cannot be canceled.
    return false;
opends/src/server/org/opends/server/core/CompareOperation.java
@@ -43,7 +43,6 @@
import org.opends.server.controls.ProxiedAuthV1Control;
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
@@ -55,7 +54,9 @@
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockManager;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.Privilege;
import org.opends.server.types.ResultCode;
@@ -1177,7 +1178,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    this.cancelRequest = cancelRequest;
    return true;
opends/src/server/org/opends/server/core/DefaultAccessControlProvider.java
@@ -31,6 +31,7 @@
import org.opends.server.api.AccessControlProvider;
import org.opends.server.config.ConfigException;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.SearchResultReference;
import org.opends.server.types.Entry;
opends/src/server/org/opends/server/core/DeleteOperation.java
@@ -46,7 +46,6 @@
import org.opends.server.controls.ProxiedAuthV1Control;
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.types.AttributeType;
import org.opends.server.types.ByteString;
import org.opends.server.types.CancelledOperationException;
@@ -59,7 +58,9 @@
import org.opends.server.types.Entry;
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockManager;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.Privilege;
import org.opends.server.types.ResultCode;
@@ -648,7 +649,7 @@
                     ErrorLogSeverity.SEVERE_ERROR,
                     MSGID_DELETE_SYNCH_CONFLICT_RESOLUTION_FAILED,
                     getConnectionID(), getOperationID(),
                     stackTraceToSingleLineString(de));
                     getExceptionMessage(de));
            setResponseData(de);
            break deleteProcessing;
@@ -1093,7 +1094,7 @@
                logError(ErrorLogCategory.SYNCHRONIZATION,
                         ErrorLogSeverity.SEVERE_ERROR,
                         MSGID_DELETE_SYNCH_PREOP_FAILED, getConnectionID(),
                         getOperationID(), stackTraceToSingleLineString(de));
                         getOperationID(), getExceptionMessage(de));
                setResponseData(de);
                break deleteProcessing;
@@ -1212,7 +1213,7 @@
            logError(ErrorLogCategory.SYNCHRONIZATION,
                     ErrorLogSeverity.SEVERE_ERROR,
                     MSGID_DELETE_SYNCH_POSTOP_FAILED, getConnectionID(),
                     getOperationID(), stackTraceToSingleLineString(de));
                     getOperationID(), getExceptionMessage(de));
            setResponseData(de);
            break;
@@ -1264,7 +1265,7 @@
          }
          int    msgID   = MSGID_DELETE_ERROR_NOTIFYING_CHANGE_LISTENER;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
        }
@@ -1303,7 +1304,7 @@
          int    msgID   = MSGID_DELETE_ERROR_NOTIFYING_PERSISTENT_SEARCH;
          String message = getMessage(msgID, String.valueOf(persistentSearch),
                                      stackTraceToSingleLineString(e));
                                      getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
@@ -1376,7 +1377,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    this.cancelRequest = cancelRequest;
    return true;
opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -8981,7 +8981,7 @@
      // be able to start it anyway.
      int msgID = MSGID_CANNOT_ACQUIRE_EXCLUSIVE_SERVER_LOCK;
      String message = getMessage(msgID, lockFile,
          stackTraceToSingleLineString(e));
          getExceptionMessage(e));
      System.err.println(message);
      isServerRunning = true;
    }
opends/src/server/org/opends/server/core/ExtendedOperation.java
@@ -43,6 +43,7 @@
import org.opends.server.types.Control;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.DN;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.ResultCode;
import org.opends.server.types.operation.PostOperationExtendedOperation;
@@ -744,7 +745,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    this.cancelRequest = cancelRequest;
    return true;
opends/src/server/org/opends/server/core/LockFileManager.java
@@ -132,7 +132,7 @@
        int msgID = MSGID_FILELOCKER_LOCK_SHARED_FAILED_CREATE;
        failureReason.append(getMessage(msgID, lockFile,
                                        stackTraceToSingleLineString(e)));
                                        getExceptionMessage(e)));
        return false;
      }
@@ -154,7 +154,7 @@
        int msgID = MSGID_FILELOCKER_LOCK_SHARED_FAILED_OPEN;
        failureReason.append(getMessage(msgID, lockFile,
                                        stackTraceToSingleLineString(e)));
                                        getExceptionMessage(e)));
        if (raf != null)
        {
@@ -184,8 +184,7 @@
        }
        int msgID = MSGID_FILELOCKER_LOCK_SHARED_FAILED_LOCK;
        failureReason.append(getMessage(msgID,
                                        stackTraceToSingleLineString(e)));
        failureReason.append(getMessage(msgID, getExceptionMessage(e)));
        if (channel != null)
        {
          try
@@ -309,7 +308,7 @@
        int msgID = MSGID_FILELOCKER_LOCK_EXCLUSIVE_FAILED_CREATE;
        failureReason.append(getMessage(msgID, lockFile,
                                        stackTraceToSingleLineString(e)));
                                        getExceptionMessage(e)));
        return false;
      }
@@ -331,7 +330,7 @@
        int msgID = MSGID_FILELOCKER_LOCK_EXCLUSIVE_FAILED_OPEN;
        failureReason.append(getMessage(msgID, lockFile,
                                        stackTraceToSingleLineString(e)));
                                        getExceptionMessage(e)));
        if (raf != null)
        {
          try
@@ -361,7 +360,7 @@
        int msgID = MSGID_FILELOCKER_LOCK_EXCLUSIVE_FAILED_LOCK;
        failureReason.append(getMessage(msgID, lockFile,
                                        stackTraceToSingleLineString(e)));
                                        getExceptionMessage(e)));
        if (channel != null)
        {
          try
@@ -470,7 +469,7 @@
          int msgID = MSGID_FILELOCKER_UNLOCK_EXCLUSIVE_FAILED_RELEASE;
          failureReason.append(getMessage(msgID, lockFile,
                                          stackTraceToSingleLineString(e)));
                                          getExceptionMessage(e)));
          return false;
        }
@@ -518,7 +517,7 @@
            int msgID = MSGID_FILELOCKER_UNLOCK_SHARED_FAILED_RELEASE;
            failureReason.append(getMessage(msgID, lockFile,
                                            stackTraceToSingleLineString(e)));
                                            getExceptionMessage(e)));
            return false;
          }
opends/src/server/org/opends/server/core/ModifyDNOperation.java
@@ -50,7 +50,6 @@
import org.opends.server.controls.ProxiedAuthV1Control;
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
@@ -65,9 +64,11 @@
import org.opends.server.types.Entry;
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockManager;
import org.opends.server.types.Modification;
import org.opends.server.types.ModificationType;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.Privilege;
import org.opends.server.types.RDN;
@@ -970,7 +971,7 @@
        appendErrorMessage(getMessage(MSGID_MODDN_EXCEPTION_LOCKING_NEW_DN,
                                      String.valueOf(entryDN),
                                      String.valueOf(newDN),
                                      stackTraceToSingleLineString(e)));
                                      getExceptionMessage(e)));
        skipPostOperation = true;
        break modifyDNProcessing;
@@ -1082,7 +1083,7 @@
                     ErrorLogSeverity.SEVERE_ERROR,
                     MSGID_MODDN_SYNCH_CONFLICT_RESOLUTION_FAILED,
                     getConnectionID(), getOperationID(),
                     stackTraceToSingleLineString(de));
                     getExceptionMessage(de));
            setResponseData(de);
            break modifyDNProcessing;
@@ -1827,7 +1828,7 @@
                logError(ErrorLogCategory.SYNCHRONIZATION,
                         ErrorLogSeverity.SEVERE_ERROR,
                         MSGID_MODDN_SYNCH_PREOP_FAILED, getConnectionID(),
                         getOperationID(), stackTraceToSingleLineString(de));
                         getOperationID(), getExceptionMessage(de));
                setResponseData(de);
                break modifyDNProcessing;
@@ -1998,7 +1999,7 @@
            logError(ErrorLogCategory.SYNCHRONIZATION,
                     ErrorLogSeverity.SEVERE_ERROR,
                     MSGID_MODDN_SYNCH_POSTOP_FAILED, getConnectionID(),
                     getOperationID(), stackTraceToSingleLineString(de));
                     getOperationID(), getExceptionMessage(de));
            setResponseData(de);
            break;
@@ -2050,7 +2051,7 @@
          }
          int    msgID   = MSGID_MODDN_ERROR_NOTIFYING_CHANGE_LISTENER;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
        }
@@ -2089,7 +2090,7 @@
          int    msgID   = MSGID_MODDN_ERROR_NOTIFYING_PERSISTENT_SEARCH;
          String message = getMessage(msgID, String.valueOf(persistentSearch),
                                      stackTraceToSingleLineString(e));
                                      getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
@@ -2162,7 +2163,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    this.cancelRequest = cancelRequest;
    return true;
opends/src/server/org/opends/server/core/ModifyOperation.java
@@ -55,7 +55,6 @@
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPModification;
import org.opends.server.schema.AuthPasswordSyntax;
import org.opends.server.schema.BooleanSyntax;
@@ -71,17 +70,21 @@
import org.opends.server.types.CancelRequest;
import org.opends.server.types.CancelResult;
import org.opends.server.types.Control;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.LDAPException;
import org.opends.server.types.LockManager;
import org.opends.server.types.Modification;
import org.opends.server.types.ModificationType;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.Privilege;
import org.opends.server.types.RawModification;
import org.opends.server.types.RDN;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchFilter;
@@ -95,9 +98,7 @@
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.core.CoreConstants.*;
import static org.opends.server.loggers.Access.*;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.loggers.Error.*;
import static org.opends.server.messages.CoreMessages.*;
import static org.opends.server.messages.MessageHandler.*;
@@ -116,9 +117,6 @@
       implements PreParseModifyOperation, PreOperationModifyOperation,
                  PostOperationModifyOperation, PostResponseModifyOperation
{
  // The raw, unprocessed entry DN as included by the client request.
  private ByteString rawEntryDN;
@@ -145,7 +143,7 @@
  // The raw, unprocessed set of modifications as included in the client
  // request.
  private List<LDAPModification> rawModifications;
  private List<RawModification> rawModifications;
  // The set of modifications for this modify operation.
  private List<Modification> modifications;
@@ -179,7 +177,7 @@
  public ModifyOperation(ClientConnection clientConnection, long operationID,
                         int messageID, List<Control> requestControls,
                         ByteString rawEntryDN,
                         List<LDAPModification> rawModifications)
                         List<RawModification> rawModifications)
  {
    super(clientConnection, operationID, messageID, requestControls);
@@ -226,7 +224,7 @@
    rawEntryDN = new ASN1OctetString(entryDN.toString());
    rawModifications = new ArrayList<LDAPModification>(modifications.size());
    rawModifications = new ArrayList<RawModification>(modifications.size());
    for (Modification m : modifications)
    {
      rawModifications.add(new LDAPModification(m.getModificationType(),
@@ -299,7 +297,7 @@
   * @return  The set of raw, unprocessed modifications as included in the
   *          client request.
   */
  public final List<LDAPModification> getRawModifications()
  public final List<RawModification> getRawModifications()
  {
    return rawModifications;
  }
@@ -313,7 +311,7 @@
   * @param  rawModification  The modification to add to the set of raw
   *                          modifications for this modify operation.
   */
  public final void addRawModification(LDAPModification rawModification)
  public final void addRawModification(RawModification rawModification)
  {
    rawModifications.add(rawModification);
@@ -327,7 +325,7 @@
   *
   * @param  rawModifications  The raw modifications for this modify operation.
   */
  public final void setRawModifications(List<LDAPModification> rawModifications)
  public final void setRawModifications(List<RawModification> rawModifications)
  {
    this.rawModifications = rawModifications;
@@ -749,7 +747,7 @@
      if (modifications == null)
      {
        modifications = new ArrayList<Modification>(rawModifications.size());
        for (LDAPModification m : rawModifications)
        for (RawModification m : rawModifications)
        {
          try
          {
@@ -1239,7 +1237,7 @@
                       ErrorLogSeverity.SEVERE_ERROR,
                       MSGID_MODIFY_SYNCH_CONFLICT_RESOLUTION_FAILED,
                       getConnectionID(), getOperationID(),
                       stackTraceToSingleLineString(de));
                       getExceptionMessage(de));
              setResponseData(de);
              break modifyProcessing;
@@ -2554,7 +2552,7 @@
                logError(ErrorLogCategory.SYNCHRONIZATION,
                         ErrorLogSeverity.SEVERE_ERROR,
                         MSGID_MODIFY_SYNCH_PREOP_FAILED, getConnectionID(),
                         getOperationID(), stackTraceToSingleLineString(de));
                         getOperationID(), getExceptionMessage(de));
                setResponseData(de);
                break modifyProcessing;
@@ -2784,7 +2782,7 @@
            logError(ErrorLogCategory.SYNCHRONIZATION,
                     ErrorLogSeverity.SEVERE_ERROR,
                     MSGID_MODIFY_SYNCH_POSTOP_FAILED, getConnectionID(),
                     getOperationID(), stackTraceToSingleLineString(de));
                     getOperationID(), getExceptionMessage(de));
            setResponseData(de);
            break;
@@ -2841,7 +2839,7 @@
          }
          int    msgID   = MSGID_MODIFY_ERROR_NOTIFYING_CHANGE_LISTENER;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
        }
@@ -2880,7 +2878,7 @@
          int    msgID   = MSGID_MODIFY_ERROR_NOTIFYING_PERSISTENT_SEARCH;
          String message = getMessage(msgID, String.valueOf(persistentSearch),
                                      stackTraceToSingleLineString(e));
                                      getExceptionMessage(e));
          logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR,
                   message, msgID);
@@ -2953,7 +2951,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    this.cancelRequest = cancelRequest;
    return true;
opends/src/server/org/opends/server/core/PasswordPolicy.java
@@ -323,7 +323,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_PASSWORD_ATTRIBUTE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -392,7 +392,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_DEFAULT_STORAGE_SCHEMES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -423,7 +423,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_DEPRECATED_STORAGE_SCHEMES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -476,7 +476,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_PASSWORD_VALIDATORS;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -525,7 +525,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_NOTIFICATION_HANDLERS;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -554,7 +554,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_USER_PW_CHANGES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -583,7 +583,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_CURRENT_PW;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -612,7 +612,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_FORCE_CHANGE_ON_ADD;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -641,7 +641,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_FORCE_CHANGE_ON_RESET;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -671,7 +671,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_SKIP_ADMIN_VALIDATION;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -714,7 +714,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_PASSWORD_GENERATOR;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -743,7 +743,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_SECURE_AUTH;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -773,7 +773,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_SECURE_CHANGES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -802,7 +802,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_MULTIPLE_PW_VALUES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -831,7 +831,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_PREENCODED;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -861,7 +861,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_MIN_AGE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -891,7 +891,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_MAX_AGE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -922,7 +922,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_MAX_RESET_AGE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -952,7 +952,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_WARNING_INTERVAL;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -982,7 +982,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_EXPIRE_WITHOUT_WARNING;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1023,7 +1023,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_EXPIRED_CHANGES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1052,7 +1052,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_GRACE_LOGIN_COUNT;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1082,7 +1082,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_LOCKOUT_FAILURE_COUNT;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1113,7 +1113,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_LOCKOUT_DURATION;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1145,7 +1145,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_FAILURE_EXPIRATION;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1193,7 +1193,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_CHANGE_BY_TIME;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1240,7 +1240,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_LAST_LOGIN_TIME_ATTR;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1292,7 +1292,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_LAST_LOGIN_TIME_FORMAT;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1349,7 +1349,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_PREVIOUS_LAST_LOGIN_TIME_FORMAT;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -1380,7 +1380,7 @@
      msgID = MSGID_PWPOLICY_CANNOT_DETERMINE_IDLE_LOCKOUT_INTERVAL;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
opends/src/server/org/opends/server/core/PasswordPolicyState.java
@@ -46,7 +46,6 @@
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPModification;
import org.opends.server.schema.AuthPasswordSyntax;
import org.opends.server.schema.GeneralizedTimeSyntax;
import org.opends.server.schema.UserPasswordSyntax;
@@ -62,6 +61,8 @@
import org.opends.server.types.Entry;
import org.opends.server.types.Modification;
import org.opends.server.types.ModificationType;
import org.opends.server.types.Operation;
import org.opends.server.types.RawModification;
import org.opends.server.types.ResultCode;
import org.opends.server.util.TimeThread;
@@ -3596,11 +3597,11 @@
    // Convert the set of modifications to a set of LDAP modifications.
    ArrayList<LDAPModification> modList = new ArrayList<LDAPModification>();
    ArrayList<RawModification> modList = new ArrayList<RawModification>();
    for (Modification m : modifications)
    {
      modList.add(new LDAPModification(m.getModificationType(),
                                       new LDAPAttribute(m.getAttribute())));
      modList.add(RawModification.create(m.getModificationType(),
                       new LDAPAttribute(m.getAttribute())));
    }
    InternalClientConnection conn =
@@ -3619,3 +3620,4 @@
    }
  }
}
opends/src/server/org/opends/server/core/PersistentSearch.java
@@ -34,15 +34,14 @@
import org.opends.server.controls.EntryChangeNotificationControl;
import org.opends.server.controls.PersistentSearchChangeType;
import org.opends.server.types.Control;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.SearchFilter;
import org.opends.server.types.SearchScope;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.*;
@@ -52,9 +51,6 @@
 */
public class PersistentSearch
{
  // Indicates whether entries returned should include the entry change
  // notification control.
  private boolean returnECs;
opends/src/server/org/opends/server/core/PluginConfigManager.java
@@ -70,6 +70,7 @@
import org.opends.server.types.IntermediateResponse;
import org.opends.server.types.LDIFExportConfig;
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.SearchResultReference;
opends/src/server/org/opends/server/core/RootDNConfigManager.java
@@ -193,7 +193,7 @@
      }
      msgID = MSGID_CONFIG_ROOTDN_ERROR_DETERMINING_ROOT_PRIVILEGES;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -348,7 +348,7 @@
      msgID = MSGID_CONFIG_ROOTDN_CANNOT_PARSE_ALTERNATE_BIND_DNS;
      String message = getMessage(msgID, String.valueOf(configEntry.getDN()),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      unacceptableReason.append(message);
      return false;
    }
@@ -401,7 +401,7 @@
      }
      msgID = MSGID_CONFIG_ROOTDN_CANNOT_PARSE_ALTERNATE_BIND_DNS;
      messages.add(getMessage(msgID, stackTraceToSingleLineString(e)));
      messages.add(getMessage(msgID, getExceptionMessage(e)));
      resultCode = ResultCode.INVALID_ATTRIBUTE_SYNTAX;
    }
@@ -543,7 +543,7 @@
      }
      msgID = MSGID_CONFIG_ROOTDN_CANNOT_PARSE_ALTERNATE_BIND_DNS;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      unacceptableReason.append(message);
      return false;
    }
@@ -595,7 +595,7 @@
      }
      msgID = MSGID_CONFIG_ROOTDN_CANNOT_PARSE_ALTERNATE_BIND_DNS;
      messages.add(getMessage(msgID, stackTraceToSingleLineString(e)));
      messages.add(getMessage(msgID, getExceptionMessage(e)));
      resultCode = ResultCode.INVALID_ATTRIBUTE_SYNTAX;
    }
@@ -811,7 +811,7 @@
      }
      msgID = MSGID_CONFIG_ROOTDN_ERROR_DETERMINING_ROOT_PRIVILEGES;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -905,7 +905,7 @@
      }
      msgID = MSGID_CONFIG_ROOTDN_ERROR_DETERMINING_ROOT_PRIVILEGES;
      messages.add(getMessage(msgID, stackTraceToSingleLineString(e)));
      messages.add(getMessage(msgID, getExceptionMessage(e)));
    }
opends/src/server/org/opends/server/core/SchemaConfigManager.java
@@ -279,7 +279,7 @@
        msgID = MSGID_CONFIG_SCHEMA_MR_UNABLE_TO_DETERMINE_ENABLED_STATE;
        String message = getMessage(msgID, String.valueOf(mrEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -324,7 +324,7 @@
        msgID = MSGID_CONFIG_SCHEMA_MR_CANNOT_GET_CLASS;
        String message = getMessage(msgID, String.valueOf(mrEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -346,7 +346,7 @@
        msgID = MSGID_CONFIG_SCHEMA_MR_CANNOT_INSTANTIATE;
        String message = getMessage(msgID, String.valueOf(className),
                                    String.valueOf(mrEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -368,7 +368,7 @@
        msgID = MSGID_CONFIG_SCHEMA_MR_CANNOT_INITIALIZE;
        String message = getMessage(msgID, String.valueOf(className),
                                    String.valueOf(mrEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -523,7 +523,7 @@
        msgID = MSGID_CONFIG_SCHEMA_SYNTAX_UNABLE_TO_DETERMINE_ENABLED_STATE;
        String message = getMessage(msgID, String.valueOf(syntaxEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -567,7 +567,7 @@
        msgID = MSGID_CONFIG_SCHEMA_SYNTAX_CANNOT_GET_CLASS;
        String message = getMessage(msgID, String.valueOf(syntaxEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -589,7 +589,7 @@
        msgID = MSGID_CONFIG_SCHEMA_SYNTAX_CANNOT_INSTANTIATE;
        String message = getMessage(msgID, String.valueOf(className),
                                    String.valueOf(syntaxEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -611,7 +611,7 @@
        msgID = MSGID_CONFIG_SCHEMA_SYNTAX_CANNOT_INITIALIZE;
        String message = getMessage(msgID, String.valueOf(className),
                                    String.valueOf(syntaxEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
                 message, msgID);
        continue;
@@ -730,7 +730,7 @@
      int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_LIST_FILES;
      String message = getMessage(msgID, schemaDirPath,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -836,7 +836,7 @@
      int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_OPEN_FILE;
      String message = getMessage(msgID, schemaFile, schemaDirPath,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      if (failOnError)
      {
@@ -872,7 +872,7 @@
      int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY;
      String message = getMessage(msgID, schemaFile, schemaDirPath,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      if (failOnError)
      {
@@ -1211,7 +1211,7 @@
            int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE;
            String message = getMessage(msgID, schemaFile,
                                        v.getStringValue() + ":  " +
                                             stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            if (failOnError)
            {
              throw new ConfigException(msgID, message, e);
@@ -1310,7 +1310,7 @@
            int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_PARSE_OC;
            String message = getMessage(msgID, schemaFile,
                                        v.getStringValue() + ":  " +
                                             stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            if (failOnError)
            {
@@ -1409,7 +1409,7 @@
            int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_PARSE_NAME_FORM;
            String message = getMessage(msgID, schemaFile,
                                        v.getStringValue() + ":  " +
                                             stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            if (failOnError)
            {
@@ -1508,7 +1508,7 @@
            int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_PARSE_DCR;
            String message = getMessage(msgID, schemaFile,
                                        v.getStringValue() + ":  " +
                                             stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            if (failOnError)
            {
@@ -1608,7 +1608,7 @@
            int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_PARSE_DSR;
            String message = getMessage(msgID, schemaFile,
                                        v.getStringValue() + ":  " +
                                             stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            if (failOnError)
            {
@@ -1708,7 +1708,7 @@
            int    msgID   = MSGID_CONFIG_SCHEMA_CANNOT_PARSE_MRU;
            String message = getMessage(msgID, schemaFile,
                                        v.getStringValue() + ":  " +
                                             stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            if (failOnError)
            {
opends/src/server/org/opends/server/core/SearchOperation.java
@@ -49,7 +49,6 @@
import org.opends.server.controls.ProxiedAuthV1Control;
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPException;
import org.opends.server.protocols.ldap.LDAPFilter;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
@@ -59,14 +58,18 @@
import org.opends.server.types.CancelRequest;
import org.opends.server.types.CancelResult;
import org.opends.server.types.Control;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DereferencePolicy;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.types.FilterType;
import org.opends.server.types.LDAPException;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.Privilege;
import org.opends.server.types.RawFilter;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchFilter;
import org.opends.server.types.SearchResultEntry;
@@ -82,9 +85,7 @@
import static org.opends.server.core.CoreConstants.*;
import static org.opends.server.loggers.Access.*;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.messages.CoreMessages.*;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.util.ServerConstants.*;
@@ -149,9 +150,6 @@
  // The time limit for the search operation.
  private int timeLimit;
  // The raw, unprocessed filter as included in the request from the client.
  private LDAPFilter rawFilter;
  // The set of attributes that should be returned in matching entries.
  private LinkedHashSet<String> attributes;
@@ -173,6 +171,9 @@
  // The persistent search associated with this search operation.
  private PersistentSearch persistentSearch;
  // The raw, unprocessed filter as included in the request from the client.
  private RawFilter rawFilter;
  // The search filter for the search operation.
  private SearchFilter filter;
@@ -207,7 +208,7 @@
                         int messageID, List<Control> requestControls,
                         ByteString rawBaseDN, SearchScope scope,
                         DereferencePolicy derefPolicy, int sizeLimit,
                         int timeLimit, boolean typesOnly, LDAPFilter rawFilter,
                         int timeLimit, boolean typesOnly, RawFilter rawFilter,
                         LinkedHashSet<String> attributes)
  {
    super(clientConnection, operationID, messageID, requestControls);
@@ -575,7 +576,7 @@
   * @return  The raw, unprocessed search filter as included in the request from
   *          the client.
   */
  public final LDAPFilter getRawFilter()
  public final RawFilter getRawFilter()
  {
    return rawFilter;
  }
@@ -589,7 +590,7 @@
   * @param  rawFilter  The raw, unprocessed search filter as included in the
   *                    request from the client.
   */
  public final void setRawFilter(LDAPFilter rawFilter)
  public final void setRawFilter(RawFilter rawFilter)
  {
    this.rawFilter = rawFilter;
@@ -2091,7 +2092,7 @@
        setResultCode(DirectoryServer.getServerErrorResultCode());
        int msgID = MSGID_SEARCH_BACKEND_EXCEPTION;
        appendErrorMessage(getMessage(msgID, stackTraceToSingleLineString(e)));
        appendErrorMessage(getMessage(msgID, getExceptionMessage(e)));
        if (persistentSearch != null)
        {
@@ -2271,7 +2272,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    this.cancelRequest = cancelRequest;
    return true;
opends/src/server/org/opends/server/core/UnbindOperation.java
@@ -36,6 +36,7 @@
import org.opends.server.types.CancelResult;
import org.opends.server.types.Control;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.operation.PostOperationUnbindOperation;
import org.opends.server.types.operation.PreParseUnbindOperation;
@@ -281,7 +282,7 @@
   * {@inheritDoc}
   */
  @Override()
  boolean setCancelRequest(CancelRequest cancelRequest)
  protected boolean setCancelRequest(CancelRequest cancelRequest)
  {
    // Unbind operations cannot be canceled.
    return false;
opends/src/server/org/opends/server/extensions/AttributeValuePasswordValidator.java
@@ -35,13 +35,13 @@
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.server.AttributeValuePasswordValidatorCfg;
import org.opends.server.api.PasswordValidator;
import org.opends.server.core.Operation;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.ByteString;
import org.opends.server.types.Entry;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import static org.opends.server.messages.ExtensionsMessages.*;
opends/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandler.java
@@ -155,7 +155,7 @@
      }
      int msgID = MSGID_SASLCRAMMD5_CANNOT_GET_MESSAGE_DIGEST;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
@@ -156,7 +156,7 @@
        operation.setResultCode(ResultCode.PROTOCOL_ERROR);
        int    msgID   = MSGID_EXTOP_CANCEL_CANNOT_DECODE_REQUEST_VALUE;
        String message = getMessage(msgID, stackTraceToSingleLineString(e));
        String message = getMessage(msgID, getExceptionMessage(e));
        operation.appendErrorMessage(message);
        return;
opends/src/server/org/opends/server/extensions/CharacterSetPasswordValidator.java
@@ -38,11 +38,11 @@
import org.opends.server.admin.std.server.CharacterSetPasswordValidatorCfg;
import org.opends.server.api.PasswordValidator;
import org.opends.server.config.ConfigException;
import org.opends.server.core.Operation;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.ByteString;
import org.opends.server.types.DirectoryConfig;
import org.opends.server.types.Entry;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import static org.opends.server.messages.ExtensionsMessages.*;
@@ -300,7 +300,7 @@
    catch (Exception e)
    {
      resultCode = DirectoryConfig.getServerErrorResultCode();
      messages.add(stackTraceToSingleLineString(e));
      messages.add(getExceptionMessage(e));
    }
    return new ConfigChangeResult(resultCode, adminActionRequired, messages);
opends/src/server/org/opends/server/extensions/ConfigFileHandler.java
@@ -703,7 +703,7 @@
      int    msgID   = MSGID_CONFIG_CANNOT_REGISTER_AS_PRIVATE_SUFFIX;
      String message = getMessage(msgID, configRootEntry.getDN(),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
  }
@@ -1142,7 +1142,7 @@
        int    msgID   = MSGID_CONFIG_FILE_ADD_FAILED;
        String message = getMessage(msgID, String.valueOf(entryDN),
                                    String.valueOf(parentDN),
                                    stackTraceToSingleLineString(ce));
                                    getExceptionMessage(ce));
        throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                     message, msgID);
      }
@@ -1290,7 +1290,7 @@
        int    msgID   = MSGID_CONFIG_FILE_DELETE_FAILED;
        String message = getMessage(msgID, String.valueOf(entryDN),
                                    String.valueOf(parentEntry.getDN()),
                                    stackTraceToSingleLineString(ce));
                                    getExceptionMessage(ce));
        throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                     message, msgID);
      }
@@ -2363,7 +2363,7 @@
      }
      msgID   = MSGID_CONFIG_BACKUP_CANNOT_DETERMINE_CONFIG_FILE_LOCATION;
      message = getMessage(msgID, stackTraceToSingleLineString(e));
      message = getMessage(msgID, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -2511,7 +2511,7 @@
      msgID   = MSGID_CONFIG_BACKUP_CANNOT_CLOSE_ZIP_STREAM;
      message = getMessage(msgID, filename, backupDirectory.getPath(),
                           stackTraceToSingleLineString(e));
                           getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -2839,7 +2839,7 @@
        int    msgID   = MSGID_CONFIG_RESTORE_CANNOT_BACKUP_EXISTING_CONFIG;
        String message = getMessage(msgID, backupID, configDirPath,
                                    String.valueOf(backupDirPath),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                     message, msgID, e);
      }
@@ -2876,7 +2876,7 @@
        int    msgID   = MSGID_CONFIG_RESTORE_CANNOT_CREATE_CONFIG_DIRECTORY;
        String message = getMessage(msgID, backupID, configDirPath,
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                     message, msgID, e);
      }
@@ -3041,7 +3041,7 @@
    {
      int    msgID   = MSGID_CONFIG_RESTORE_ERROR_ON_ZIP_STREAM_CLOSE;
      String message = getMessage(msgID, backupID, backupFile.getPath(),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
opends/src/server/org/opends/server/extensions/DictionaryPasswordValidator.java
@@ -40,13 +40,13 @@
import org.opends.server.admin.std.server.DictionaryPasswordValidatorCfg;
import org.opends.server.api.PasswordValidator;
import org.opends.server.config.ConfigException;
import org.opends.server.core.Operation;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.ByteString;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryConfig;
import org.opends.server.types.Entry;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import static org.opends.server.loggers.debug.DebugLogger.*;
@@ -257,7 +257,7 @@
    }
    catch (Exception e)
    {
      unacceptableReasons.add(stackTraceToSingleLineString(e));
      unacceptableReasons.add(getExceptionMessage(e));
      return false;
    }
@@ -287,7 +287,7 @@
    catch (Exception e)
    {
      resultCode = DirectoryConfig.getServerErrorResultCode();
      messages.add(stackTraceToSingleLineString(e));
      messages.add(getExceptionMessage(e));
    }
    return new ConfigChangeResult(resultCode, adminActionRequired, messages);
opends/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandler.java
@@ -159,7 +159,7 @@
      }
      int    msgID   = MSGID_SASLDIGESTMD5_CANNOT_GET_MESSAGE_DIGEST;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -369,7 +369,7 @@
      // but we want to log it anyway.
      logError(ErrorLogCategory.EXTENSIONS, ErrorLogSeverity.SEVERE_WARNING,
               MSGID_SASLDIGESTMD5_CANNOT_PARSE_ISO_CREDENTIALS,
               responseCharset, stackTraceToSingleLineString(e));
               responseCharset, getExceptionMessage(e));
    }
    if ((credString == null) ||
@@ -392,7 +392,7 @@
        bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS);
        int    msgID   = MSGID_SASLDIGESTMD5_CANNOT_PARSE_UTF8_CREDENTIALS;
        String message = getMessage(msgID, stackTraceToSingleLineString(e));
        String message = getMessage(msgID, getExceptionMessage(e));
        bindOperation.setAuthFailureReason(msgID, message);
        return;
      }
@@ -528,7 +528,7 @@
          bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS);
          int msgID = MSGID_SASLDIGESTMD5_CANNOT_DECODE_STORED_NONCE_COUNT;
          String message = getMessage(msgID, stackTraceToSingleLineString(e));
          String message = getMessage(msgID, getExceptionMessage(e));
          bindOperation.setAuthFailureReason(msgID, message);
          return;
        }
@@ -605,7 +605,7 @@
          }
          int    msgID   = MSGID_SASLDIGESTMD5_CANNOT_PARSE_RESPONSE_DIGEST;
          String message = getMessage(msgID, stackTraceToSingleLineString(pe));
          String message = getMessage(msgID, getExceptionMessage(pe));
          bindOperation.setAuthFailureReason(msgID, message);
          return;
        }
@@ -1075,7 +1075,7 @@
        logError(ErrorLogCategory.EXTENSIONS,
                 ErrorLogSeverity.SEVERE_WARNING,
                 MSGID_SASLDIGESTMD5_CANNOT_GENERATE_RESPONSE_DIGEST,
                 stackTraceToSingleLineString(e));
                 getExceptionMessage(e));
        continue;
      }
@@ -1120,7 +1120,7 @@
      bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS);
      int    msgID   = MSGID_SASLDIGESTMD5_CANNOT_GENERATE_RESPONSE_AUTH_DIGEST;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      bindOperation.setAuthFailureReason(msgID, message);
      return;
    }
opends/src/server/org/opends/server/extensions/ErrorLogAccountStatusNotificationHandler.java
@@ -160,7 +160,7 @@
      msgID = MSGID_ERRORLOG_ACCTNOTHANDLER_CANNOT_GET_NOTIFICATION_TYPES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -299,7 +299,7 @@
      msgID = MSGID_ERRORLOG_ACCTNOTHANDLER_CANNOT_GET_NOTIFICATION_TYPES;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -381,7 +381,7 @@
      msgID = MSGID_ERRORLOG_ACCTNOTHANDLER_CANNOT_GET_NOTIFICATION_TYPES;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
    }
opends/src/server/org/opends/server/extensions/ExternalSASLMechanismHandler.java
@@ -367,7 +367,7 @@
            int    msgID   = MSGID_SASLEXTERNAL_CANNOT_VALIDATE_CERT;
            String message = getMessage(msgID,
                                        String.valueOf(userEntry.getDN()),
                                        stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            bindOperation.setAuthFailureReason(msgID, message);
            return;
          }
@@ -417,7 +417,7 @@
            int    msgID   = MSGID_SASLEXTERNAL_CANNOT_VALIDATE_CERT;
            String message = getMessage(msgID,
                                        String.valueOf(userEntry.getDN()),
                                        stackTraceToSingleLineString(e));
                                        getExceptionMessage(e));
            bindOperation.setAuthFailureReason(msgID, message);
            return;
          }
opends/src/server/org/opends/server/extensions/FIFOEntryCache.java
@@ -238,7 +238,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_FIFOCACHE_CANNOT_DETERMINE_MAX_MEMORY_PCT,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e),
               String.valueOf(configEntryDN), getExceptionMessage(e),
               maxMemoryPercent);
    }
@@ -276,7 +276,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_FIFOCACHE_CANNOT_DETERMINE_MAX_ENTRIES,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e));
               String.valueOf(configEntryDN), getExceptionMessage(e));
    }
@@ -311,7 +311,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_FIFOCACHE_CANNOT_DETERMINE_LOCK_TIMEOUT,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e),
               String.valueOf(configEntryDN), getExceptionMessage(e),
               lockTimeout);
    }
@@ -359,7 +359,7 @@
                       ErrorLogSeverity.SEVERE_WARNING,
                       MSGID_FIFOCACHE_CANNOT_DECODE_INCLUDE_FILTER,
                       String.valueOf(configEntryDN), filterString,
                       stackTraceToSingleLineString(e));
                       getExceptionMessage(e));
            }
          }
@@ -383,7 +383,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_FIFOCACHE_CANNOT_DETERMINE_INCLUDE_FILTERS,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e));
               String.valueOf(configEntryDN), getExceptionMessage(e));
    }
@@ -430,7 +430,7 @@
                       ErrorLogSeverity.SEVERE_WARNING,
                       MSGID_FIFOCACHE_CANNOT_DECODE_EXCLUDE_FILTER,
                       String.valueOf(configEntryDN), filterString,
                       stackTraceToSingleLineString(e));
                       getExceptionMessage(e));
            }
          }
@@ -454,7 +454,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_FIFOCACHE_CANNOT_DETERMINE_EXCLUDE_FILTERS,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e));
               String.valueOf(configEntryDN), getExceptionMessage(e));
    }
  }
@@ -1661,7 +1661,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_MAX_MEMORY_PCT;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1688,7 +1688,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_MAX_ENTRIES;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1715,7 +1715,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_LOCK_TIMEOUT;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1761,7 +1761,7 @@
              unacceptableReasons.add(getMessage(msgID,
                                           String.valueOf(configEntryDN),
                                            filterString,
                                            stackTraceToSingleLineString(e)));
                                            getExceptionMessage(e)));
              configIsAcceptable = false;
            }
          }
@@ -1778,7 +1778,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_INCLUDE_FILTERS;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1824,7 +1824,7 @@
              unacceptableReasons.add(getMessage(msgID,
                                           String.valueOf(configEntryDN),
                                            filterString,
                                            stackTraceToSingleLineString(e)));
                                            getExceptionMessage(e)));
              configIsAcceptable = false;
            }
          }
@@ -1841,7 +1841,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_EXCLUDE_FILTERS;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1905,7 +1905,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_MAX_MEMORY_PCT;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      resultCode = ResultCode.CONSTRAINT_VIOLATION;
      configIsAcceptable = false;
    }
@@ -1938,7 +1938,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_MAX_ENTRIES;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -1976,7 +1976,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_LOCK_TIMEOUT;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -2025,7 +2025,7 @@
              msgID = MSGID_FIFOCACHE_INVALID_INCLUDE_FILTER;
              messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                      filterString,
                                      stackTraceToSingleLineString(e)));
                                      getExceptionMessage(e)));
              if (resultCode == ResultCode.SUCCESS)
              {
@@ -2048,7 +2048,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_INCLUDE_FILTERS;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -2096,8 +2096,7 @@
              // We couldn't decode this filter, so it isn't valid.
              msgID = MSGID_FIFOCACHE_INVALID_EXCLUDE_FILTER;
              messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                      filterString,
                                      stackTraceToSingleLineString(e)));
                                      filterString, getExceptionMessage(e)));
              if (resultCode == ResultCode.SUCCESS)
              {
@@ -2120,7 +2119,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_FIFOCACHE_INVALID_EXCLUDE_FILTERS;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
opends/src/server/org/opends/server/extensions/FileBasedKeyManagerProvider.java
@@ -187,7 +187,7 @@
      msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_FILE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -222,7 +222,7 @@
          msgID = MSGID_FILE_KEYMANAGER_INVALID_TYPE;
          String message = getMessage(msgID, String.valueOf(typeStr),
                                      String.valueOf(configEntryDN),
                                      stackTraceToSingleLineString(kse));
                                      getExceptionMessage(kse));
          throw new InitializationException(msgID, message);
        }
      }
@@ -245,7 +245,7 @@
      msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_TYPE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -310,7 +310,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -360,7 +360,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -400,7 +400,7 @@
              msgID = MSGID_FILE_KEYMANAGER_PIN_FILE_CANNOT_READ;
              String message = getMessage(msgID, String.valueOf(fileName),
                                          String.valueOf(configEntryDN),
                                          stackTraceToSingleLineString(ioe));
                                          getExceptionMessage(ioe));
              throw new InitializationException(msgID, message, ioe);
            }
@@ -438,7 +438,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -466,7 +466,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
    }
@@ -514,7 +514,7 @@
      int msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_FILE;
      String message = getMessage(msgID, String
          .valueOf(configEntryDN), stackTraceToSingleLineString(e));
          .valueOf(configEntryDN), getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -531,10 +531,9 @@
        }
        int msgID = MSGID_FILE_KEYMANAGER_INVALID_TYPE;
        String message = getMessage(msgID, String
            .valueOf(configuration.getKeyStoreType()), String
            .valueOf(configEntryDN),
            stackTraceToSingleLineString(kse));
        String message = getMessage(msgID,
            String.valueOf(configuration.getKeyStoreType()),
            String.valueOf(configEntryDN), getExceptionMessage(kse));
        throw new InitializationException(msgID, message);
      }
    } else {
@@ -604,8 +603,7 @@
      } catch (IOException ioe) {
        int msgID = MSGID_FILE_KEYMANAGER_PIN_FILE_CANNOT_READ;
        String message = getMessage(msgID, String.valueOf(fileName),
            String.valueOf(configEntryDN),
            stackTraceToSingleLineString(ioe));
            String.valueOf(configEntryDN), getExceptionMessage(ioe));
        throw new InitializationException(msgID, message, ioe);
      }
@@ -675,8 +673,7 @@
      }
      int msgID = MSGID_FILE_KEYMANAGER_CANNOT_LOAD;
      String message = getMessage(msgID, keyStoreFile,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, keyStoreFile, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -698,8 +695,7 @@
      }
      int msgID = MSGID_FILE_KEYMANAGER_CANNOT_CREATE_FACTORY;
      String message = getMessage(msgID, keyStoreFile,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, keyStoreFile, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -861,7 +857,7 @@
      msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_FILE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -896,7 +892,7 @@
          msgID = MSGID_FILE_KEYMANAGER_INVALID_TYPE;
          String message = getMessage(msgID, String.valueOf(typeStr),
                                      String.valueOf(configEntryDN),
                                      stackTraceToSingleLineString(kse));
                                      getExceptionMessage(kse));
          unacceptableReasons.add(message);
          return false;
        }
@@ -911,7 +907,7 @@
      msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_TYPE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -960,7 +956,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -1002,7 +998,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -1044,7 +1040,7 @@
              msgID = MSGID_FILE_KEYMANAGER_PIN_FILE_CANNOT_READ;
              String message = getMessage(msgID, String.valueOf(fileName),
                                          String.valueOf(configEntryDN),
                                          stackTraceToSingleLineString(ioe));
                                          getExceptionMessage(ioe));
              unacceptableReasons.add(message);
              return false;
            }
@@ -1074,7 +1070,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -1103,7 +1099,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -1200,7 +1196,7 @@
      msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_FILE;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -1239,7 +1235,7 @@
          msgID = MSGID_FILE_KEYMANAGER_INVALID_TYPE;
          messages.add(getMessage(msgID, String.valueOf(newKeyStoreType),
                                  String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(kse)));
                                  getExceptionMessage(kse)));
          if (resultCode == ResultCode.SUCCESS)
          {
@@ -1257,7 +1253,7 @@
      msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_TYPE;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -1318,7 +1314,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1371,7 +1367,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1423,7 +1419,7 @@
              msgID = MSGID_FILE_KEYMANAGER_PIN_FILE_CANNOT_READ;
              messages.add(getMessage(msgID, String.valueOf(fileName),
                                      String.valueOf(configEntryDN),
                                      stackTraceToSingleLineString(ioe)));
                                      getExceptionMessage(ioe)));
              if (resultCode == ResultCode.SUCCESS)
              {
@@ -1464,7 +1460,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1498,7 +1494,7 @@
        msgID = MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
opends/src/server/org/opends/server/extensions/FileBasedTrustManagerProvider.java
@@ -185,7 +185,7 @@
      msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_FILE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -221,7 +221,7 @@
          msgID = MSGID_FILE_TRUSTMANAGER_INVALID_TYPE;
          String message = getMessage(msgID, String.valueOf(typeStr),
                                      String.valueOf(configEntryDN),
                                      stackTraceToSingleLineString(kse));
                                      getExceptionMessage(kse));
          throw new InitializationException(msgID, message);
        }
      }
@@ -244,7 +244,7 @@
      msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_TYPE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -311,7 +311,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -361,7 +361,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -401,7 +401,7 @@
              msgID = MSGID_FILE_TRUSTMANAGER_PIN_FILE_CANNOT_READ;
              String message = getMessage(msgID, String.valueOf(fileName),
                                          String.valueOf(configEntryDN),
                                          stackTraceToSingleLineString(ioe));
                                          getExceptionMessage(ioe));
              throw new InitializationException(msgID, message, ioe);
            }
@@ -439,7 +439,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FILE;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -467,7 +467,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
    }
@@ -521,7 +521,7 @@
      int msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_LOAD;
      String message = getMessage(msgID, trustStoreFile,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -544,7 +544,7 @@
      int msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_CREATE_FACTORY;
      String message = getMessage(msgID, trustStoreFile,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -703,7 +703,7 @@
      msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_FILE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -738,7 +738,7 @@
          msgID = MSGID_FILE_TRUSTMANAGER_INVALID_TYPE;
          String message = getMessage(msgID, String.valueOf(typeStr),
                                      String.valueOf(configEntryDN),
                                      stackTraceToSingleLineString(kse));
                                      getExceptionMessage(kse));
          unacceptableReasons.add(message);
          return false;
        }
@@ -753,7 +753,7 @@
      msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_TYPE;
      String message = getMessage(msgID, String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -800,7 +800,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -841,7 +841,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -883,7 +883,7 @@
              msgID = MSGID_FILE_TRUSTMANAGER_PIN_FILE_CANNOT_READ;
              String message = getMessage(msgID, String.valueOf(fileName),
                                          String.valueOf(configEntryDN),
                                          stackTraceToSingleLineString(ioe));
                                          getExceptionMessage(ioe));
              unacceptableReasons.add(message);
              return false;
            }
@@ -912,7 +912,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FILE;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -940,7 +940,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -1029,7 +1029,7 @@
      msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_FILE;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -1068,7 +1068,7 @@
          msgID = MSGID_FILE_TRUSTMANAGER_INVALID_TYPE;
          messages.add(getMessage(msgID, String.valueOf(newTrustStoreType),
                                  String.valueOf(configEntryDN),
                                  stackTraceToSingleLineString(kse)));
                                  getExceptionMessage(kse)));
          if (resultCode == ResultCode.SUCCESS)
          {
@@ -1086,7 +1086,7 @@
      msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_TYPE;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -1147,7 +1147,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1200,7 +1200,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1252,7 +1252,7 @@
              msgID = MSGID_FILE_TRUSTMANAGER_PIN_FILE_CANNOT_READ;
              messages.add(getMessage(msgID, String.valueOf(fileName),
                                      String.valueOf(configEntryDN),
                                      stackTraceToSingleLineString(ioe)));
                                      getExceptionMessage(ioe)));
              if (resultCode == ResultCode.SUCCESS)
              {
@@ -1293,7 +1293,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FILE;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1327,7 +1327,7 @@
        msgID = MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
opends/src/server/org/opends/server/extensions/FingerprintCertificateMapper.java
@@ -213,7 +213,7 @@
      int    msgID   = MSGID_FCM_CANNOT_CALCULATE_FINGERPRINT;
      String message = getMessage(msgID, peerSubject,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(ResultCode.INVALID_CREDENTIALS, message,
                                   msgID);
    }
opends/src/server/org/opends/server/extensions/GSSAPISASLMechanismHandler.java
@@ -141,7 +141,7 @@
        int    msgID   = MSGID_SASLGSSAPI_CANNOT_GET_SERVER_FQDN;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
    }
@@ -199,7 +199,7 @@
      }
      int    msgID   = MSGID_SASLGSSAPI_CANNOT_CREATE_JAAS_CONFIG;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -447,7 +447,7 @@
        int msgID = MSGID_SASLGSSAPI_CANNOT_GET_SERVER_FQDN;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
      }
    }
@@ -504,7 +504,7 @@
        resultCode = DirectoryServer.getServerErrorResultCode();
        int msgID = MSGID_SASLGSSAPI_CANNOT_CREATE_JAAS_CONFIG;
        messages.add(getMessage(msgID, stackTraceToSingleLineString(e)));
        messages.add(getMessage(msgID, getExceptionMessage(e)));
       return new ConfigChangeResult(resultCode, adminActionRequired, messages);
      }
opends/src/server/org/opends/server/extensions/GSSAPIStateInfo.java
@@ -140,7 +140,7 @@
      }
      int    msgID   = MSGID_SASLGSSAPI_CANNOT_CREATE_LOGIN_CONTEXT;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -156,7 +156,7 @@
      }
      int    msgID   = MSGID_SASLGSSAPI_CANNOT_AUTHENTICATE_SERVER;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -277,7 +277,7 @@
        }
        int    msgID   = MSGID_SASLGSSAPI_CANNOT_CREATE_SASL_SERVER;
        String message = getMessage(msgID, stackTraceToSingleLineString(e));
        String message = getMessage(msgID, getExceptionMessage(e));
        clientConnection.setSASLAuthStateInfo(null);
        bindOperation.setAuthFailureReason(msgID, message);
@@ -336,7 +336,7 @@
      }
      int    msgID   = MSGID_SASLGSSAPI_CANNOT_EVALUATE_RESPONSE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      clientConnection.setSASLAuthStateInfo(null);
      bindOperation.setAuthFailureReason(msgID, message);
opends/src/server/org/opends/server/extensions/LengthBasedPasswordValidator.java
@@ -35,11 +35,11 @@
import org.opends.server.admin.std.server.LengthBasedPasswordValidatorCfg;
import org.opends.server.api.PasswordValidator;
import org.opends.server.config.ConfigException;
import org.opends.server.core.Operation;
import org.opends.server.types.ByteString;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.Entry;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import static org.opends.server.messages.ExtensionsMessages.*;
opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
@@ -160,8 +160,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -204,8 +203,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
opends/src/server/org/opends/server/extensions/NullConnectionSecurityProvider.java
@@ -329,7 +329,7 @@
        // An unexpected error occurred.  Disconnect and return.
        clientConnection.disconnect(DisconnectReason.SERVER_ERROR, true,
                                    MSGID_NULL_SECURITY_PROVIDER_READ_ERROR,
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        return false;
      }
    }
@@ -398,7 +398,7 @@
      // An unexpected error occurred.  Disconnect and return.
      clientConnection.disconnect(DisconnectReason.SERVER_ERROR, true,
                                  MSGID_NULL_SECURITY_PROVIDER_WRITE_ERROR,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      return false;
    }
    finally
opends/src/server/org/opends/server/extensions/PKCS11KeyManagerProvider.java
@@ -194,7 +194,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -244,7 +244,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -284,7 +284,7 @@
              msgID = MSGID_PKCS11_KEYMANAGER_PIN_FILE_CANNOT_READ;
              String message = getMessage(msgID, String.valueOf(fileName),
                                          String.valueOf(configEntryDN),
                                          stackTraceToSingleLineString(ioe));
                                          getExceptionMessage(ioe));
              throw new InitializationException(msgID, message, ioe);
            }
@@ -322,7 +322,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
@@ -350,7 +350,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        throw new InitializationException(msgID, message, e);
      }
    }
@@ -446,8 +446,7 @@
        int msgID = MSGID_PKCS11_KEYMANAGER_PIN_FILE_CANNOT_READ;
        String message = getMessage(msgID, String.valueOf(fileName),
            String.valueOf(configEntryDN),
            stackTraceToSingleLineString(ioe));
            String.valueOf(configEntryDN), getExceptionMessage(ioe));
        throw new InitializationException(msgID, message, ioe);
      }
@@ -513,7 +512,7 @@
      }
      int msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_LOAD;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -535,7 +534,7 @@
      }
      int msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_CREATE_FACTORY;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -678,7 +677,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -720,7 +719,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -762,7 +761,7 @@
              msgID = MSGID_PKCS11_KEYMANAGER_PIN_FILE_CANNOT_READ;
              String message = getMessage(msgID, String.valueOf(fileName),
                                          String.valueOf(configEntryDN),
                                          stackTraceToSingleLineString(ioe));
                                          getExceptionMessage(ioe));
              unacceptableReasons.add(message);
              return false;
            }
@@ -792,7 +791,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -821,7 +820,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        String message = getMessage(msgID, String.valueOf(configEntryDN),
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        unacceptableReasons.add(message);
        return false;
      }
@@ -918,7 +917,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -971,7 +970,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1023,7 +1022,7 @@
              msgID = MSGID_PKCS11_KEYMANAGER_PIN_FILE_CANNOT_READ;
              messages.add(getMessage(msgID, String.valueOf(fileName),
                                      String.valueOf(configEntryDN),
                                      stackTraceToSingleLineString(ioe)));
                                      getExceptionMessage(ioe)));
              if (resultCode == ResultCode.SUCCESS)
              {
@@ -1064,7 +1063,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
@@ -1098,7 +1097,7 @@
        msgID = MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR;
        messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                stackTraceToSingleLineString(e)));
                                getExceptionMessage(e)));
        if (resultCode == ResultCode.SUCCESS)
        {
opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
@@ -163,7 +163,7 @@
      }
      int msgID = MSGID_EXTOP_PASSMOD_CANNOT_DETERMINE_ID_MAPPER;
      String message = getMessage(msgID, String.valueOf(config.dn()),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -282,7 +282,7 @@
        operation.setResultCode(ResultCode.PROTOCOL_ERROR);
        int    msgID   = MSGID_EXTOP_PASSMOD_CANNOT_DECODE_REQUEST;
        String message = getMessage(msgID, stackTraceToSingleLineString(ae));
        String message = getMessage(msgID, getExceptionMessage(ae));
        operation.appendErrorMessage(message);
        return;
@@ -1303,7 +1303,7 @@
      int msgID = MSGID_EXTOP_PASSMOD_CANNOT_DETERMINE_ID_MAPPER;
      String message = getMessage(msgID, String.valueOf(config.dn()),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -1364,7 +1364,7 @@
      int msgID = MSGID_EXTOP_PASSMOD_CANNOT_DETERMINE_ID_MAPPER;
      messages.add(getMessage(msgID, String.valueOf(config.dn()),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
    }
opends/src/server/org/opends/server/extensions/RandomPasswordGenerator.java
@@ -156,7 +156,7 @@
      }
      msgID = MSGID_RANDOMPWGEN_CANNOT_DETERMINE_CHARSETS;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -236,7 +236,7 @@
      }
      msgID = MSGID_RANDOMPWGEN_CANNOT_DETERMINE_PWFORMAT;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new InitializationException(msgID, message, e);
    }
@@ -399,7 +399,7 @@
      }
      msgID = MSGID_RANDOMPWGEN_CANNOT_DETERMINE_CHARSETS;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -454,7 +454,7 @@
      }
      msgID = MSGID_RANDOMPWGEN_CANNOT_DETERMINE_PWFORMAT;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      unacceptableReasons.add(message);
      return false;
    }
@@ -536,7 +536,7 @@
      }
      msgID = MSGID_RANDOMPWGEN_CANNOT_DETERMINE_CHARSETS;
      messages.add(getMessage(msgID, stackTraceToSingleLineString(e)));
      messages.add(getMessage(msgID, getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -610,7 +610,7 @@
      }
      msgID = MSGID_RANDOMPWGEN_CANNOT_DETERMINE_PWFORMAT;
      messages.add(getMessage(msgID, stackTraceToSingleLineString(e)));
      messages.add(getMessage(msgID, getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
opends/src/server/org/opends/server/extensions/RepeatedCharactersPasswordValidator.java
@@ -36,10 +36,10 @@
import org.opends.server.admin.std.server.
            RepeatedCharactersPasswordValidatorCfg;
import org.opends.server.api.PasswordValidator;
import org.opends.server.core.Operation;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.ByteString;
import org.opends.server.types.Entry;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import static org.opends.server.messages.ExtensionsMessages.*;
opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java
@@ -160,8 +160,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -204,8 +203,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java
@@ -188,8 +188,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -251,8 +250,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -403,8 +401,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java
@@ -187,8 +187,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -250,8 +249,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -402,8 +400,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java
@@ -190,8 +190,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -253,8 +252,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -405,8 +403,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java
@@ -190,8 +190,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -253,8 +252,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -405,8 +403,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java
@@ -189,8 +189,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -252,8 +251,7 @@
      }
      int    msgID   = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
@@ -404,8 +402,7 @@
      }
      int msgID = MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD;
      String message = getMessage(msgID, CLASS_NAME,
                                  stackTraceToSingleLineString(e));
      String message = getMessage(msgID, CLASS_NAME, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
opends/src/server/org/opends/server/extensions/SimilarityBasedPasswordValidator.java
@@ -31,12 +31,12 @@
import org.opends.server.api.PasswordValidator;
import org.opends.server.config.ConfigException;
import org.opends.server.core.Operation;
import org.opends.server.types.ByteString;
import org.opends.server.types.ByteStringFactory;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.Entry;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import org.opends.server.util.LevenshteinDistance;
import org.opends.server.admin.std.server.SimilarityBasedPasswordValidatorCfg;
opends/src/server/org/opends/server/extensions/SoftReferenceEntryCache.java
@@ -212,7 +212,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_SOFTREFCACHE_CANNOT_DETERMINE_LOCK_TIMEOUT,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e),
               String.valueOf(configEntryDN), getExceptionMessage(e),
               lockTimeout);
    }
@@ -260,7 +260,7 @@
                       ErrorLogSeverity.SEVERE_WARNING,
                       MSGID_SOFTREFCACHE_CANNOT_DECODE_INCLUDE_FILTER,
                       String.valueOf(configEntryDN), filterString,
                       stackTraceToSingleLineString(e));
                       getExceptionMessage(e));
            }
          }
@@ -284,7 +284,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_SOFTREFCACHE_CANNOT_DETERMINE_INCLUDE_FILTERS,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e));
               String.valueOf(configEntryDN), getExceptionMessage(e));
    }
@@ -331,7 +331,7 @@
                       ErrorLogSeverity.SEVERE_WARNING,
                       MSGID_SOFTREFCACHE_CANNOT_DECODE_EXCLUDE_FILTER,
                       String.valueOf(configEntryDN), filterString,
                       stackTraceToSingleLineString(e));
                       getExceptionMessage(e));
            }
          }
@@ -355,7 +355,7 @@
      // Log an error message.
      logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.SEVERE_ERROR,
               MSGID_SOFTREFCACHE_CANNOT_DETERMINE_EXCLUDE_FILTERS,
               String.valueOf(configEntryDN), stackTraceToSingleLineString(e));
               String.valueOf(configEntryDN), getExceptionMessage(e));
    }
  }
@@ -1162,7 +1162,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_SOFTREFCACHE_INVALID_LOCK_TIMEOUT;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1208,7 +1208,7 @@
              unacceptableReasons.add(getMessage(msgID,
                                           String.valueOf(configEntryDN),
                                            filterString,
                                            stackTraceToSingleLineString(e)));
                                            getExceptionMessage(e)));
              configIsAcceptable = false;
            }
          }
@@ -1225,7 +1225,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_SOFTREFCACHE_INVALID_INCLUDE_FILTERS;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1270,8 +1270,8 @@
              msgID = MSGID_SOFTREFCACHE_INVALID_EXCLUDE_FILTER;
              unacceptableReasons.add(getMessage(msgID,
                                           String.valueOf(configEntryDN),
                                            filterString,
                                            stackTraceToSingleLineString(e)));
                                           filterString,
                                           getExceptionMessage(e)));
              configIsAcceptable = false;
            }
          }
@@ -1288,7 +1288,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_SOFTREFCACHE_INVALID_EXCLUDE_FILTERS;
      unacceptableReasons.add(getMessage(msgID, String.valueOf(configEntryDN),
                                         stackTraceToSingleLineString(e)));
                                         getExceptionMessage(e)));
      configIsAcceptable = false;
    }
@@ -1351,7 +1351,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_SOFTREFCACHE_INVALID_LOCK_TIMEOUT;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -1399,8 +1399,7 @@
              // We couldn't decode this filter, so it isn't valid.
              msgID = MSGID_SOFTREFCACHE_INVALID_INCLUDE_FILTER;
              messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                      filterString,
                                      stackTraceToSingleLineString(e)));
                                      filterString, getExceptionMessage(e)));
              if (resultCode == ResultCode.SUCCESS)
              {
@@ -1423,7 +1422,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_SOFTREFCACHE_INVALID_INCLUDE_FILTERS;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
@@ -1471,8 +1470,7 @@
              // We couldn't decode this filter, so it isn't valid.
              msgID = MSGID_SOFTREFCACHE_INVALID_EXCLUDE_FILTER;
              messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                                      filterString,
                                      stackTraceToSingleLineString(e)));
                                      filterString, getExceptionMessage(e)));
              if (resultCode == ResultCode.SUCCESS)
              {
@@ -1495,7 +1493,7 @@
      // An error occurred, so the provided value must not be valid.
      msgID = MSGID_SOFTREFCACHE_INVALID_EXCLUDE_FILTERS;
      messages.add(getMessage(msgID, String.valueOf(configEntryDN),
                              stackTraceToSingleLineString(e)));
                              getExceptionMessage(e)));
      if (resultCode == ResultCode.SUCCESS)
      {
opends/src/server/org/opends/server/extensions/StartTLSExtendedOperation.java
@@ -181,8 +181,7 @@
      }
      logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.MILD_ERROR,
               MSGID_STARTTLS_ERROR_ON_ENABLE,
               stackTraceToSingleLineString(de));
               MSGID_STARTTLS_ERROR_ON_ENABLE, getExceptionMessage(de));
    }
@@ -204,11 +203,11 @@
      logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.MILD_ERROR,
               MSGID_STARTTLS_ERROR_SENDING_CLEAR_RESPONSE,
               stackTraceToSingleLineString(e));
               getExceptionMessage(e));
      clientConnection.disconnect(DisconnectReason.SECURITY_PROBLEM, false,
                                  MSGID_STARTTLS_ERROR_SENDING_CLEAR_RESPONSE,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
    }
  }
}
opends/src/server/org/opends/server/extensions/SubjectEqualsDNCertificateMapper.java
@@ -156,7 +156,7 @@
      int    msgID   = MSGID_SEDCM_CANNOT_DECODE_SUBJECT_AS_DN;
      String message = getMessage(msgID, String.valueOf(peerPrincipal),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(ResultCode.INVALID_CREDENTIALS, message,
                                   msgID);
    }
@@ -211,7 +211,7 @@
      int    msgID   = MSGID_SEDCM_CANNOT_GET_ENTRY;
      String message = getMessage(msgID, String.valueOf(subjectDN),
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      throw new DirectoryException(ResultCode.INVALID_CREDENTIALS, message,
                                   msgID, e);
    }
opends/src/server/org/opends/server/extensions/TLSCapableConnection.java
@@ -28,8 +28,8 @@
import org.opends.server.core.Operation;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Operation;
opends/src/server/org/opends/server/extensions/TLSConnectionSecurityProvider.java
@@ -212,7 +212,7 @@
      }
      int msgID = MSGID_TLS_SECURITY_PROVIDER_CANNOT_INITIALIZE;
      String message = getMessage(msgID, stackTraceToSingleLineString(e));
      String message = getMessage(msgID, getExceptionMessage(e));
      throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                   message, msgID, e);
    }
@@ -660,7 +660,7 @@
        // Disconnect and return.
        clientConnection.disconnect(DisconnectReason.SERVER_ERROR, true,
                                    MSGID_TLS_SECURITY_PROVIDER_READ_ERROR,
                                    stackTraceToSingleLineString(e));
                                    getExceptionMessage(e));
        return false;
      }
    }
@@ -960,7 +960,7 @@
      // Disconnect and return.
      clientConnection.disconnect(DisconnectReason.SERVER_ERROR, true,
                                  MSGID_TLS_SECURITY_PROVIDER_WRITE_ERROR,
                                  stackTraceToSingleLineString(e));
                                  getExceptionMessage(e));
      return false;
    }
  }
opends/src/server/org/opends/server/extensions/TraditionalWorkQueue.java
@@ -44,21 +44,20 @@
import org.opends.server.config.ConfigException;
import org.opends.server.config.IntegerConfigAttribute;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.Operation;
import org.opends.server.monitors.TraditionalWorkQueueMonitor;
import org.opends.server.types.CancelRequest;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.loggers.Error.*;
import static org.opends.server.messages.ConfigMessages.*;
import static org.opends.server.messages.CoreMessages.*;
opends/src/server/org/opends/server/extensions/TraditionalWorkerThread.java
@@ -28,27 +28,24 @@
import java.util.Map;
import org.opends.server.api.DirectoryThread;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.Operation;
import org.opends.server.types.CancelRequest;
import org.opends.server.types.CancelResult;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.ErrorLogCategory;
import org.opends.server.types.ErrorLogSeverity;
import org.opends.server.types.Operation;
import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import static org.opends.server.loggers.debug.DebugLogger.debugInfo;
import static org.opends.server.loggers.debug.DebugLogger.debugWarning;
import org.opends.server.types.DebugLogLevel;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.loggers.Error.*;
import static org.opends.server.messages.CoreMessages.*;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.util.StaticUtils.*;
import java.util.Map;
/**
 * This class defines a data structure for storing and interacting with a
@@ -57,9 +54,6 @@
public class TraditionalWorkerThread
       extends DirectoryThread
{
  // Indicates whether the Directory Server is shutting down and this thread
  // should stop running.
  private boolean shutdownRequested;
opends/src/server/org/opends/server/extensions/UniqueCharactersPasswordValidator.java
@@ -36,10 +36,10 @@
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.server.UniqueCharactersPasswordValidatorCfg;
import org.opends.server.api.PasswordValidator;
import org.opends.server.core.Operation;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.ByteString;
import org.opends.server.types.Entry;
import org.opends.server.types.Operation;
import org.opends.server.types.ResultCode;
import static org.opends.server.messages.ExtensionsMessages.*;
opends/src/server/org/opends/server/loggers/DirectoryAuditLogger.java
@@ -56,13 +56,13 @@
import org.opends.server.core.SearchOperation;
import org.opends.server.core.UnbindOperation;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPModification;
import org.opends.server.types.ByteString;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.DN;
import org.opends.server.types.ModificationType;
import org.opends.server.types.RawAttribute;
import org.opends.server.types.RawModification;
import org.opends.server.types.ResultCode;
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.SearchResultReference;
@@ -233,8 +233,8 @@
      buffer.append(EOL);
      buffer.append("changetype: add");
      buffer.append(EOL);
      List<LDAPAttribute> rawAttributes = addOperation.getRawAttributes();
      for(LDAPAttribute attr : rawAttributes)
      List<RawAttribute> rawAttributes = addOperation.getRawAttributes();
      for(RawAttribute attr : rawAttributes)
      {
        buffer.append(attr.getAttributeType());
        buffer.append(":");
@@ -420,12 +420,12 @@
      buffer.append(EOL);
      buffer.append("changetype: modify");
      buffer.append(EOL);
      List<LDAPModification> modifications =
      List<RawModification> modifications =
           modifyOperation.getRawModifications();
      for(LDAPModification modification : modifications)
      for(RawModification modification : modifications)
      {
        ModificationType modType = modification.getModificationType();
        LDAPAttribute attr = modification.getAttribute();
        RawAttribute attr = modification.getAttribute();
        switch(modType)
        {
          case ADD:
opends/src/server/org/opends/server/messages/AciMessages.java
@@ -740,71 +740,71 @@
        registerMessage(MSGID_ACI_SYNTAX_GENERAL_PARSE_FAILED,
                "The provided string  \"%s\" could not be parsed as a valid " +
                "Access Control Instruction (ACI) because it failed "+
                "general ACI syntax evaluation.");
                "general ACI syntax evaluation");
        registerMessage(MSGID_ACI_SYNTAX_INVAILD_VERSION,
                "The provided Access Control Instruction (ACI) version " +
                "value  \"%s\" is invalid, only the version 3.0 is " +
                "supported.");
                "supported");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_ACCESS_TYPE_VERSION,
                "The provided Access Control Instruction access " +
                "type value  \"%s\" is invalid. A valid access type " +
                "value is either allow or deny.");
                "value is either allow or deny");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_RIGHTS_SYNTAX,
                "The provided Access Control Instruction (ACI) rights " +
                "values \"%s\" are invalid. The rights must be a " +
                "list of 1 to 6 comma-separated keywords enclosed in " +
                "parentheses.");
                "parentheses");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_RIGHTS_KEYWORD,
                "The provided Access Control Instruction (ACI) rights " +
                "keyword values \"%s\" are invalid. The valid rights " +
                "keyword values are one or more of the following: read, " +
                "write, add, delete, search, compare or the single value " +
                "all.");
                "all");
        registerMessage(MSGID_ACI_SYNTAX_BIND_RULE_MISSING_CLOSE_PAREN,
                "The provided Access Control Instruction (ACI) bind " +
                "rule value \"%s\" is invalid because it is missing a " +
                "close parenthesis that corresponded to the initial open " +
                "parenthesis.");
                "parenthesis");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_BIND_RULE_SYNTAX,
                "The provided Access Control Instruction (ACI) bind rule " +
                "value \"%s\" is invalid. A valid bind rule value must " +
                "be in the following form: " +
                "keyword operator \"expression\".");
                "keyword operator \"expression\"");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_BIND_RULE_KEYWORD,
                "The provided Access Control Instruction (ACI) bind rule " +
                "keyword value \"%s\" is invalid. A valid keyword value is" +
                " one of the following: userdn, groupdn, roledn, userattr," +
                "ip, dns, dayofweek, timeofday or authmethod.");
                "ip, dns, dayofweek, timeofday or authmethod");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_BIND_RULE_OPERATOR ,
                "The provided Access Control Instruction (ACI) bind rule " +
                "operator value  \"%s\" is invalid. A valid bind rule " +
                "operator value is either '=' or \"!=\".");
                "operator value is either '=' or \"!=\"");
        registerMessage(MSGID_ACI_SYNTAX_MISSING_BIND_RULE_EXPRESSION ,
                "The provided Access Control Instruction (ACI) bind rule " +
                "expression value corresponding to the keyword value " +
                "\"%s\" is missing an expression. A valid bind rule value " +
                "must be in the following form:" +
                " keyword operator \"expression\".");
                " keyword operator \"expression\"");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_BIND_RULE_BOOLEAN_OPERATOR ,
                "The provided Access Control Instruction (ACI) bind rule " +
                "boolean operator value \"%s\" is invalid. A valid bind" +
                "rule boolean operator value is either \"OR\" or \"AND\".");
                "rule boolean operator value is either \"OR\" or \"AND\"");
        registerMessage(
                MSGID_ACI_SYNTAX_INVALID_BIND_RULE_KEYWORD_OPERATOR_COMBO,
                "The provided Access Control Instruction (ACI) bind rule " +
                "keyword string  \"%s\" is invalid for the bind rule " +
                "operator string \"%s\".");
                "operator string \"%s\"");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_USERDN_URL,
                "The provided Access Control Instruction (ACI) bind rule " +
@@ -816,7 +816,7 @@
                "roledn expression value \"%s\" is invalid. A valid roledn " +
                "keyword expression value requires one or more LDAP URLs " +
                "in the following format: " +
                "ldap:///dn [|| ldap:///dn] ... [|| ldap:///dn].");
                "ldap:///dn [|| ldap:///dn] ... [|| ldap:///dn]");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_ROLEDN_URL,
                "The provided Access Control Instruction (ACI) bind rule " +
@@ -828,7 +828,7 @@
          "groupdn expression value \"%s\" is invalid. A valid groupdn " +
         "keyword expression  value requires one or more LDAP URLs in the" +
         " following format: " +
         "ldap:///groupdn [|| ldap:///groupdn] ... [|| ldap:///groupdn].");
         "ldap:///groupdn [|| ldap:///groupdn] ... [|| ldap:///groupdn]");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_GROUPDN_URL,
                "The provided Access Control Instruction (ACI) bind rule " +
@@ -837,11 +837,11 @@
        registerMessage(MSGID_ACI_SYNTAX_ADDRESS_FAMILY_MISMATCH,
                "The network mask value \"%s\" is not valid for " +
                "the ip expression network address \"%s\".");
                "the ip expression network address \"%s\"");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_NETWORK_BIT_MATCH,
                "The bit mask for address type value \"%s\" is not valid." +
                "%s.");
                "%s");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_IP_CRITERIA_DECODE,
                "The provided Access Control Instruction (ACI) bind rule " +
@@ -852,13 +852,13 @@
                "The provided Access Control Instruction (ACI) bind rule " +
                "ip expression value \"%s\" is invalid. A valid ip " +
                "keyword expression value requires one or more" +
                "comma-separated elements of an IP address list expression.");
                "comma-separated elements of an IP address list expression");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_DNS_EXPRESSION,
                "The provided Access Control Instruction (ACI) bind rule " +
                "dns expression value \"%s\" is invalid. A valid dns " +
                "keyword expression value requires a valid fully qualified"+
                " DNS domain name.");
                " DNS domain name");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_DNS_WILDCARD,
@@ -867,25 +867,25 @@
                " pattern was found in the wrong position. A valid dns " +
                "keyword wild-card expression value requires the '*' " +
                "character only be in the leftmost position of the " +
                "domain name.");
                "domain name");
        registerMessage(MSGID_ACI_LOCALHOST_DOESNT_MATCH_CANONICAL_VALUE,
                "The provided Access Control Instruction (ACI) bind rule " +
                "dns expression value \"%s\" references hostname %s, but " +
                "the canonical representation for that hostname is " +
                "configured to be %s.  The server will attempt to " +
                "automatically interpret the correct localhost value.");
                "automatically interpret the correct localhost value");
        registerMessage(MSGID_ACI_HOSTNAME_DOESNT_MATCH_CANONICAL_VALUE,
                "The provided Access Control Instruction (ACI) bind rule " +
                "dns expression value \"%s\" references hostname %s, which " +
                "resolves to IP address %s, but the canonical hostname for " +
                "that IP address is %s.  This likely means that the " +
                "provided hostname will never match any clients.");
                "provided hostname will never match any clients");
        registerMessage(MSGID_ACI_ERROR_CHECKING_CANONICAL_HOSTNAME,
                "An error occurred while attempting to determine whether " +
                "hostname %s referenced in dns expression bind rule \"%s\" " +
                "used the correct canonical representation:  %s.  This " +
                "likely means that the provided hostname will never match " +
                "any clients.");
                "any clients");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_DAYOFWEEK,
                "The provided Access Control Instruction (ACI) bind rule " +
@@ -893,20 +893,20 @@
                "an invalid day of week value. A valid dayofweek value " +
                "is one of the following English three-letter abbreviations" +
                "for the days of the week: sun, mon, tue, wed, thu, " +
                "fri, or sat.");
                "fri, or sat");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TIMEOFDAY,
                "The provided Access Control Instruction (ACI) bind rule " +
                "timeofday expression value \"%s\" is invalid. A valid " +
                "timeofday value is expressed as four digits representing " +
                "hours and minutes in the 24-hour clock (0 to 2359).");
                "hours and minutes in the 24-hour clock (0 to 2359)");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TIMEOFDAY_RANGE,
                "The provided Access Control Instruction (ACI) bind rule " +
                "timeofday expression value \"%s\" is not in the valid" +
                 " range. A valid timeofday value is expressed as four" +
                 " digits representing hours and minutes in the 24-hour" +
                 " clock (0 to 2359).");
                 " clock (0 to 2359)");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_AUTHMETHOD_EXPRESSION,
                "The provided Access Control Instruction (ACI) bind rule " +
@@ -914,7 +914,7 @@
                "authmethod value is one of the following: none, simple," +
                "SSL, or \"sasl mechanism\", where mechanism is one of the" +
                "supported SASL mechanisms including CRAM-MD5, DIGEST-MD5, " +
                "and GSSAPI.");
                "and GSSAPI");
        registerMessage(MSGID_ACI_SYNTAX_DUBIOUS_AUTHMETHOD_SASL_MECHANISM,
                "The SASL mechanism \"%s\" provided in the Access Control " +
@@ -923,104 +923,104 @@
        registerMessage(MSGID_ACI_SYNTAX_INVALID_USERATTR_EXPRESSION,
                "The provided Access Control Instruction (ACI) bind rule " +
                "userattr expression value \"%s\" is invalid.");
                "userattr expression value \"%s\" is invalid");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_USERATTR_KEYWORD,
                "The provided Access Control Instruction (ACI) bind rule " +
                "userattr expression value \"%s\" is not supported.");
                "userattr expression value \"%s\" is not supported");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_USERATTR_INHERITANCE_PATTERN,
                "The provided Access Control Instruction (ACI) bind rule " +
                "userattr expression inheritance pattern value \"%s\" is " +
                "invalid. A valid inheritance pattern value must have" +
                "the following format:" +
                " parent[inheritance_level].attribute#bindType.");
                " parent[inheritance_level].attribute#bindType");
        registerMessage(
                MSGID_ACI_SYNTAX_MAX_USERATTR_INHERITANCE_LEVEL_EXCEEDED,
                "The provided Access Control Instruction (ACI) bind rule " +
                "userattr expression inheritance pattern value \"%s\" is " +
                "invalid. The inheritance level value cannot exceed the" +
                "max level limit of %s.");
                "max level limit of %s");
        registerMessage(
                MSGID_ACI_SYNTAX_INVALID_INHERITANCE_VALUE,
                "The provided Access Control Instruction (ACI) bind rule " +
                "userattr expression inheritance pattern value \"%s\" is" +
                " invalid because it is non-numeric.");
                " invalid because it is non-numeric");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGET_SYNTAX,
                "The provided Access Control Instruction (ACI) target rule" +
                "value \"%s\" is invalid. A valid target rule value must" +
                "be in the following form: " +
                "keyword operator \"expression\".");
                "keyword operator \"expression\"");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGET_KEYWORD,
                "The provided Access Control Instruction (ACI) target " +
                "keyword value \"%s\" is invalid. A valid target keyword" +
                " value is one of the following: target, targetscope, " +
                "targetfilter, targetattr or targetattrfilters.");
                "targetfilter, targetattr or targetattrfilters");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGETS_OPERATOR,
                "The provided Access Control Instruction (ACI) target " +
                "keyword operator value  \"%s\" is invalid. A valid target" +
                "keyword operator value is either '=' or \"!=\".");
                "keyword operator value is either '=' or \"!=\"");
        registerMessage(MSGID_ACI_SYNTAX_TARGET_KEYWORD_NOT_SUPPORTED,
                "The provided Access Control Instruction (ACI) " +
                "target keyword value \"%s\" is not supported at this time.");
                "target keyword value \"%s\" is not supported at this time");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGET_DUPLICATE_KEYWORDS,
                "The provided Access Control Instruction (ACI) " +
                "target keyword value \"%s\" was seen multiple times in" +
                " the ACI \"%s\".");
                " the ACI \"%s\"");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGET_NOT_OPERATOR,
                "The provided Access Control Instruction (ACI) target" +
                " operator value \"%s\" is invalid. The only valid" +
                "target operator value for the \"%s\" keyword is '='.");
                "target operator value for the \"%s\" keyword is '='");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGETSCOPE_EXPRESSION,
                "The provided Access Control Instruction (ACI) targetscope" +
                " expression operator value  \"%s\" is invalid. A valid" +
                " targetscope expression value is one of the following: one," +
                " onelevel or subtree.");
                " onelevel or subtree");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGETKEYWORD_EXPRESSION,
                "The provided Access Control Instruction (ACI)" +
                " target expression value \"%s\" is invalid. A valid target" +
                " keyword expression  value requires a LDAP URL in the" +
                " following format: ldap:///distinguished_name_pattern.");
                " following format: ldap:///distinguished_name_pattern");
        registerMessage(MSGID_ACI_SYNTAX_TARGET_DN_NOT_DESCENDENTOF,
                "The provided Access Control Instruction (ACI) " +
                "target expression DN value \"%s\" is invalid. The target " +
                "expression DN value must be a descendant of the ACI entry" +
                " DN \"%s\", if no wild-card is specified in the target" +
                "expression DN.");
                "expression DN");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGETATTRKEYWORD_EXPRESSION,
                "The provided Access Control Instruction (ACI) " +
                "targetattr expression value \"%s\" is invalid. A valid " +
                "targetattr keyword expression value requires one or more " +
                "valid attribute type names in the following format: " +
                "attribute1 [|| attribute1] ... [|| attributen].");
                "attribute1 [|| attribute1] ... [|| attributen]");
        registerMessage(
                MSGID_ACI_SYNTAX_INVALID_TARGETFILTERKEYWORD_EXPRESSION,
                "The provided Access Control Instruction (ACI)" +
                " targetfilter expression value \"%s\" is invalid because it" +
                " is not a valid LDAP filter.");
                " is not a valid LDAP filter");
        registerMessage(MSGID_ACI_ADD_FAILED_PRIVILEGE,
                "An attempt to add the entry \"%s\" containing" +
                " an aci attribute type failed, because the authorization DN" +
                " \"%s\" lacked modify-acl privileges.");
                " \"%s\" lacked modify-acl privileges");
        registerMessage(MSGID_ACI_MODIFY_FAILED_PRIVILEGE,
                "An attempt to modify an aci "+
                "attribute type in the entry \"%s\" failed, because the" +
                "authorization DN \"%s\" lacked modify-acl privileges.");
                "authorization DN \"%s\" lacked modify-acl privileges");
        registerMessage(MSGID_ACI_ADD_FAILED_DECODE,
                "An attempt to add the entry \"%s\" containing" +
@@ -1038,24 +1038,24 @@
        registerMessage(MSGID_ACI_ADD_LIST_NO_ACIS,
                "No Access Control Instruction (ACI) attribute types were" +
                " found in context \"%s\".");
                " found in context \"%s\"");
        registerMessage(MSGID_ACI_ADD_LIST_ACIS,
                "Added %s Access Control Instruction (ACI) attribute types" +
                " found in context \"%s\" to the access" +
                "control evaluation engine.");
                "control evaluation engine");
        registerMessage(
                MSGID_ACI_SYNTAX_INVALID_USERATTR_ROLEDN_INHERITANCE_PATTERN,
                "The provided Access Control Instruction (ACI) bind rule " +
                "userattr expression inheritance pattern value " +
                "\"%s\" is invalid for the roledn keyword because it starts " +
                        "with the string \"parent[\".");
                        "with the string \"parent[\"");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGATTRFILTERS_OPERATION,
                "The provided Access Control Instruction (ACI) " +
                "targattrfilter expression value " +
                "%s is invalid because %s.");
                "%s is invalid because %s");
        registerMessage(MSGID_ACI_SYNTAX_INVALID_TARGATTRFILTERS_EXPRESSION,
                "The provided Access Control Instruction (ACI) " +
@@ -1070,14 +1070,14 @@
                "The provided Access Control Instruction (ACI) " +
                   "targattrfilter expression value " +
                   "%s is invalid because the both operation tokens " +
                   "match in the two filter lists.");
                   "match in the two filter lists");
        registerMessage(
                MSGID_ACI_SYNTAX_INVALID_TARGATTRFILTERS_MAX_FILTER_LISTS,
                "The provided Access Control Instruction (ACI) " +
                     "targattrfilters expression value " +
                     "%s is invalid because there are more than two" +
                      "filter list statements.");
                      "filter list statements");
        registerMessage(
                MSGID_ACI_SYNTAX_INVALID_TARGATTRFILTERS_FILTER_LIST_FORMAT,
@@ -1086,7 +1086,7 @@
                "%s is invalid because the provided filter list string " +
                "is in the wrong format. A valid targattrfilters filter " +
                "list must be in the following format: " +
                "add=attr1: F1 && attr2: F2 ... && attrn: Fn .");
                "add=attr1: F1 && attr2: F2 ... && attrn: Fn ");
        registerMessage(
             MSGID_ACI_SYNTAX_INVALID_TARGATTRFILTERS_FILTER_LISTS_FILTER,
@@ -1094,7 +1094,7 @@
             "targattrfilters expression value " +
             "%s is invalid because the one or more of the specified" +
             "filters are invalid for the following reason: " +
             "%s.");
             "%s");
        registerMessage(
             MSGID_ACI_SYNTAX_INVALID_TARGATTRFILTERS_FILTER_LISTS_ATTR_FILTER,
@@ -1102,7 +1102,7 @@
             "targattrfilters expression value " +
             "%s is invalid because the one or more of the specified" +
             "filters are invalid because of non-matching attribute" +
             "type names in the filter.");
             "type names in the filter");
        registerMessage(
             MSGID_ACI_SYNTAX_INVALID_ATTRIBUTE_TYPE_NAME,
@@ -1110,43 +1110,43 @@
             "attribute name value " +
             "%s is invalid. A valid attribute type name must begin " +
             "with an ASCII letter and must contain only ASCII letters," +
              "digits or the \"-\" character.");
              "digits or the \"-\" character");
        registerMessage(MSGID_ACI_DESCRIPTION_GLOBAL_ACI,
             "Specifies a global Access Control Instruction (ACI) "  +
             "attribute type that can be used to defined ACIs that have " +
             "global scope accross naming contexts.");
             "global scope accross naming contexts");
        registerMessage(MSGID_ACI_ADD_LIST_NO_GLOBAL_ACIS,
            "No Global Access Control Instruction (ACI) attribute types were" +
           " found.");
           " found");
        registerMessage(MSGID_ACI_ADD_LIST_GLOBAL_ACIS,
                "Added %s Global Access Control Instruction (ACI) attribute " +
                "types to the access control evaluation engine.");
                "types to the access control evaluation engine");
        registerMessage(MSGID_ACI_HANDLER_FAIL_PROCESS_GLOBAL_ACI,
         "An unexpected error occurred while processing the " +
         ATTR_AUTHZ_GLOBAL_ACI + " attribute in configuration entry %s.");
         ATTR_AUTHZ_GLOBAL_ACI + " attribute in configuration entry %s");
        registerMessage(MSGID_ACI_HANDLER_FAIL_PROCESS_ACI,
         "An unexpected error occurred while processing the " +
          " aci attributes in the configuration system.");
          " aci attributes in the configuration system");
        registerMessage(MSGID_PATTERN_DN_CONSECUTIVE_WILDCARDS_IN_VALUE,
          "The pattern DN %s is not valid because it contains two " +
               "consecutive wildcards in an attribute value.");
               "consecutive wildcards in an attribute value");
        registerMessage(MSGID_PATTERN_DN_TYPE_CONTAINS_SUBSTRINGS,
          "The pattern DN %s is not valid because it uses wildcards for " +
               "substring matching on an attribute type.  A single wildcard " +
               "is allowed in place of an attribute type.");
               "is allowed in place of an attribute type");
        registerMessage(MSGID_PATTERN_DN_TYPE_WILDCARD_IN_MULTIVALUED_RDN,
          "The pattern DN %s is not valid because it contains a wildcard in " +
               "an attribute type in a multi-valued RDN");
      registerMessage(MSGID_ACI_HANDLER_CANNOT_LOCK_NEW_SUPERIOR_USER,
          "Unable to obtain a lock on the ModifyDN new superior entry %s.");
          "Unable to obtain a lock on the ModifyDN new superior entry %s");
    }
}
opends/src/server/org/opends/server/messages/AdminMessages.java
@@ -212,81 +212,81 @@
  public static void registerMessages() {
    registerMessage(MSGID_ADMIN_CANNOT_GET_LISTENER_BASE,
        "An error occurred while trying to "
            + "retrieve relation configuration entry %s: %s.");
            + "retrieve relation configuration entry %s: %s");
    registerMessage(MSGID_ADMIN_LISTENER_BASE_DOES_NOT_EXIST,
        "The relation entry %s does not appear to exist in the "
            + "Directory Server configuration. This is a required entry.");
            + "Directory Server configuration. This is a required entry");
    registerMessage(MSGID_ADMIN_CANNOT_GET_MANAGED_OBJECT,
        "An error occurred while trying to "
            + "retrieve the managed object configuration entry %s: %s.");
            + "retrieve the managed object configuration entry %s: %s");
    registerMessage(MSGID_ADMIN_MANAGED_OBJECT_DOES_NOT_EXIST,
        "The managed object configuration entry %s does not "
            + "appear to exist in the Directory Server "
            + "configuration. This is a required entry.");
            + "configuration. This is a required entry");
    registerMessage(MSGID_ADMIN_MANAGED_OBJECT_DECODING_PROBLEM,
        "An error occurred while trying to "
            + "decode the managed object configuration entry %s: %s.");
            + "decode the managed object configuration entry %s: %s");
    registerMessage(MSGID_ADMIN_CANNOT_INSTANTIATE_CLASS,
        "The Directory Server was unable to load class %s and "
            + "use it to create a component instance as "
            + "defined in configuration entry %s.  The error that "
            + "occurred was:  %s.  This component will be " + "disabled.");
            + "occurred was:  %s.  This component will be " + "disabled");
    registerMessage(MSGID_ADMIN_CANNOT_INITIALIZE_COMPONENT,
        "An error occurred while trying to initialize a " +
        "component instance loaded from class %s with the " +
        "information in configuration entry %s:  %s.  This " +
        "component will be disabled.");
        "component will be disabled");
    registerMessage(MSGID_ADMIN_COMPONENT_DISABLED,
        "The Directory Server component configured in " +
        "entry %s has been disabled.");
        "entry %s has been disabled");
    registerMessage(MSGID_ADMIN_CANNOT_OPEN_JAR_FILE,
        "The Directory Server jar file %s in directory %s cannot be " +
        "loaded because an unexpected error occurred while " +
        "trying to open the file for reading:  %s.");
        "trying to open the file for reading:  %s");
    registerMessage(MSGID_ADMIN_NO_EXTENSIONS_DIR,
        "The extensions directory %s does not exist, therefore no " +
        "extensions will be loaded.");
        "extensions will be loaded");
    registerMessage(MSGID_ADMIN_EXTENSIONS_DIR_NOT_DIRECTORY,
        "Unable to read the Directory Server extensions " +
        "because the extensions directory %s exists but is not a " +
        "directory.");
        "directory");
    registerMessage(MSGID_ADMIN_EXTENSIONS_CANNOT_LIST_FILES,
        "Unable to read the Directory Server extensions " +
        "from directory %s because an unexpected error occurred " +
        "while trying to list the files in that directory:  %s.");
        "while trying to list the files in that directory:  %s");
    registerMessage(MSGID_ADMIN_CANNOT_LOAD_CLASS_FROM_CORE_MANIFEST,
        "A core configuration definition class could not be loaded " +
        "from the core manifest file %s because an unexpected error " +
        "occurred while trying to initialize it:  %s.");
        "occurred while trying to initialize it:  %s");
    registerMessage(MSGID_ADMIN_CANNOT_LOAD_CLASS_FROM_EXTENSION_MANIFEST,
        "A configuration definition class could not be loaded " +
        "from the extension manifest file %s in extensions %s because an " +
        "unexpected error occurred while trying to initialize it:  %s.");
        "unexpected error occurred while trying to initialize it:  %s");
    registerMessage(MSGID_ADMIN_CANNOT_FIND_CORE_MANIFEST,
        "The core administration manifest file %s cannot be located.");
        "The core administration manifest file %s cannot be located");
    registerMessage(MSGID_ADMIN_CANNOT_READ_CORE_MANIFEST,
        "The core administration manifest file %s cannot be " +
        "loaded because an unexpected error occurred while " +
        "trying to read it:  %s.");
        "trying to read it:  %s");
    registerMessage(MSGID_ADMIN_CANNOT_READ_EXTENSION_MANIFEST,
        "The administration manifest file %s associated with the " +
        "extension %s cannot be loaded because an unexpected error " +
        "occurred while trying to read it:  %s.");
        "occurred while trying to read it:  %s");
  }
}
opends/src/server/org/opends/server/messages/BackendMessages.java
@@ -3228,172 +3228,172 @@
                    "contains additional sub-suffixes and may not be " +
                    "de-registered.  It may be possible to remove this " +
                    "sub-suffix by editing the configuration for the " +
                    "subordinate backend with which it is associated.");
                    "subordinate backend with which it is associated");
    registerMessage(MSGID_BACKEND_CANNOT_LOCK_ENTRY,
                    "The Directory Server was unable to obtain a lock on " +
                    "entry %s after multiple attempts.  This could mean that " +
                    "the entry is already locked by a long-running operation " +
                    "or that the entry has previously been locked but was " +
                    "not properly unlocked.");
                    "not properly unlocked");
    registerMessage(MSGID_BACKEND_CANNOT_REGISTER_BASEDN,
                    "An error occurred while attempting to register base DN " +
                    "in the Directory Server:  %s.");
                    "in the Directory Server:  %s");
    registerMessage(MSGID_ROOTDSE_CONFIG_ENTRY_NULL,
                    "An attempt was made to configure the root DSE backend " +
                    "without providing a configuration entry.  This is not " +
                    "allowed.");
                    "allowed");
    registerMessage(MSGID_ROOTDSE_SUBORDINATE_BASE_DESCRIPTION,
                    "Specifies the set of base DNs that will be used for " +
                    "singleLevel, wholeSubtree, and subordinateSubtree " +
                    "searches based at the root DSE.  If this is not " +
                    "provided, then the set of all user-defined suffixes " +
                    "will be used.");
                    "will be used");
    registerMessage(MSGID_ROOTDSE_NO_BACKEND_FOR_SUBORDINATE_BASE,
                    "Base DN \"%s\" is configured as one of the subordinate " +
                    "base DNs to use for searches below the root DSE.  " +
                    "However, this base DN is not handled by any suffix " +
                    "registered with the Directory Server and will therefore " +
                    "not be used.");
                    "not be used");
    registerMessage(MSGID_ROOTDSE_SUBORDINATE_BASE_EXCEPTION,
                    "An unexpected problem occurred while trying to " +
                    "determine the set of subordinate base DNs to use for " +
                    "searches below the root DSE:  %s.");
                    "searches below the root DSE:  %s");
    registerMessage(MSGID_ROOTDSE_DESCRIPTION_SHOW_ALL_ATTRIBUTES,
                    "Indicates whether all attributes in the root DSE should " +
                    "be treated like user attributes (and therefore returned " +
                    "to clients by default) regardless of the Directory " +
                    "Server schema configuration.");
                    "Server schema configuration");
    registerMessage(MSGID_ROOTDSE_CANNOT_DETERMINE_ALL_USER_ATTRIBUTES,
                    "An error occurred while trying to determine the value " +
                    "of the %s configuration attribute, which controls " +
                    "whether to treat all root DSE attributes like user " +
                    "attributes:  %s.  The attributes in the root DSE will " +
                    "be treated based on their definition in the server " +
                    "schema.");
                    "schema");
    registerMessage(MSGID_ROOTDSE_GET_ENTRY_NONROOT,
                    "The root DSE backend was asked to retrieve entry with " +
                    "DN \"%s\".  This backend should only be asked to " +
                    "retrieve the root DSE itself.  However, it will check " +
                    "with the defined subordinate backends and see if it " +
                    "can find the requested entry.");
                    "can find the requested entry");
    registerMessage(MSGID_ROOTDSE_ADD_NOT_SUPPORTED,
                    "Unwilling to add entry \"%s\" because add operations " +
                    "are not supported in the root DSE backend.");
                    "are not supported in the root DSE backend");
    registerMessage(MSGID_ROOTDSE_DELETE_NOT_SUPPORTED,
                    "Unwilling to remove entry \"%s\" because delete " +
                    "operations are not supported in the root DSE backend.");
                    "operations are not supported in the root DSE backend");
    registerMessage(MSGID_ROOTDSE_MODIFY_NOT_SUPPORTED,
                    "Unwilling to update entry \"%s\" because modify " +
                    "operations are not supported in the root DSE backend.  " +
                    "If you wish to alter the contents of the root DSE " +
                    "itself, then it may be possible to do so by modifying " +
                    "the \"%s\" entry in the configuration.");
                    "the \"%s\" entry in the configuration");
    registerMessage(MSGID_ROOTDSE_MODIFY_DN_NOT_SUPPORTED,
                    "Unwilling to rename entry \"%s\" because modify DN " +
                    "operations are not supported in the root DSE backend.");
                    "operations are not supported in the root DSE backend");
    registerMessage(MSGID_ROOTDSE_INVALID_SEARCH_BASE,
                    "Unwilling to perform a search (connection ID %d, " +
                    "operation ID %d) with a base DN of \"%s\" in the root " +
                    "DSE backend.  The base DN for searches in this backend " +
                    "must be the DN of the root DSE itself.");
                    "must be the DN of the root DSE itself");
    registerMessage(MSGID_ROOTDSE_UNEXPECTED_SEARCH_FAILURE,
                    "An unexpected failure occurred while trying to process " +
                    "a search operation (connection ID %d, operation ID %d) " +
                    "in the root DSE backend:  %s.");
                    "in the root DSE backend:  %s");
    registerMessage(MSGID_ROOTDSE_INVALID_SEARCH_SCOPE,
                    "Unable to process the search with connection ID %d and " +
                    "operation ID %d because it had an invalid scope of %s.");
                    "operation ID %d because it had an invalid scope of %s");
    registerMessage(MSGID_ROOTDSE_UNABLE_TO_CREATE_LDIF_WRITER,
                    "An unexpected error occurred while trying to open the " +
                    "LDIF writer for the root DSE backend:  %s.");
                    "LDIF writer for the root DSE backend:  %s");
    registerMessage(MSGID_ROOTDSE_UNABLE_TO_EXPORT_DSE,
                    "An unexpected error occurred while trying to export the " +
                    "root DSE entry to the specified LDIF target: %s.");
                    "root DSE entry to the specified LDIF target: %s");
    registerMessage(MSGID_ROOTDSE_IMPORT_NOT_SUPPORTED,
                    "The root DSE backend does not support LDIF import " +
                    "operations.");
                    "operations");
    registerMessage(MSGID_ROOTDSE_BACKUP_AND_RESTORE_NOT_SUPPORTED,
                    "The root DSE backend does not provide a facility for " +
                    "backup and restore operations.  The contents of the " +
                    "root DSE should be backed up as part of the Directory " +
                    "Server configuration.");
                    "Server configuration");
    registerMessage(MSGID_ROOTDSE_USING_SUFFIXES_AS_BASE_DNS,
                    "The root DSE configuration has been updated so that it " +
                    "will now use the defined set of Directory Server " +
                    "suffixes when performing searches below the root DSE.");
                    "suffixes when performing searches below the root DSE");
    registerMessage(MSGID_ROOTDSE_USING_NEW_SUBORDINATE_BASE_DNS,
                    "The root DSE configuration has been updated so that it " +
                    "will now use the base DN set %s when performing " +
                    "below the root DSE.");
                    "below the root DSE");
    registerMessage(MSGID_ROOTDSE_UPDATED_SHOW_ALL_ATTRS,
                    "The root DSE configuration has been updated so that " +
                    "configuration attribute %s will now use a value of %s.");
                    "configuration attribute %s will now use a value of %s");
    registerMessage(MSGID_ROOTDSE_USING_NEW_USER_ATTRS,
                    "The root DSE configuration has been updated so that it " +
                    "will now use a new set of user-defined attributes.");
                    "will now use a new set of user-defined attributes");
    registerMessage(MSGID_MONITOR_CONFIG_ENTRY_NULL,
                    "An attempt was made to configure the monitor backend " +
                    "without providing a configuration entry.  This is not " +
                    "allowed, and no monitor information will be available " +
                    "over protocol.");
                    "over protocol");
    registerMessage(MSGID_MONITOR_CANNOT_DECODE_MONITOR_ROOT_DN,
                    "An unexpected error occurred while attempting to decode " +
                    DN_MONITOR_ROOT + " as the base DN for the Directory " +
                    "Server monitor information:  %s.  No monitor " +
                    "information will be available over protocol.");
                    "information will be available over protocol");
    registerMessage(MSGID_MONITOR_ADD_NOT_SUPPORTED,
                    "Unwilling to add entry \"%s\" because add operations " +
                    "are not supported in the monitor backend.");
                    "are not supported in the monitor backend");
    registerMessage(MSGID_MONITOR_DELETE_NOT_SUPPORTED,
                    "Unwilling to remove entry \"%s\" because delete " +
                    "operations are not supported in the monitor backend.");
                    "operations are not supported in the monitor backend");
    registerMessage(MSGID_MONITOR_MODIFY_NOT_SUPPORTED,
                    "Unwilling to update entry \"%s\" because modify " +
                    "operations are not supported in the monitor backend.  " +
                    "If you wish to alter the contents of the base monitor " +
                    "entry itself, then it may be possible to do so by " +
                    "modifying the \"%s\" entry in the configuration.");
                    "modifying the \"%s\" entry in the configuration");
    registerMessage(MSGID_MONITOR_MODIFY_DN_NOT_SUPPORTED,
                    "Unwilling to rename entry \"%s\" because modify DN " +
                    "operations are not supported in the monitor backend.");
                    "operations are not supported in the monitor backend");
    registerMessage(MSGID_MONITOR_UNABLE_TO_EXPORT_BASE,
                    "An error occurred while attempting to export the base " +
                    "monitor entry:  %s.");
                    "monitor entry:  %s");
    registerMessage(MSGID_MONITOR_UNABLE_TO_EXPORT_PROVIDER_ENTRY,
                    "An error occurred while attempting to export the " +
                    "monitor entry for monitor provider %s:  %s.");
                    "monitor entry for monitor provider %s:  %s");
    registerMessage(MSGID_MONITOR_IMPORT_NOT_SUPPORTED,
                    "The monitor backend does not support LDIF import " +
                    "operations.");
                    "operations");
    registerMessage(MSGID_MONITOR_BACKUP_AND_RESTORE_NOT_SUPPORTED,
                    "The monitor backend does not provide a facility for " +
                    "backup and restore operations.");
                    "backup and restore operations");
    registerMessage(MSGID_MONITOR_USING_NEW_USER_ATTRS,
                    "The monitor configuration has been updated so that it " +
                    "will now use a new set of user-defined attributes.");
                    "will now use a new set of user-defined attributes");
    registerMessage(MSGID_MONITOR_GET_ENTRY_NULL,
                    "Unable to retrieve the requested entry from the monitor " +
                    "backend because the provided DN was null.");
                    "backend because the provided DN was null");
    registerMessage(MSGID_MONITOR_BASE_TOO_DEEP,
                    "Unable to retrieve the requested entry %s from the " +
                    "monitor backend because the DN is too deep.  Monitor " +
                    "entries may not be more than one level below %s.");
                    "entries may not be more than one level below %s");
    registerMessage(MSGID_MONITOR_INVALID_BASE,
                    "Unable to retrieve the requested entry %s from the " +
                    "monitor backend because the DN is not below the monitor " +
                    "base of %s.");
                    "base of %s");
    registerMessage(MSGID_MONITOR_MULTIVALUED_RDN,
                    "Unable to retrieve the requested entry %s from the " +
                    "monitor backend because monitor entries may not contain " +
                    "multivalued RDNs.");
                    "multivalued RDNs");
    registerMessage(MSGID_MONITOR_NO_SUCH_PROVIDER,
                    "Unable to retrieve the requested entry from the monitor " +
                    "backend because there is no monitor provider \"%s\" " +
                    "registered with the Directory Server.");
                    "registered with the Directory Server");
    registerMessage(MSGID_MONITOR_UPTIME,
                    "%d days %d hours %d minutes %d seconds");
@@ -3402,7 +3402,7 @@
                    "An attempt was made to configure the schema backend " +
                    "without providing a configuration entry.  This is not " +
                    "allowed, and no schema information will be available " +
                    "over protocol.");
                    "over protocol");
    registerMessage(MSGID_SCHEMA_DESCRIPTION_ENTRY_DN,
                    "Specifies the DN or set of DNs for the entries that may " +
                    "be retrieved in order to retrieve the Directory Server " +
@@ -3410,7 +3410,7 @@
                    "if the schema is to be available in multiple " +
                    "locations for compatibility purposes.  If no value is " +
                    "provided, a default of \"" + DN_DEFAULT_SCHEMA_ROOT +
                    "\" will be used.");
                    "\" will be used");
    registerMessage(MSGID_SCHEMA_DESCRIPTION_SHOW_ALL_ATTRIBUTES,
                    "Indicates whether to treat attributes in the subschema " +
                    "entry as user attributes even if they are marked " +
@@ -3420,14 +3420,14 @@
                    "default even if they are not requested.  Note that the " +
                    "ldapSyntaxes attribute will always be treated as " +
                    "operational in order to avoid problems with attempts to " +
                    "modify the schema over protocol.");
                    "modify the schema over protocol");
    registerMessage(MSGID_SCHEMA_CANNOT_DETERMINE_BASE_DN,
                    "An error occurred while trying to determine the base " +
                    "DNs to use when publishing the Directory Server schema " +
                    "information, as specified in the " + ATTR_SCHEMA_ENTRY_DN +
                    " attribute of configuration entry %s:  %s.  The default " +
                    "schema base DN of " + DN_DEFAULT_SCHEMA_ROOT +
                    " will be used.");
                    " will be used");
    registerMessage(MSGID_SCHEMA_CANNOT_DETERMINE_SHOW_ALL,
                    "An error occurred while trying to determine whether to " +
                    "treat all subschema entry attributes as user attributes " +
@@ -3435,452 +3435,452 @@
                    "as specified in the " + ATTR_SCHEMA_SHOW_ALL_ATTRIBUTES +
                    " attribute of configuration entry %s:  %s.  The default " +
                    "behavior, which is to treat the attribute types as " +
                    "defined in the server schema, will be used.");
                    "defined in the server schema, will be used");
    registerMessage(MSGID_SCHEMA_CANNOT_FIND_CONCAT_FILE,
                    "Unable to find a file containing concatenated schema " +
                    "element definitions in order to determine if any schema " +
                    "changes were made with the server offline.  The " +
                    "file was expected in the %s directory and should have " +
                    "been named either %s or %s.");
                    "been named either %s or %s");
    registerMessage(MSGID_SCHEMA_ERROR_DETERMINING_SCHEMA_CHANGES,
                    "An error occurred while attempting to determine whether " +
                    "any schema changes had been made by directly editing " +
                    "the schema files with the server offline:  %s.");
                    "the schema files with the server offline:  %s");
    registerMessage(MSGID_SCHEMA_CANNOT_WRITE_CONCAT_SCHEMA_FILE,
                    "An error occurred while attempting to write file %s " +
                    "containing a concatenated list of all server schema " +
                    "elements:  %s.  The server may not be able to " +
                    "accurately identify any schema changes made with the " +
                    "server offline.");
                    "server offline");
    registerMessage(MSGID_SCHEMA_ADD_NOT_SUPPORTED,
                    "Unwilling to add entry \"%s\" because add operations " +
                    "are not supported in the schema backend.");
                    "are not supported in the schema backend");
    registerMessage(MSGID_SCHEMA_DELETE_NOT_SUPPORTED,
                    "Unwilling to remove entry \"%s\" because delete " +
                    "operations are not supported in the schema backend.");
                    "operations are not supported in the schema backend");
    registerMessage(MSGID_SCHEMA_MODIFY_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to modify the " +
                    "Directory Server schema.");
                    "Directory Server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_NOT_SUPPORTED,
                    "Unwilling to update entry \"%s\" because modify " +
                    "operations are not yet supported in the schema " +
                    "backend.  If you wish to alter the contents of the base " +
                    "schema entry itself, then it may be possible to do so " +
                    "by modifying the \"%s\" entry in the configuration.");
                    "by modifying the \"%s\" entry in the configuration");
    registerMessage(MSGID_SCHEMA_DELETE_MODTYPE_NOT_SUPPORTED,
                    "The schema backend does not currently support removing " +
                    "existing schema elements.");
                    "existing schema elements");
    registerMessage(MSGID_SCHEMA_INVALID_MODIFICATION_TYPE,
                    "The schema backend does not support the %s modification " +
                    "type.");
                    "type");
    registerMessage(MSGID_SCHEMA_MODIFY_UNSUPPORTED_ATTRIBUTE_TYPE,
                    "The schema backend does not support the modification of " +
                    "the %s attribute type.  Only attribute types, object " +
                    "classes, name forms, DIT content rules, DIT structure " +
                    "rules, and matching rule uses may be modified.");
                    "rules, and matching rule uses may be modified");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE,
                    "An error occurred while attempting to decode the " +
                    "attribute type \"%s\":  %s.");
                    "attribute type \"%s\":  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_ATTRTYPE_ALREADY_EXISTS,
                    "Unable to add attribute type  %s to the server schema " +
                    "because there is an existing attribute type with a " +
                    "conflicting name or OID:  %s.");
                    "conflicting name or OID:  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS,
                    "An error occurred while attempting to decode the object " +
                    "class \"%s\":  %s.");
                    "class \"%s\":  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM,
                    "An error occurred while attempting to decode the name " +
                    "form \"%s\":  %s.");
                    "form \"%s\":  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DCR,
                    "An error occurred while attempting to decode the DIT " +
                    "content rule \"%s\":  %s.");
                    "content rule \"%s\":  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DSR,
                    "An error occurred while attempting to decode the DIT " +
                    "structure rule \"%s\":  %s.");
                    "structure rule \"%s\":  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE,
                    "An error occurred while attempting to decode the " +
                    "matching rule use \"%s\":  %s.");
                    "matching rule use \"%s\":  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_DELETE_NO_VALUES,
                    "The server will not allow removing all values for the " +
                    "%s attribute type in the server schema.");
                    "%s attribute type in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_UNDEFINED_SUPERIOR_OBJECTCLASS,
                    "Unable to add objectclass %s because its superior " +
                    "class of %s is not defined in the server schema.");
                    "class of %s is not defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_OC_UNDEFINED_REQUIRED_ATTR,
                    "Unable to add objectclass %s because it requires " +
                    "attribute %s which is not defined in the server schema.");
                    "attribute %s which is not defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_OC_UNDEFINED_OPTIONAL_ATTR,
                    "Unable to add objectclass %s because it allows " +
                    "attribute %s which is not defined in the server schema.");
                    "attribute %s which is not defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_OBJECTCLASS_ALREADY_EXISTS,
                    "Unable to add objectclass %s to the server schema " +
                    "because there is an existing objectclass with a " +
                    "conflicting name or OID:  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_READ_EXISTING_USER_SCHEMA,
                    "An error occurred while attempting to read the contents " +
                    "of schema file %s:  %s.");
                    "of schema file %s:  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_SCHEMA,
                    "An error occurred while attepting to write the updated " +
                    "schema:  %s.");
                    "schema:  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_DN_NOT_SUPPORTED,
                    "Unwilling to rename entry \"%s\" because modify DN " +
                    "operations are not supported in the schema backend.");
                    "operations are not supported in the schema backend");
    registerMessage(MSGID_SCHEMA_UNABLE_TO_EXPORT_BASE,
                    "An error occurred while attempting to export the base " +
                    "schema entry:  %s.");
                    "schema entry:  %s");
    registerMessage(MSGID_SCHEMA_IMPORT_NOT_SUPPORTED,
                    "The schema backend does not support LDIF import " +
                    "operations.");
                    "operations");
    registerMessage(MSGID_SCHEMA_BACKUP_AND_RESTORE_NOT_SUPPORTED,
                    "The schema backend does not yet provide a facility for " +
                    "backup and restore operations.");
                    "backup and restore operations");
    registerMessage(MSGID_SCHEMA_INVALID_BASE,
                    "Unable to retrieve the requested entry %s from the " +
                    "schema backend because the DN is equal to one of the " +
                    "schema entry DNs.");
                    "schema entry DNs");
    registerMessage(MSGID_SCHEMA_UNABLE_TO_CREATE_LDIF_WRITER,
                    "An unexpected error occurred while trying to open the " +
                    "LDIF writer for the schema backend:  %s.");
                    "LDIF writer for the schema backend:  %s");
    registerMessage(MSGID_SCHEMA_DEREGISTERED_BASE_DN,
                    "Successfully deregistered DN %s so that it will no " +
                    "longer be available as a schema entry DN.");
                    "longer be available as a schema entry DN");
    registerMessage(MSGID_SCHEMA_CANNOT_DEREGISTER_BASE_DN,
                    "An error occurred while trying to deregister %s as a " +
                    "schema entry DN:  %s.");
                    "schema entry DN:  %s");
    registerMessage(MSGID_SCHEMA_REGISTERED_BASE_DN,
                    "Successfully registered DN %s as a new schema entry DN.");
                    "Successfully registered DN %s as a new schema entry DN");
    registerMessage(MSGID_SCHEMA_CANNOT_REGISTER_BASE_DN,
                    "An error occurred while trying to register %s as a " +
                    "schema entry DN:  %s.");
                    "schema entry DN:  %s");
    registerMessage(MSGID_SCHEMA_USING_NEW_USER_ATTRS,
                    "The schema configuration has been updated so that it " +
                    "will now use a new set of user-defined attributes.");
                    "will now use a new set of user-defined attributes");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_GET_MAC,
                    "An error occurred while attempting to obtain the %s MAC " +
                    "provider to create the signed hash for the backup:  %s.");
                    "provider to create the signed hash for the backup:  %s");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_GET_DIGEST,
                    "An error occurred while attempting to obtain the %s " +
                    "message digest to create the hash for the backup:  %s.");
                    "message digest to create the hash for the backup:  %s");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_CREATE_ARCHIVE_FILE,
                    "An error occurred while trying to create the schema " +
                    "archive file %s in directory %s:  %s.");
                    "archive file %s in directory %s:  %s");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_GET_CIPHER,
                    "An error occurred while attempting to obtain the %s " +
                    "cipher to use to encrypt the backup:  %s.");
                    "cipher to use to encrypt the backup:  %s");
    registerMessage(MSGID_SCHEMA_BACKUP_ZIP_COMMENT,
                    "%s schema backup %s");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_LIST_SCHEMA_FILES,
                    "An error occurred while attempting to obtain a list " +
                    "of the files in directory %s to include in the schema " +
                    "backup:  %s.");
                    "backup:  %s");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_BACKUP_SCHEMA_FILE,
                    "An error occurred while attempting to back up schema " +
                    "file %s:  %s.");
                    "file %s:  %s");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_CLOSE_ZIP_STREAM,
                    "An error occurred while trying to close the schema " +
                    "archive file %s in directory %s:  %s.");
                    "archive file %s in directory %s:  %s");
    registerMessage(MSGID_SCHEMA_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR,
                    "An error occurred while attempting to update the backup " +
                    "descriptor file %s with information about the schema " +
                    "backup:  %s.");
                    "backup:  %s");
    registerMessage(MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_ATTRTYPE,
                    "Unable to add attribute type %s because it conflicts " +
                    "with multiple existing attribute types (%s and " +
                    "%s).");
                    "%s)");
    registerMessage(MSGID_SCHEMA_MODIFY_UNDEFINED_SUPERIOR_ATTRIBUTE_TYPE,
                    "Unable to add attribute type %s because it references " +
                    "superior attribute type %s which is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_OBJECTCLASS,
                    "Unable to add objectclass %s because it conflicts with " +
                    "multiple existing objectclasses (%s and %s).");
                    "multiple existing objectclasses (%s and %s)");
    registerMessage(MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_NAME_FORM,
                    "Unable to add name form %s because it conflicts with " +
                    "multiple existing name forms (%s and %s).");
                    "multiple existing name forms (%s and %s)");
    registerMessage(MSGID_SCHEMA_MODIFY_NF_UNDEFINED_STRUCTURAL_OC,
                    "Unable to add name form %s because it references " +
                    "structural objectclass %s which is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_NF_OC_NOT_STRUCTURAL,
                    "Unable to add name form %s because it references " +
                    "objectclass %s which is defined in the server schema " +
                    "but is not a structural objectclass.");
                    "but is not a structural objectclass");
    registerMessage(MSGID_SCHEMA_MODIFY_STRUCTURAL_OC_CONFLICT_FOR_ADD_NF,
                    "Unable to add name form %s because it references " +
                    "structural objectclass %s which is already associated " +
                    "with another name form %s.");
                    "with another name form %s");
    registerMessage(MSGID_SCHEMA_MODIFY_NF_UNDEFINED_REQUIRED_ATTR,
                    "Unable to add name form %s because it references " +
                    "required attribute type %s which is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_NF_UNDEFINED_OPTIONAL_ATTR,
                    "Unable to add name form %s because it references " +
                    "optional attribute type %s which is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_DCR,
                    "Unable to add DIT content rule %s because it conflicts " +
                    "with multiple existing DIT content rules (%s and %s).");
                    "with multiple existing DIT content rules (%s and %s)");
    registerMessage(MSGID_SCHEMA_MODIFY_STRUCTURAL_OC_CONFLICT_FOR_ADD_DCR,
                    "Unable to add DIT content rule %s because it " +
                    "references structural objectclass %s which is already " +
                    "associated with another DIT content rule %s.");
                    "associated with another DIT content rule %s");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_STRUCTURAL_OC,
                    "Unable to add DIT content rule %s because it " +
                    "references structural objectclass %s which is not " +
                    "defined in the server schema.");
                    "defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_OC_NOT_STRUCTURAL,
                    "Unable to add DIT content rule %s because it " +
                    "references structural objectclass %s which is defined " +
                    "in the server schema but is not structural.");
                    "in the server schema but is not structural");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_AUXILIARY_OC,
                    "Unable to add DIT content rule %s because it " +
                    "references auxiliary objectclass %s which is not " +
                    "defined in the server schema.");
                    "defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_REQUIRED_ATTR,
                    "Unable to add DIT content rule %s because it " +
                    "references required attribute type %s which is not " +
                    "defined in the server schema.");
                    "defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_OPTIONAL_ATTR,
                    "Unable to add DIT content rule %s because it " +
                    "references optional attribute type %s which is not " +
                    "defined in the server schema.");
                    "defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_PROHIBITED_ATTR,
                    "Unable to add DIT content rule %s because it " +
                    "references prohibited attribute type %s which is not " +
                    "defined in the server schema.");
                    "defined in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_DSR,
                    "Unable to add DIT structure rule %s because it " +
                    "conflicts with multiple existing DIT structure rules " +
                    "(%s and %s).");
                    "(%s and %s)");
    registerMessage(MSGID_SCHEMA_MODIFY_NAME_FORM_CONFLICT_FOR_ADD_DSR,
                    "Unable to add DIT structure rule %s because it " +
                    "references name form %s which is already associated " +
                    "with another DIT structure rule %s.");
                    "with another DIT structure rule %s");
    registerMessage(MSGID_SCHEMA_MODIFY_DSR_UNDEFINED_NAME_FORM,
                    "Unable to add DIT structure rule %s because it " +
                    "references name form %s which is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_MR_USE,
                    "Unable to add matching rule use %s because it " +
                    "conflicts with multiple existing matching rule uses " +
                    "(%s and %s).");
                    "(%s and %s)");
    registerMessage(MSGID_SCHEMA_MODIFY_MR_CONFLICT_FOR_ADD_MR_USE,
                    "Unable to add matching rule use %s because it " +
                    "references matching rule %s which is already associated " +
                    "with another matching rule use %s.");
                    "with another matching rule use %s");
    registerMessage(MSGID_SCHEMA_MODIFY_MRU_UNDEFINED_ATTR,
                    "Unable to add matching rule use %s because it " +
                    "references attribute type %s which is not defined in " +
                    "the server schema.");
                    "the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_CIRCULAR_REFERENCE_AT,
                    "Circular reference detected for attribute type %s in " +
                    "which the superior type chain references the " +
                    "attribute type itself.");
                    "attribute type itself");
    registerMessage(MSGID_SCHEMA_MODIFY_CIRCULAR_REFERENCE_OC,
                    "Circular reference detected for objectclass %s in which " +
                    "the superior class chain references the objectclass " +
                    "itself.");
                    "itself");
    registerMessage(MSGID_SCHEMA_MODIFY_CIRCULAR_REFERENCE_DSR,
                    "Circular reference detected for DIT structure rule %s " +
                    "in which the superior rule chain references the DIT " +
                    "structure rule itself.");
                    "structure rule itself");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_CLEANED,
                    "An error occurred while attempting to create copies " +
                    "of the existing schema files before applying the " +
                    "updates:  %s.  The server was able to restore the " +
                    "original schema configuration, so no additional " +
                    "cleanup should be required.");
                    "cleanup should be required");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_NOT_CLEANED,
                    "An error occurred while attempting to create copies " +
                    "of the existing schema files before applying the " +
                    "updates:  %s.  A problem also occurred when attempting " +
                    "to restore the original schema configuration, so the " +
                    "server may be left in an inconsistent state and could " +
                    "require manual cleanup.");
                    "require manual cleanup");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_RESTORED,
                    "An error occurred while attempting to write new " +
                    "versions of the server schema files:  %s.   The server " +
                    "was able to restore the original schema configuration, " +
                    "so no additional cleanup should be required.");
                    "so no additional cleanup should be required");
    registerMessage(MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_NOT_RESTORED,
                    "An error occrred while attempting to write new " +
                    "versions of the server schema files:  %s.  A problem " +
                    "also occured when attempting to restore the original " +
                    "schema configuration, so the server may be left in an " +
                    "inconsistent state and could require manual cleanup.");
                    "inconsistent state and could require manual cleanup");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_ATTRIBUTE_TYPE,
                    "Unable to remove attribute type %s from the server " +
                    "schema because no such attribute type is defined.");
                    "schema because no such attribute type is defined");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_AT_SUPERIOR_TYPE,
                    "Unable to remove attribute type %s from the server " +
                    "schema because it is referenced as the superior type " +
                    "for attribute type %s.");
                    "for attribute type %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_OC,
                    "Unable to remove attribute type %s from the server " +
                    "schema because it is referenced as a required or " +
                    "optional attribute type in objectclass %s.");
                    "optional attribute type in objectclass %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_NF,
                    "Unable to remove attribute type %s from the server " +
                    "schema because it is referenced as a required or " +
                    "optional attribute type in name form %s.");
                    "optional attribute type in name form %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_DCR,
                    "Unable to remove attribute type %s from the server " +
                    "schema because it is referenced as a required, " +
                    "optional, or prohibited attribute type in DIT content " +
                    "rule %s.");
                    "rule %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_MR_USE,
                    "Unable to remove attribute type %s from the server " +
                    "schema because it is referenced by matching rule use %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_OBJECTCLASS,
                    "Unable to remove objectclass %s from the server schema " +
                    "because no such objectclass is defined.");
                    "because no such objectclass is defined");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_OC_SUPERIOR_CLASS,
                    "Unable to remove objectclass %s from the server schema " +
                    "because it is referenced as the superior class for " +
                    "objectclass %s.");
                    "objectclass %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_OC_IN_NF,
                    "Unable to remove objectclass %s from the server schema " +
                    "because it is referenced as the structural class for " +
                    "name form %s.");
                    "name form %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_OC_IN_DCR,
                    "Unable to remove objectclass %s from the server schema " +
                    "because it is referenced as a structural or auxiliary " +
                    "class for DIT content rule %s.");
                    "class for DIT content rule %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_NAME_FORM,
                    "Unable to remove name form %s from the server schema " +
                    "because no such name form is defined.");
                    "because no such name form is defined");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_NF_IN_DSR,
                    "Unable to remove name form %s from the server schema " +
                    "because it is referenced by DIT structure rule %s.");
                    "because it is referenced by DIT structure rule %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_DCR,
                    "Unable to remove DIT content rule %s from the server " +
                    "schema because no such DIT content rule is defined.");
                    "schema because no such DIT content rule is defined");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_DSR,
                    "Unable to remove DIT structure rule %s from the server " +
                    "schema because no such DIT structure rule is defined.");
                    "schema because no such DIT structure rule is defined");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_DSR_SUPERIOR_RULE,
                    "Unable to remove DIT structure rule %s from the server " +
                    "schema because it is referenced as a superior rule for " +
                    "DIT structure rule %s.");
                    "DIT structure rule %s");
    registerMessage(MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_MR_USE,
                    "Unable to remove matching rule use %s from the server " +
                    "schema because no such matching rule use is defined.");
                    "schema because no such matching rule use is defined");
    registerMessage(MSGID_SCHEMA_MODIFY_OBSOLETE_SUPERIOR_ATTRIBUTE_TYPE,
                    "Unable to add attribute type %s because the superior " +
                    "type %s is marked as OBSOLETE in the server schema.");
                    "type %s is marked as OBSOLETE in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR,
                    "Unable to add attribute type %s because the associated " +
                    "matching rule %s is marked as OBSOLETE in the server " +
                    "schema.");
                    "schema");
    registerMessage(MSGID_SCHEMA_MODIFY_OBSOLETE_SUPERIOR_OBJECTCLASS,
                    "Unable to add object class %s because the superior " +
                    "class %s is marked as OBSOLETE in the server schema.");
                    "class %s is marked as OBSOLETE in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_OC_OBSOLETE_REQUIRED_ATTR,
                    "Unable to add object class %s because required " +
                    "attribute %s is marked as OBSOLETE in the server schema.");
                    "attribute %s is marked as OBSOLETE in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_OC_OBSOLETE_OPTIONAL_ATTR,
                    "Unable to add object class %s because optional " +
                    "attribute %s is marked as OBSOLETE in the server schema.");
                    "attribute %s is marked as OBSOLETE in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_NF_OC_OBSOLETE,
                    "Unable to add name form %s because its structural " +
                    "object class %s is marked as OBSOLETE in the server " +
                    "schema.");
                    "schema");
    registerMessage(MSGID_SCHEMA_MODIFY_NF_OBSOLETE_REQUIRED_ATTR,
                    "Unable to add name form %s because it requires " +
                    "attribute type %s which is marked as OBSOLETE in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_NF_OBSOLETE_OPTIONAL_ATTR,
                    "Unable to add name form %s because it allows " +
                    "attribute type %s which is marked as OBSOLETE in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_STRUCTURAL_OC_OBSOLETE,
                    "Unable to add DIT content rule %s because its " +
                    "structural object class %s is marked as OBSOLETE in " +
                    "the server schema.");
                    "the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_OC_NOT_AUXILIARY,
                    "Unable to add DIT content rule %s because it references " +
                    "auxiliary object class %s which is defined in the " +
                    "server schema but is not an auxiliary class.");
                    "server schema but is not an auxiliary class");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_AUXILIARY_OC,
                    "Unable to add DIT content rule %s because it references " +
                    "auxiliary object class %s which is marked as OBSOLETE " +
                    "in the server schema.");
                    "in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_AUXILIARY_OC_OBSOLETE,
                    "Unable to add DIT content rule %s because it allows " +
                    "auxiliary object class %s which is marked as OBSOLETE " +
                    "in the server schema.");
                    "in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_REQUIRED_ATTR,
                    "Unable to add DIT content rule %s because it requires " +
                    "attribute type %s which is marked as OBSOLETE in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_OPTIONAL_ATTR,
                    "Unable to add DIT content rule %s because it allows " +
                    "attribute type %s which is marked as OBSOLETE in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_PROHIBITED_ATTR,
                    "Unable to add DIT content rule %s because it prohibits " +
                    "attribute type %s which is marked as OBSOLETE in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DSR_OBSOLETE_NAME_FORM,
                    "Unable to add DIT structure rule %s because its name " +
                    "form %s is marked OBSOLETE in the server schema.");
                    "form %s is marked OBSOLETE in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_DSR_OBSOLETE_SUPERIOR_RULE,
                    "Unable to add DIT structure rule %s because it " +
                    "references superior rule %s whihc is marked as OBSOLETE " +
                    "in the server schema.");
                    "in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_MRU_OBSOLETE_MR,
                    "Unable to add matching rule use %s because its matching " +
                    "rule %s is marked OBSOLETE in the server schema.");
                    "rule %s is marked OBSOLETE in the server schema");
    registerMessage(MSGID_SCHEMA_MODIFY_MRU_OBSOLETE_ATTR,
                    "Unable to add matching rule use %s because it " +
                    "references attribute type %s which is marked as " +
                    "OBSOLETE in the server schema.");
                    "OBSOLETE in the server schema");
    registerMessage(MSGID_SCHEMA_RESTORE_NO_SUCH_BACKUP,
                    "Unable to restore or verify schema backup %s in " +
                    "directory %s because no such backup exists.");
                    "directory %s because no such backup exists");
    registerMessage(MSGID_SCHEMA_RESTORE_NO_BACKUP_FILE,
                    "Unable to restore or verify schema backup %s in " +
                    "directory %s because the archive filename could not be " +
                    "determined.");
                    "determined");
    registerMessage(MSGID_SCHEMA_RESTORE_NO_SUCH_FILE,
                    "Unable to restore or verify schema backup %s because " +
                    "the specified archive file %s does not exist.");
                    "the specified archive file %s does not exist");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_CHECK_FOR_ARCHIVE,
                    "Unable to restore or verify schema backup %s because " +
                    "an error occurred while trying to determine whether " +
                    "backup archive %s exists:  %s.");
                    "backup archive %s exists:  %s");
    registerMessage(MSGID_SCHEMA_RESTORE_UNKNOWN_DIGEST,
                    "Unable to restore or verify schema backup %s because " +
                    "an unsigned hash of this backup is available but the " +
                    "server cannot determine the digest algorithm used to " +
                    "generate this hash.");
                    "generate this hash");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_GET_DIGEST,
                    "Unable to restore or verify schema backup %s because " +
                    "it has an unsigned hash that uses an unknown or " +
                    "unsupported digest algorithm of %s.");
                    "unsupported digest algorithm of %s");
    registerMessage(MSGID_SCHEMA_RESTORE_UNKNOWN_MAC,
                    "Unable to restore or verify schema backup %s because " +
                    "a signed hash of this backup is available but the " +
                    "server cannot determine the MAC algorithm used to " +
                    "generate this hash.");
                    "generate this hash");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_GET_MAC,
                    "Unable to restore or verify schema backup %s because " +
                    "it has a signed hash that uses an unknown or " +
                    "unsupported MAC algorithm of %s.");
                    "unsupported MAC algorithm of %s");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_OPEN_BACKUP_FILE,
                    "Unable to restore or verify schema backup %s because " +
                    "an error occurred while attempting to open the backup " +
                    "archive file %s:  %s.");
                    "archive file %s:  %s");
    registerMessage(MSGID_SCHEMA_RESTORE_UNKNOWN_CIPHER,
                    "Unable to restore or verify schema backup %s because " +
                    "it is encrypted but the server cannot determine the " +
                    "cipher used to perform this encryption.");
                    "cipher used to perform this encryption");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_GET_CIPHER,
                    "Unable to restore or verify schema backup %s because " +
                    "it is encrypted using an unknown or unsupported cipher " +
                    "of %s.");
                    "of %s");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_RENAME_CURRENT_DIRECTORY,
                    "Unable to restore schema backup %s because an error " +
                    "occurred while attempting to rename the current " +
@@ -3890,126 +3890,126 @@
                    "being properly restored.  However, the original schema " +
                    "files that were in place before the start of the " +
                    "restore process have been preserved and are now in " +
                    "their original location of %s.");
                    "their original location of %s");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_RESTORE_OLD_SCHEMA,
                    "An error occurred that prevented the schema backup from " +
                    "being properly restored.  The original schema files " +
                    "that were in place before the start of the restore " +
                    "process have been preserved and are contained in the %s " +
                    "directory.");
                    "directory");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_CREATE_SCHEMA_DIRECTORY,
                    "Unable to restore schema backup %s because an error " +
                    "occurred while attempting to create a new empty " +
                    "directory %s into which the files should be restored:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_SCHEMA_RESTORE_OLD_SCHEMA_SAVED,
                    "An error occurred that prevented the schema backup from " +
                    "being properly restored.  The original schema files " +
                    "that were in place before the start of the restore " +
                    "process have been preserved in the %s directory.");
                    "process have been preserved in the %s directory");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_GET_ZIP_ENTRY,
                    "Unable to restore or verify schema backup %s because " +
                    "an error occurred while trying to read the next entry " +
                    "from the archive file %s:  %s.");
                    "from the archive file %s:  %s");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_CREATE_FILE,
                    "Unable to restore schema backup %s because an error " +
                    "occurred while trying to recreate file %s:  %s.");
                    "occurred while trying to recreate file %s:  %s");
    registerMessage(MSGID_SCHEMA_RESTORE_CANNOT_PROCESS_ARCHIVE_FILE,
                    "Unable to restore or verify schema backup %s because " +
                    "an error occurred while processing archived file %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_SCHEMA_RESTORE_ERROR_ON_ZIP_STREAM_CLOSE,
                    "Unable to restore or verify schema backup %s because an " +
                    "unexpected error occurred while trying to close the " +
                    "archive file %s:  %s.");
                    "archive file %s:  %s");
    registerMessage(MSGID_SCHEMA_RESTORE_UNSIGNED_HASH_VALID,
                    "The message digest calculated from the backup archive " +
                    "matches the digest stored with the backup information.");
                    "matches the digest stored with the backup information");
    registerMessage(MSGID_SCHEMA_RESTORE_UNSIGNED_HASH_INVALID,
                    "Unable to restore or verify schema backup %s because " +
                    "the message digest calculated from the backup archive " +
                    "does not match the digest stored with the backup " +
                    "information.");
                    "information");
    registerMessage(MSGID_SCHEMA_RESTORE_SIGNED_HASH_VALID,
                    "The signed digest calculated from the backup archive " +
                    "matches the signature stored with the backup " +
                    "information.");
                    "information");
    registerMessage(MSGID_SCHEMA_RESTORE_SIGNED_HASH_INVALID,
                    "Unable to restore or verify schema backup %s because " +
                    "the signed digest calculated from the backup archive " +
                    "does not match the signature stored with the backup " +
                    "information.");
                    "information");
    registerMessage(MSGID_SCHEMA_RESTORE_VERIFY_SUCCESSFUL,
                    "All tests performed on schema backup %s from directory " +
                    "%s show that the archive appears to be valid.");
                    "%s show that the archive appears to be valid");
    registerMessage(MSGID_SCHEMA_RESTORE_SUCCESSFUL,
                    "Schema backup %s was successfully restored from the " +
                    "archive in directory %s.");
                    "archive in directory %s");
    registerMessage(MSGID_TASK_INVALID_STATE,
                    "The task defined in entry %s is invalid because it has " +
                    "an invalid state %s.");
                    "an invalid state %s");
    registerMessage(MSGID_TASK_CANNOT_PARSE_SCHEDULED_START_TIME,
                    "An error occurred while trying to parse the scheduled " +
                    "start time value %s from task entry %s.");
                    "start time value %s from task entry %s");
    registerMessage(MSGID_TASK_CANNOT_PARSE_ACTUAL_START_TIME,
                    "An error occurred while trying to parse the actual " +
                    "start time value %s from task entry %s.");
                    "start time value %s from task entry %s");
    registerMessage(MSGID_TASK_CANNOT_PARSE_COMPLETION_TIME,
                    "An error occurred while trying to parse the completion " +
                    "time value %s from task entry %s.");
                    "time value %s from task entry %s");
    registerMessage(MSGID_TASK_MISSING_ATTR,
                    "Task entry %s is missing required attribute %s.");
                    "Task entry %s is missing required attribute %s");
    registerMessage(MSGID_TASK_MULTIPLE_ATTRS_FOR_TYPE,
                    "There are multiple instances of attribute %s in task " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_TASK_NO_VALUES_FOR_ATTR,
                    "There are no values for attribute %s in task entry %s.");
                    "There are no values for attribute %s in task entry %s");
    registerMessage(MSGID_TASK_MULTIPLE_VALUES_FOR_ATTR,
                    "There are multiple values for attribute %s in task " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_TASK_EXECUTE_FAILED,
                    "An error occurred while executing the task defined in " +
                    "entry %s:  %s.");
                    "entry %s:  %s");
    registerMessage(MSGID_RECURRINGTASK_NO_ID_ATTRIBUTE,
                    "The provided recurring task entry does not contain " +
                    "attribute %s which is needed to hold the recurring task " +
                    "ID.");
                    "ID");
    registerMessage(MSGID_RECURRINGTASK_MULTIPLE_ID_TYPES,
                    "The provided recurring task entry contains multiple " +
                    "attributes with type %s, which is used to hold the " +
                    "recurring task ID, but only a single instance is " +
                    "allowed.");
                    "allowed");
    registerMessage(MSGID_RECURRINGTASK_NO_ID,
                    "The provided recurring task entry does not contain any " +
                    "values for the %s attribute, which is used to specify " +
                    "the recurring task ID.");
                    "the recurring task ID");
    registerMessage(MSGID_RECURRINGTASK_MULTIPLE_ID_VALUES,
                    "The provided recurring task entry contains multiple " +
                    "values for the %s attribute, which is used to specify " +
                    "the recurring task ID, but only a single value is " +
                    "allowed.");
                    "allowed");
    registerMessage(MSGID_RECURRINGTASK_NO_CLASS_ATTRIBUTE,
                    "The provided recurring task entry does not contain " +
                    "attribute %s which is needed to specify the " +
                    "fully-qualified name of the class providing the task " +
                    "logic.");
                    "logic");
    registerMessage(MSGID_RECURRINGTASK_MULTIPLE_CLASS_TYPES,
                    "The provided recurring task entry contains multiple " +
                    "attributes with type %s, which is used to hold the " +
                    "task class name, but only a single instance is allowed.");
                    "task class name, but only a single instance is allowed");
    registerMessage(MSGID_RECURRINGTASK_NO_CLASS_VALUES,
                    "The provided recurring task entry does not contain any " +
                    "values for the %s attribute, which is used to specify " +
                    "the fully-qualified name of the class providing the " +
                    "task logic.");
                    "task logic");
    registerMessage(MSGID_RECURRINGTASK_MULTIPLE_CLASS_VALUES,
                    "The provided recurring task entry contains multiple " +
                    "values for the %s attribute, which is used to specify " +
                    "the task class name, but only a single value is allowed.");
                    "the task class name, but only a single value is allowed");
    registerMessage(MSGID_RECURRINGTASK_CANNOT_LOAD_CLASS,
                    "An error occurred while attempting to load class %s " +
                    "specified in attribute %s of the provided recurring " +
@@ -4022,90 +4022,90 @@
    registerMessage(MSGID_RECURRINGTASK_CANNOT_INITIALIZE_INTERNAL,
                    "An error occurred while attempting to perform internal " +
                    "initialization on an instance of class %s with the " +
                    "information contained in the provided entry:  %s.");
                    "information contained in the provided entry:  %s");
    registerMessage(MSGID_TASKBE_CONFIG_ENTRY_NULL,
                    "The configuration entry provided when attempting to " +
                    "initialize the task backend was null.");
                    "initialize the task backend was null");
    registerMessage(MSGID_TASKBE_NO_BASE_DNS,
                    "The task backend configuration entry does not contain " +
                    "any base DNs.  There must be exactly one base DN for " +
                    "task information in the Directory Server.");
                    "task information in the Directory Server");
    registerMessage(MSGID_TASKBE_MULTIPLE_BASE_DNS,
                    "The task backend configuration entry contains multiple " +
                    "base DNs.  There must be exactly one base DN for task " +
                    "information in the Directory Server.");
                    "information in the Directory Server");
    registerMessage(MSGID_TASKBE_CANNOT_DECODE_RECURRING_TASK_BASE_DN,
                    "An error occurred while attempting to decode recurring " +
                    "task base %s as a DN:  %s.");
                    "task base %s as a DN:  %s");
    registerMessage(MSGID_TASKBE_CANNOT_DECODE_SCHEDULED_TASK_BASE_DN,
                    "An error occurred while attempting to decode scheduled " +
                    "task base %s as a DN:  %s.");
                    "task base %s as a DN:  %s");
    registerMessage(MSGID_TASKBE_DESCRIPTION_RETENTION_TIME,
                    "Specifies the length of time in seconds that task " +
                    "information should be retained after processing on that " +
                    "task has completed.  Once this period has passed, the " +
                    "task information will be automatically removed to " +
                    "conserve memory and disk space.");
                    "conserve memory and disk space");
    registerMessage(MSGID_TASKBE_CANNOT_INITIALIZE_RETENTION_TIME,
                    "An unexpected error occurred while attempting to " +
                    "initialize the task retention time configuration:  %s.");
                    "initialize the task retention time configuration:  %s");
    registerMessage(MSGID_TASKBE_DESCRIPTION_BACKING_FILE,
                    "Specifies the path to the backing file for the task " +
                    "backend.  This LDIF file will hold all the " +
                    "configuration for the defined scheduled tasks and " +
                    "recurring tasks.");
                    "recurring tasks");
    registerMessage(MSGID_TASKBE_CANNOT_INITIALIZE_BACKING_FILE,
                    "An unexpected error occurred while attempting to " +
                    "initialize the task backing file configuration:  %s.");
                    "initialize the task backing file configuration:  %s");
    registerMessage(MSGID_TASKBE_NO_BACKING_FILE,
                    "The updated configuration entry does not have a value " +
                    "for the required %s attribute, which specifies the " +
                    "path to the task data backing file.");
                    "path to the task data backing file");
    registerMessage(MSGID_TASKBE_BACKING_FILE_EXISTS,
                    "The specified task data backing file %s already exists " +
                    "and the Directory Server will not attempt to overwrite " +
                    "it.  Please delete or rename the existing file before " +
                    "attempting to use that path for the new backing file, " +
                    "or choose a new path.");
                    "or choose a new path");
    registerMessage(MSGID_TASKBE_INVALID_BACKING_FILE_PATH,
                    "The specified path %s for the new task data backing " +
                    "file appears to be an invalid path.  Please choose a " +
                    "new path for the task data backing file.");
                    "new path for the task data backing file");
    registerMessage(MSGID_TASKBE_BACKING_FILE_MISSING_PARENT,
                    "The parent directory %s for the new task data backing " +
                    "file %s does not exist.  Please create this directory " +
                    "before attempting to use this path for the new backing " +
                    "file or choose a new path.");
                    "file or choose a new path");
    registerMessage(MSGID_TASKBE_BACKING_FILE_PARENT_NOT_DIRECTORY,
                    "The parent directory %s for the new task data backing " +
                    "file %s exists but is not a directory.  Please choose a " +
                    "new path for the task data backing file.");
                    "new path for the task data backing file");
    registerMessage(MSGID_TASKBE_ERROR_GETTING_BACKING_FILE,
                    "An error occurred while attempting to determine the " +
                    "new path to the task data backing file:  %s.");
                    "new path to the task data backing file:  %s");
    registerMessage(MSGID_TASKBE_NO_RETENTION_TIME,
                    "The updated configuration entry does not have a value " +
                    "for the required %s attribute, which specifies the " +
                    "length of time in seconds that information about " +
                    "completed tasks should be retained before they are " +
                    "cleaned up.");
                    "cleaned up");
    registerMessage(MSGID_TASKBE_ERROR_GETTING_RETENTION_TIME,
                    "An error occurred while attempting to determine the " +
                    "completed task retention time:  %s.");
                    "completed task retention time:  %s");
    registerMessage(MSGID_TASKBE_UPDATED_RETENTION_TIME,
                    "The completed task retention time has been updated to " +
                    "%d seconds.  This will take effect immediately.");
                    "%d seconds.  This will take effect immediately");
    registerMessage(MSGID_TASKBE_UPDATED_BACKING_FILE,
                    "The path to the task data backing file has been changed " +
                    "to %s.  A snapshot of the current task configuration " +
                    "has been written to that file and it will continue to " +
                    "be used for future updates.");
                    "be used for future updates");
    registerMessage(MSGID_TASKBE_ADD_DISALLOWED_DN,
                    "New entries in the task backend may only be added " +
                    "immediately below %s for scheduled tasks or immediately " +
                    "below %s for recurring tasks.");
                    "below %s for recurring tasks");
    registerMessage(MSGID_TASKBE_DELETE_INVALID_ENTRY,
                    "Unable to remove entry %s from the task backend because " +
                    "its DN is either not appropriate for that backend or it " +
@@ -4113,77 +4113,77 @@
    registerMessage(MSGID_TASKBE_DELETE_NO_SUCH_TASK,
                    "Unable to remove entry %s from the task backend because " +
                    "there is no scheduled task associated with that entry " +
                    "DN.");
                    "DN");
    registerMessage(MSGID_TASKBE_DELETE_RUNNING,
                    "Unable to delete entry %s from the task backend because " +
                    "the associated task is currently running.");
                    "the associated task is currently running");
    registerMessage(MSGID_TASKBE_DELETE_NO_SUCH_RECURRING_TASK,
                    "Unable to remove entry %s from the task backend because " +
                    "there is no recurring task associated with that entry " +
                    "DN.");
                    "DN");
    registerMessage(MSGID_TASKBE_MODIFY_DN_NOT_SUPPORTED,
                    "Modify DN operations are not supported in the task " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_TASKBE_SEARCH_INVALID_BASE,
                    "Unable to process the search operation in the task " +
                    "backend because the provided base DN %s is not valid " +
                    "for entries in the task backend.");
                    "for entries in the task backend");
    registerMessage(MSGID_TASKBE_SEARCH_NO_SUCH_TASK,
                    "Unable to process the search operation in the task " +
                    "backend because there is no scheduled task associated " +
                    "with the provided search base entry %s.");
                    "with the provided search base entry %s");
    registerMessage(MSGID_TASKBE_SEARCH_NO_SUCH_RECURRING_TASK,
                    "Unable to process the search operation in the task " +
                    "backend because there is no recurring task associated " +
                    "with the provided search base entry %s.");
                    "with the provided search base entry %s");
    registerMessage(MSGID_TASKBE_BACKING_FILE_HEADER,
                    "This file contains the data used by the Directory " +
                    "Server task scheduler backend.  Do not edit this file " +
                    "directly, as there is a risk that those changes will be " +
                    "lost.  Scheculed and recurring task definitions should " +
                    "only be edited using the administration utilities " +
                    "provided with the Directory Server.");
                    "provided with the Directory Server");
    registerMessage(MSGID_TASKBE_IMPORT_NOT_SUPPORTED,
                    "The task backend does not support LDIF import " +
                    "operations.");
                    "operations");
    registerMessage(MSGID_TASKBE_INTERRUPTED_BY_SHUTDOWN,
                    "The tasks backend is being shut down.");
                    "The tasks backend is being shut down");
    registerMessage(MSGID_TASKSCHED_DUPLICATE_RECURRING_ID,
                    "Unable to add recurring task %s to the task scheduler " +
                    "because another recurring task already exists with the " +
                    "same ID.");
                    "same ID");
    registerMessage(MSGID_TASKSCHED_REMOVE_RECURRING_EXISTING_ITERATION,
                    "Unable to remove recurring task %s because there is " +
                    "already a scheduled iteration of that task with ID %s " +
                    "that must be removed first.");
                    "that must be removed first");
    registerMessage(MSGID_TASKSCHED_REMOVE_PENDING_NO_SUCH_TASK,
                    "Unable to remove pending task %s because no such task " +
                    "exists.");
                    "exists");
    registerMessage(MSGID_TASKSCHED_REMOVE_PENDING_NOT_PENDING,
                    "Unable to remove pending task %s because the task is " +
                    "no longer pending.");
                    "no longer pending");
    registerMessage(MSGID_TASKSCHED_REMOVE_COMPLETED_NO_SUCH_TASK,
                    "Unable to remove completed task %s because no such " +
                    "task exists in the list of completed tasks.");
                    "task exists in the list of completed tasks");
    registerMessage(MSGID_TASKSCHED_DUPLICATE_TASK_ID,
                    "Unable to schedule task %s because another task already " +
                    "exists with the same ID.");
                    "exists with the same ID");
    registerMessage(MSGID_TASKSCHED_CANNOT_FIND_RECURRING_TASK,
                    "Task %s has completed processing and indicates that it " +
                    "is associated with recurring task %s but no recurring " +
                    "task with that ID is currently defined so it is not " +
                    "possible to schedule the next iteration.");
                    "possible to schedule the next iteration");
    registerMessage(MSGID_TASKSCHED_ERROR_SCHEDULING_RECURRING_ITERATION,
                    "An error occurred while attempting to schedule the next " +
                    "iteration of recurring task %s:  %s.");
                    "iteration of recurring task %s:  %s");
    registerMessage(MSGID_TASKSCHED_CANNOT_PARSE_ENTRY_RECOVERABLE,
                    "An error occurred while attempting to read an entry " +
                    "from the tasks backing file %s on or near line %d:  " +
                    "%s.  This is not a fatal error, so the task scheduler " +
                    "will attempt to continue parsing the file and schedule " +
                    "any additional tasks that it contains.");
                    "any additional tasks that it contains");
    registerMessage(MSGID_TASKSCHED_CANNOT_PARSE_ENTRY_FATAL,
                    "An error occurred while attempting to read an entry " +
                    "from the tasks backing file %s on or near line %d:  " +
@@ -4192,41 +4192,41 @@
    registerMessage(MSGID_TASKSCHED_ENTRY_HAS_NO_PARENT,
                    "Entry %s read from the tasks backing file is invalid " +
                    "because it has no parent and does not match the task " +
                    "root DN of %s.");
                    "root DN of %s");
    registerMessage(MSGID_TASKSCHED_CANNOT_SCHEDULE_RECURRING_TASK_FROM_ENTRY,
                    "An error occurred while attempting to parse entry %s " +
                    "as a recurring task and add it to the scheduler:  %s.");
                    "as a recurring task and add it to the scheduler:  %s");
    registerMessage(MSGID_TASKSCHED_CANNOT_SCHEDULE_TASK_FROM_ENTRY,
                    "An error occurred while attempting to parse entry %s " +
                    "as a task and add it to the scheduler:  %s.");
                    "as a task and add it to the scheduler:  %s");
    registerMessage(MSGID_TASKSCHED_INVALID_TASK_ENTRY_DN,
                    "Entry %s read from the tasks backing file %s has a DN " +
                    "which is not valid for a task or recurring task " +
                    "definition and will be ignored.");
                    "definition and will be ignored");
    registerMessage(MSGID_TASKSCHED_ERROR_READING_TASK_BACKING_FILE,
                    "An error occurred while attempting to read from the " +
                    "tasks data backing file %s:  %s.");
                    "tasks data backing file %s:  %s");
    registerMessage(MSGID_TASKSCHED_CANNOT_CREATE_BACKING_FILE,
                    "An error occurred while attempting to create a new " +
                    "tasks backing file %s for use with the task " +
                    "scheduler:  %s.");
                    "scheduler:  %s");
    registerMessage(MSGID_TASKSCHED_NO_CLASS_ATTRIBUTE,
                    "The provided task entry does not contain attribute %s " +
                    "which is needed to specify the fully-qualified name of " +
                    "the class providing the task logic.");
                    "the class providing the task logic");
    registerMessage(MSGID_TASKSCHED_MULTIPLE_CLASS_TYPES,
                    "The provided task entry contains multiple attributes " +
                    "with type %s, which is used to hold the task class " +
                    "name, but only a single instance is allowed.");
                    "name, but only a single instance is allowed");
    registerMessage(MSGID_TASKSCHED_NO_CLASS_VALUES,
                    "The provided task entry does not contain any values for " +
                    "the %s attribute, which is used to specify the " +
                    "fully-qualified name of the class providing the task " +
                    "logic.");
                    "logic");
    registerMessage(MSGID_TASKSCHED_MULTIPLE_CLASS_VALUES,
                    "The provided task entry contains multiple values for " +
                    "the %s attribute, which is used to specify the task " +
                    "class name, but only a single value is allowed.");
                    "class name, but only a single value is allowed");
    registerMessage(MSGID_TASKSCHED_CANNOT_LOAD_CLASS,
                    "An error occurred while attempting to load class %s " +
                    "specified in attribute %s of the provided task entry:  " +
@@ -4239,26 +4239,26 @@
    registerMessage(MSGID_TASKSCHED_CANNOT_INITIALIZE_INTERNAL,
                    "An error occurred while attempting to perform internal " +
                    "initialization on an instance of class %s with the " +
                    "information contained in the provided entry:  %s.");
                    "information contained in the provided entry:  %s");
    registerMessage(MSGID_TASKSCHED_CANNOT_RENAME_CURRENT_BACKING_FILE,
                    "An error occurred while attempting to rename the " +
                    "current tasks backing file from %s to %s:  %s.  The " +
                    "previous task configuration (which does not reflect the " +
                    "latest update) may be lost.");
                    "latest update) may be lost");
    registerMessage(MSGID_TASKSCHED_CANNOT_RENAME_NEW_BACKING_FILE,
                    "An error occurred while attempting to rename the " +
                    "new tasks backing file from %s to %s:  %s.  If the " +
                    "Directory Server is restarted, then the task scheduler " +
                    "may not be able to .");
                    "may not be able to ");
    registerMessage(MSGID_TASKSCHED_CANNOT_WRITE_BACKING_FILE,
                    "An error occurred while attempting to write the new " +
                    "tasks data backing file %s:  %s.  Configuration " +
                    "information reflecting the latest update may be lost.");
                    "information reflecting the latest update may be lost");
    registerMessage(MSGID_BACKUP_CONFIG_ENTRY_NULL,
                    "Unable to initialize the backup backend because the " +
                    "provided configuration entry is null.");
                    "provided configuration entry is null");
    registerMessage(MSGID_BACKUP_CANNOT_DECODE_BACKUP_ROOT_DN,
                    "Unable to initialize the backup backend because an " +
                    "error occurred while attempting to decode the base DN " +
@@ -4269,106 +4269,106 @@
                    "backend.  Backup directories not in this list may still " +
                    "be accessed by directly specifying the backup directory " +
                    "in the search base DN.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_BACKUP_CANNOT_DETERMINE_BACKUP_DIR_LIST,
                    "An error occurred while attempting to determine the " +
                    "backup directory list:  %s.  Initialization of the " +
                    "backup backend cannot continue.");
                    "backup backend cannot continue");
    registerMessage(MSGID_BACKUP_GET_ENTRY_NULL,
                    "Unable to retrieve an entry from the backup backend " +
                    "because the requested entry was null.");
                    "because the requested entry was null");
    registerMessage(MSGID_BACKUP_INVALID_BASE,
                    "Requested entry %s does not exist in the backup backend.");
                    "Requested entry %s does not exist in the backup backend");
    registerMessage(MSGID_BACKUP_DN_DOES_NOT_SPECIFY_DIRECTORY,
                    "Unable to retrieve entry %s from the backup backend " +
                    "because the requested DN is one level below the " +
                    "base DN but does not specify a backup directory.");
                    "base DN but does not specify a backup directory");
    registerMessage(MSGID_BACKUP_INVALID_BACKUP_DIRECTORY,
                    "Unable to retrieve entry %s from the backup backend " +
                    "because the requested backup directory is invalid:  %s.");
                    "because the requested backup directory is invalid:  %s");
    registerMessage(MSGID_BACKUP_ERROR_GETTING_BACKUP_DIRECTORY,
                    "An error occurred while attempting to examine the " +
                    "requested backup directory:  %s.");
                    "requested backup directory:  %s");
    registerMessage(MSGID_BACKUP_NO_BACKUP_ID_IN_DN,
                    "Unable to retrieve entry %s from the backup backend " +
                    "because the requested DN is two levels below the " +
                    "base DN but does not specify a backup ID.");
                    "base DN but does not specify a backup ID");
    registerMessage(MSGID_BACKUP_NO_BACKUP_PARENT_DN,
                    "Unable to retrieve entry %s from the backup backend " +
                    "because it does not have a parent.");
                    "because it does not have a parent");
    registerMessage(MSGID_BACKUP_NO_BACKUP_DIR_IN_DN,
                    "Unable to retrieve entry %s from the backup backend " +
                    "because the DN does not contain the backup directory " +
                    "in which the requested backup should reside.");
                    "in which the requested backup should reside");
    registerMessage(MSGID_BACKUP_NO_SUCH_BACKUP,
                    "Backup %s does not exist in backup directory %s.");
                    "Backup %s does not exist in backup directory %s");
    registerMessage(MSGID_BACKUP_ADD_NOT_SUPPORTED,
                    "Add operations are not supported in the backup backend.");
                    "Add operations are not supported in the backup backend");
    registerMessage(MSGID_BACKUP_DELETE_NOT_SUPPORTED,
                    "Delete operations are not supported in the backup " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_BACKUP_MODIFY_NOT_SUPPORTED,
                    "Modify operations are not supported in the backup " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_BACKUP_MODIFY_DN_NOT_SUPPORTED,
                    "Modify DN operations are not supported in the backup " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_BACKUP_NO_SUCH_ENTRY,
                    "The requested entry %s does not exist in the backup " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_BACKUP_EXPORT_NOT_SUPPORTED,
                    "LDIF export operations are not supported in the backup " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_BACKUP_IMPORT_NOT_SUPPORTED,
                    "LDIF import operations are not supported in the backup " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_BACKUP_BACKUP_AND_RESTORE_NOT_SUPPORTED,
                    "Backup and restore operations are not supported in " +
                    "the backup backend.");
                    "the backup backend");
    registerMessage(MSGID_MEMORYBACKEND_REQUIRE_EXACTLY_ONE_BASE,
                    "Exactly one base DN must be provided for use with the " +
                    "memory-based backend.");
                    "memory-based backend");
    registerMessage(MSGID_MEMORYBACKEND_ENTRY_ALREADY_EXISTS,
                    "Entry %s already exists in the memory-based backend.");
                    "Entry %s already exists in the memory-based backend");
    registerMessage(MSGID_MEMORYBACKEND_ENTRY_DOESNT_BELONG,
                    "Entry %s does not belong in the memory-based backend.");
                    "Entry %s does not belong in the memory-based backend");
    registerMessage(MSGID_MEMORYBACKEND_PARENT_DOESNT_EXIST,
                    "Unable to add entry %s because its parent entry %s does " +
                    "not exist in the memory-based backend.");
                    "not exist in the memory-based backend");
    registerMessage(MSGID_MEMORYBACKEND_ENTRY_DOESNT_EXIST,
                    "Entry %s does not exist in the memory-based backend.");
                    "Entry %s does not exist in the memory-based backend");
    registerMessage(MSGID_MEMORYBACKEND_CANNOT_DELETE_ENTRY_WITH_CHILDREN,
                    "Cannot delete entry %s because it has one or more " +
                    "subordinate entries.");
                    "subordinate entries");
    registerMessage(MSGID_MEMORYBACKEND_MODDN_NOT_SUPPORTED,
                    "Modify DN operations are not supported in the " +
                    "memory-based backend.");
                    "memory-based backend");
    registerMessage(MSGID_MEMORYBACKEND_CANNOT_CREATE_LDIF_WRITER,
                    "Unable to create an LDIF writer:  %s.");
                    "Unable to create an LDIF writer:  %s");
    registerMessage(MSGID_MEMORYBACKEND_CANNOT_WRITE_ENTRY_TO_LDIF,
                    "Cannot write entry %s to LDIF:  %s.");
                    "Cannot write entry %s to LDIF:  %s");
    registerMessage(MSGID_MEMORYBACKEND_CANNOT_CREATE_LDIF_READER,
                    "Unable to create an LDIF reader:  %s.");
                    "Unable to create an LDIF reader:  %s");
    registerMessage(MSGID_MEMORYBACKEND_ERROR_READING_LDIF,
                    "An unrecoverable error occurred while reading from " +
                    "LDIF:  %s.");
                    "LDIF:  %s");
    registerMessage(MSGID_MEMORYBACKEND_ERROR_DURING_IMPORT,
                    "An unexpected error occurred while processing the " +
                    "import:  %s.");
                    "import:  %s");
    registerMessage(MSGID_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED,
                    "The memory-based backend does not support backup or " +
                    "restore operations.");
                    "restore operations");
    registerMessage(MSGID_MEMORYBACKEND_CANNOT_RENAME_ENRY_WITH_CHILDREN,
                    "Cannot rename entry %s because it has one or more " +
                    "subordinate entries.");
                    "subordinate entries");
    registerMessage(MSGID_MEMORYBACKEND_CANNOT_RENAME_TO_ANOTHER_BACKEND,
                    "Cannot rename entry %s because the target entry is in a " +
                    "different backend.");
                    "different backend");
    registerMessage(MSGID_MEMORYBACKEND_RENAME_PARENT_DOESNT_EXIST,
                    "Cannot rename entry %s because the new parent entry %s " +
                    "doesn't exist.");
                    "doesn't exist");
  }
}
opends/src/server/org/opends/server/messages/ConfigMessages.java
@@ -6581,455 +6581,455 @@
    registerMessage(MSGID_CONFIG_ATTR_IS_REQUIRED,
                    "Configuration attribute %s is required to have at least " +
                    "one value but the resulted operation would have removed " +
                    "all values.");
                    "all values");
    registerMessage(MSGID_CONFIG_ATTR_REJECTED_VALUE,
                    "Provided value %s for configuration attribute %s was " +
                    "rejected.  The reason provided was:  %s.");
                    "rejected.  The reason provided was:  %s");
    registerMessage(MSGID_CONFIG_ATTR_SET_VALUES_IS_SINGLE_VALUED,
                    "Configuration attribute %s is single-valued, but " +
                    "multiple values were provided.");
                    "multiple values were provided");
    registerMessage(MSGID_CONFIG_ATTR_ADD_VALUES_IS_SINGLE_VALUED,
                    "Configuration attribute %s is single-valued, but adding " +
                    "the provided value(s) would have given it multiple " +
                    "values.");
                    "values");
    registerMessage(MSGID_CONFIG_ATTR_ADD_VALUES_ALREADY_EXISTS,
                    "Configuration attribute %s already contains a value %s.");
                    "Configuration attribute %s already contains a value %s");
    registerMessage(MSGID_CONFIG_ATTR_NO_SUCH_VALUE,
                    "Cannot remove value %s from configuration attribute %s " +
                    "because the specified value does not exist.");
                    "because the specified value does not exist");
    registerMessage(MSGID_CONFIG_ATTR_OPTIONS_NOT_ALLOWED,
                    "Invalid configuration attribute %s detected in entry " +
                    "%s:  the only attribute option allowed in the Directory " +
                    "Server configuration is \"" + OPTION_PENDING_VALUES +
                    "\" to indicate the set of pending values.");
                    "\" to indicate the set of pending values");
    registerMessage(MSGID_CONFIG_ATTR_MULTIPLE_PENDING_VALUE_SETS,
                    "Configuration attribute %s appears to contain multiple " +
                    "pending value sets.");
                    "pending value sets");
    registerMessage(MSGID_CONFIG_ATTR_MULTIPLE_ACTIVE_VALUE_SETS,
                    "Configuration attribute %s appears to contain multiple " +
                    "active value sets.");
                    "active value sets");
    registerMessage(MSGID_CONFIG_ATTR_NO_ACTIVE_VALUE_SET,
                    "Configuration attribute %s does not contain an active " +
                    "value set.");
                    "value set");
    registerMessage(MSGID_CONFIG_CANNOT_GET_CONFIG_ENTRY,
                    "An error occurred while attempting to retrieve " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_SET_ATTRIBUTE,
                    "The value of configuration attribute %s has been set to " +
                    "%s in configuration entry %s.");
                    "%s in configuration entry %s");
    registerMessage(MSGID_CONFIG_CHANGE_NOT_SUCCESSFUL,
                    "The attempt to update configuration entry %s was not " +
                    "successful and one or more problems were encountered:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_ATTR_INVALID_BOOLEAN_VALUE,
                    "Unable to set the value for Boolean configuration " +
                    "attribute %s because the provided value %s was not " +
                    "either 'true' or 'false'.");
                    "either 'true' or 'false'");
    registerMessage(MSGID_CONFIG_ATTR_NO_INT_VALUE,
                    "Unable to retrieve the value for configuration " +
                    "attribute %s as an integer because that attribute does " +
                    "not have any values.");
                    "not have any values");
    registerMessage(MSGID_CONFIG_ATTR_MULTIPLE_INT_VALUES,
                    "Unable to retrieve the value for configuration " +
                    "attribute %s as an integer because that attribute has " +
                    "multiple values.");
                    "multiple values");
    registerMessage(MSGID_CONFIG_ATTR_VALUE_OUT_OF_INT_RANGE,
                    "Unable to retrieve the value for configuration " +
                    "attribute %s as a Java int because the value is outside " +
                    "the allowable range for an int.");
                    "the allowable range for an int");
    registerMessage(MSGID_CONFIG_ATTR_INVALID_INT_VALUE,
                    "Unable to set the value for integer configuration " +
                    "attribute %s because the provided value %s cannot be " +
                    "interpreted as an integer value:  %s.");
                    "interpreted as an integer value:  %s");
    registerMessage(MSGID_CONFIG_ATTR_INT_BELOW_LOWER_BOUND,
                    "Unable to set the value for configuration attribute %s " +
                    "because the provided value %d is less than the lowest " +
                    "allowed value of %d.");
                    "allowed value of %d");
    registerMessage(MSGID_CONFIG_ATTR_INT_ABOVE_UPPER_BOUND,
                    "Unable to set the value for configuration attribute %s " +
                    "because the provided value %d is greater than the " +
                    "largest allowed value of %d.");
                    "largest allowed value of %d");
    registerMessage(MSGID_CONFIG_ATTR_INT_COULD_NOT_PARSE,
                    "Unable to parse value %s for configuration attribute %s " +
                    "as an integer value:  %s.");
                    "as an integer value:  %s");
    registerMessage(MSGID_CONFIG_ATTR_INT_INVALID_TYPE,
                    "Unable to parse value %s for configuration attribute %s " +
                    "as an integer value because the element was of an " +
                    "invalid type (%s).");
                    "invalid type (%s)");
    registerMessage(MSGID_CONFIG_ATTR_INT_INVALID_ARRAY_TYPE,
                    "Unable to parse value for configuration attribute %s " +
                    "as a set of integer values because the array contained " +
                    "elements of an invalid type (%s).");
                    "elements of an invalid type (%s)");
    registerMessage(MSGID_CONFIG_ATTR_NO_STRING_VALUE,
                    "Unable to retrieve the value for configuration " +
                    "attribute %s as a string because that attribute does " +
                    "not have any values.");
                    "not have any values");
    registerMessage(MSGID_CONFIG_ATTR_MULTIPLE_STRING_VALUES,
                    "Unable to retrieve the value for configuration " +
                    "attribute %s as a string because that attribute has " +
                    "multiple values.");
                    "multiple values");
    registerMessage(MSGID_CONFIG_ATTR_EMPTY_STRING_VALUE,
                    "An empty value string was provided for configuration " +
                    "attribute %s.");
                    "attribute %s");
    registerMessage(MSGID_CONFIG_ATTR_INVALID_STRING_VALUE,
                    "Unable to parse value %s for configuration attribute %s " +
                    "as a string value:  %s.");
                    "as a string value:  %s");
    registerMessage(MSGID_CONFIG_ATTR_STRING_INVALID_TYPE,
                    "Unable to parse value %s for configuration attribute %s " +
                    "as a string value because the element was of an invalid " +
                    "type (%s).");
                    "type (%s)");
    registerMessage(MSGID_CONFIG_ATTR_STRING_INVALID_ARRAY_TYPE,
                    "Unable to parse value for configuration attribute %s " +
                    "as a set of string values because the array contained " +
                    "elements of an invalid type (%s).");
                    "elements of an invalid type (%s)");
    registerMessage(MSGID_CONFIG_ATTR_VALUE_NOT_ALLOWED,
                    "The value %s is not included in the list of acceptable " +
                    "values for configuration attribute %s.");
                    "values for configuration attribute %s");
    registerMessage(MSGID_CONFIG_ATTR_READ_ONLY,
                    "Configuration attribute %s is read-only and its values " +
                    "may not be altered.");
                    "may not be altered");
    registerMessage(MSGID_CONFIG_ATTR_INVALID_UNIT,
                    "'%s' is not a valid unit for configuration attribute %s.");
                    "'%s' is not a valid unit for configuration attribute %s");
    registerMessage(MSGID_CONFIG_ATTR_NO_UNIT_DELIMITER,
                    "Cannot decode %s as an integer value and a unit for " +
                    "configuration attribute %s because no value/unit " +
                    "delimiter could be found.");
                    "delimiter could be found");
    registerMessage(MSGID_CONFIG_ATTR_COULD_NOT_PARSE_INT_COMPONENT,
                    "Could not decode the integer portion of value %s for " +
                    "configuration attribute %s:  %s.");
                    "configuration attribute %s:  %s");
    registerMessage(MSGID_CONFIG_ATTR_INVALID_VALUE_WITH_UNIT,
                    "The provided value %s for integer with unit attribute " +
                    "%s is not allowed:  %s.");
                    "%s is not allowed:  %s");
    registerMessage(MSGID_CONFIG_ATTR_INT_WITH_UNIT_INVALID_TYPE,
                    "Unable to parse value %s for configuration attribute %s " +
                    "as an integer with unit value because the element was " +
                    "of an invalid type (%s).");
                    "of an invalid type (%s)");
    registerMessage(MSGID_CONFIG_ENTRY_CONFLICTING_CHILD,
                    "Unable to add configuration entry %s as a child of " +
                    "configuration entry %s because a child entry was " +
                    "already found with that DN.");
                    "already found with that DN");
    registerMessage(MSGID_CONFIG_ENTRY_NO_SUCH_CHILD,
                    "Unable to remove entry %s as a child of configuration " +
                    "entry %s because that entry did not have a child with " +
                    "the specified DN.");
                    "the specified DN");
    registerMessage(MSGID_CONFIG_ENTRY_CANNOT_REMOVE_NONLEAF,
                    "Unable to remove entry %s as a child of configuration " +
                    "entry %s because that entry had children of its own and " +
                    "non-leaf entries may not be removed.");
                    "non-leaf entries may not be removed");
    registerMessage(MSGID_CONFIG_ENTRY_CANNOT_REMOVE_CHILD,
                    "An unexpected error occurred while attempting to remove " +
                    "entry %s as a child of configuration entry %s:  %s.");
                    "entry %s as a child of configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_DOES_NOT_EXIST,
                    "The specified configuration file %s does not exist or " +
                    "is not readable.");
                    "is not readable");
    registerMessage(MSGID_CONFIG_FILE_CANNOT_VERIFY_EXISTENCE,
                    "An unexpected error occurred while attempting to " +
                    "determine whether configuration file %s exists:  %s.");
                    "determine whether configuration file %s exists:  %s");
    registerMessage(MSGID_CONFIG_UNABLE_TO_APPLY_STARTUP_CHANGES,
                    "An error occurred while attempting to apply the changes " +
                    "contained in file %s to the server configuration at " +
                    "startup:  %s.");
                    "startup:  %s");
    registerMessage(MSGID_CONFIG_FILE_CANNOT_OPEN_FOR_READ,
                    "An error occurred while attempting to open the " +
                    "configuration file %s for reading:  %s.");
                    "configuration file %s for reading:  %s");
    registerMessage(MSGID_CONFIG_FILE_READ_ERROR,
                    "An error occurred while attempting to read the contents " +
                    "of configuration file %s:  %s.");
                    "of configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_INVALID_LDIF_ENTRY,
                    "An error occurred at or near line %d while trying to " +
                    "parse the configuration from LDIF file %s:  %s.");
                    "parse the configuration from LDIF file %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_EMPTY,
                    "The specified configuration file %s does not appear to " +
                    "contain any configuration entries.");
                    "contain any configuration entries");
    registerMessage(MSGID_CONFIG_FILE_INVALID_BASE_DN,
                    "The first entry read from LDIF configuration file %s " +
                    "had a DN of \"%s\" rather than the expected \"%s\" " +
                    "which should be used as the Directory Server " +
                    "configuration root.");
                    "configuration root");
    registerMessage(MSGID_CONFIG_FILE_GENERIC_ERROR,
                    "An unexpected error occurred while attempting to " +
                    "process the Directory Server configuration file %s:  %s.");
                    "process the Directory Server configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_DUPLICATE_ENTRY,
                    "Configuration entry %s starting at or near line %s in " +
                    "the LDIF configuration file %s has the same DN as " +
                    "another entry already read from that file.");
                    "another entry already read from that file");
    registerMessage(MSGID_CONFIG_FILE_NO_PARENT,
                    "Configuration entry %s starting at or near line %d in " +
                    "the configuration LDIF file %s does not appear to have " +
                    "a parent entry (expected parent DN was %s).");
                    "a parent entry (expected parent DN was %s)");
    registerMessage(MSGID_CONFIG_FILE_UNKNOWN_PARENT,
                    "The Directory Server was unable to determine the parent " +
                    "DN for configuration entry %s starting at or near line " +
                    "%d in the configuration LDIF file %s.");
                    "%d in the configuration LDIF file %s");
    registerMessage(MSGID_CONFIG_CANNOT_DETERMINE_SERVER_ROOT,
                    "Unable to determine the Directory Server instance root " +
                    "from either an environment variable or based on the " +
                    "location of the configuration file.  Please set an " +
                    "environment variable named %s with a value containing " +
                    "the absolute path to the server installation root.");
                    "the absolute path to the server installation root");
    registerMessage(MSGID_CONFIG_LDIF_WRITE_ERROR,
                    "An unexpected error occurred while trying to export " +
                    "the Directory Server configuration to LDIF:  %s.");
                    "the Directory Server configuration to LDIF:  %s");
    registerMessage(MSGID_CONFIG_FILE_WRITE_ERROR,
                    "An unexpected error occurred while trying to write " +
                    "configuration entry %s to LDIF:  %s.");
                    "configuration entry %s to LDIF:  %s");
    registerMessage(MSGID_CONFIG_FILE_CLOSE_ERROR,
                    "An unexpected error occurred while trying to close " +
                    "the LDIF writer:  %s.");
                    "the LDIF writer:  %s");
    registerMessage(MSGID_CONFIG_FILE_UNWILLING_TO_IMPORT,
                    "The Directory Server configuration may not be altered " +
                    "by importing a new configuration from LDIF.");
                    "by importing a new configuration from LDIF");
    registerMessage(MSGID_CONFIG_CANNOT_REGISTER_AS_PRIVATE_SUFFIX,
                    "An unexpected error occurred while trying to register " +
                    "the configuration handler base DN \"%s\" as a private " +
                    "suffix with the Directory Server:  %s.");
                    "suffix with the Directory Server:  %s");
    registerMessage(MSGID_CONFIG_ERROR_APPLYING_STARTUP_CHANGE,
                    "Unable to apply a change at server startup:  %s.");
                    "Unable to apply a change at server startup:  %s");
    registerMessage(MSGID_CONFIG_UNABLE_TO_APPLY_CHANGES_FILE,
                    "One or more errors occurred while applying changes on " +
                    "server startup.");
                    "server startup");
    registerMessage(MSGID_CONFIG_FILE_ADD_ALREADY_EXISTS,
                    "Entry %s cannot be added to the Directory Server " +
                    "configuration because another configuration entry " +
                    "already exists with that DN.");
                    "already exists with that DN");
    registerMessage(MSGID_CONFIG_FILE_ADD_NO_PARENT_DN,
                    "Entry %s cannot be added to the Directory Server " +
                    "configuration because that DN does not have a parent.");
                    "configuration because that DN does not have a parent");
    registerMessage(MSGID_CONFIG_FILE_ADD_NO_PARENT,
                    "Entry %s cannot be added to the Directory Server " +
                    "configuration because its parent entry %s does not " +
                    "exist.");
                    "exist");
    registerMessage(MSGID_CONFIG_FILE_ADD_REJECTED_BY_LISTENER,
                    "The Directory Server is unwilling to add configuration " +
                    "entry %s because one of the add listeners registered " +
                    "with the parent entry %s rejected this change with " +
                    "the message:  %s.");
                    "the message:  %s");
    registerMessage(MSGID_CONFIG_FILE_ADD_FAILED,
                    "An unexpected error occurred while attempting to add " +
                    "configuration entry %s as a child of entry %s:  %s.");
                    "configuration entry %s as a child of entry %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_DELETE_NO_SUCH_ENTRY,
                    "Entry %s cannot be removed from the Directory Server " +
                    "configuration because the specified entry does not " +
                    "exist.");
                    "exist");
    registerMessage(MSGID_CONFIG_FILE_DELETE_HAS_CHILDREN,
                    "Entry %s cannot be removed from the Directory Server " +
                    "configuration because the specified entry has one or " +
                    "more subordinate entries.");
                    "more subordinate entries");
    registerMessage(MSGID_CONFIG_FILE_DELETE_NO_PARENT,
                    "Entry %s cannot be removed from the Directory Server " +
                    "configuration because the entry does not have a parent " +
                    "and removing the configuration root entry is not " +
                    "allowed.");
                    "allowed");
    registerMessage(MSGID_CONFIG_FILE_DELETE_REJECTED,
                    "Entry %s cannot be removed from the Directory Server " +
                    "configuration because one of the delete listeners " +
                    "registered with the parent entry %s rejected this " +
                    "change with the message:  %s.");
                    "change with the message:  %s");
    registerMessage(MSGID_CONFIG_FILE_DELETE_FAILED,
                    "An unexpected error occurred while attempting to remove " +
                    "configuration entry %s as a child of entry %s:  %s.");
                    "configuration entry %s as a child of entry %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_MODIFY_NO_SUCH_ENTRY,
                    "Entry %s cannot be modified because the specified entry " +
                    "does not exist.");
                    "does not exist");
    registerMessage(MSGID_CONFIG_FILE_MODIFY_REJECTED_BY_CHANGE_LISTENER,
                    "Entry %s cannot be modified because one of the " +
                    "configuration change listeners registered for that " +
                    "entry rejected the change:  %s.");
                    "entry rejected the change:  %s");
    registerMessage(MSGID_CONFIG_FILE_MODIFY_REJECTED_BY_COMPONENT,
                    "Entry %s cannot be modified because one of the " +
                    "configurable components registered for that entry " +
                    "rejected the change:  %s.");
                    "rejected the change:  %s");
    registerMessage(MSGID_CONFIG_FILE_SEARCH_NO_SUCH_BASE,
                    "The search operation cannot be processed because base " +
                    "entry %s does not exist.");
                    "entry %s does not exist");
    registerMessage(MSGID_CONFIG_FILE_SEARCH_INVALID_SCOPE,
                    "The search operation cannot be processed because the " +
                    "specified search scope %s is invalid.");
                    "specified search scope %s is invalid");
    registerMessage(MSGID_CONFIG_FILE_WRITE_CANNOT_CREATE_TEMP_ARCHIVE,
                    "An error occurred while attempting to create a " +
                    "temporary file %s to hold the archived versions of " +
                    "previous Directory Server configurations as a result of " +
                    "a configuration change:  %s.");
                    "a configuration change:  %s");
    registerMessage(MSGID_CONFIG_FILE_WRITE_CANNOT_COPY_EXISTING_ARCHIVE,
                    "An error occurred while attempting to copy the " +
                    "archived configurations from %s to temporary file %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_FILE_WRITE_CANNOT_COPY_CURRENT_CONFIG,
                    "An error occurred while attempting to update the " +
                    "archived configurations in file %s to include the " +
                    "running configuration from file %s:  %s.");
                    "running configuration from file %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_WRITE_CANNOT_RENAME_TEMP_ARCHIVE,
                    "The attempt to rename the archived configuration data " +
                    "from %s to %s failed, but the underlying reason for the " +
                    "failure could not be determined.");
                    "failure could not be determined");
    registerMessage(MSGID_CONFIG_FILE_WRITE_CANNOT_REPLACE_ARCHIVE,
                    "The updated archive containing previous Directory " +
                    "Server configurations could not be renamed from %s to " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_CONFIG_FILE_CANNOT_CREATE_ARCHIVE_DIR_NO_REASON,
                    "An error occurred while trying to create the " +
                    "configuration archive directory %s.");
                    "configuration archive directory %s");
    registerMessage(MSGID_CONFIG_FILE_CANNOT_CREATE_ARCHIVE_DIR,
                    "An error occurred while trying to create the " +
                    "configuration archive directory %s:  %s.");
                    "configuration archive directory %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_CANNOT_WRITE_CONFIG_ARCHIVE,
                    "An error occurred while trying to write the current " +
                    "configuration to the configuration archive:  %s.");
                    "configuration to the configuration archive:  %s");
    registerMessage(MSGID_CONFIG_FILE_WRITE_CANNOT_EXPORT_NEW_CONFIG,
                    "An error occurred while attempting to export the new " +
                    "Directory Server configuration to file %s:  %s.");
                    "Directory Server configuration to file %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_WRITE_CANNOT_RENAME_NEW_CONFIG,
                    "An error occurred while attempting to rename the new " +
                    "Directory Server configuration from file %s to %s:  %s.");
                    "Directory Server configuration from file %s to %s:  %s");
    registerMessage(MSGID_CONFIG_FILE_MODDN_NOT_ALLOWED,
                    "Modify DN operations are not allowed in the Directory " +
                    "Server configuration.");
                    "Server configuration");
    registerMessage(MSGID_CONFIG_FILE_HEADER,
                    "This file contains the primary Directory Server " +
                    "configuration.  It must not be directly edited while " +
                    "the server is online.  The server configuration should " +
                    "only be managed using the administration utilities " +
                    "provided with the Directory Server.");
                    "provided with the Directory Server");
    registerMessage(MSGID_CONFIG_FILE_ADD_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to perform add " +
                    "operations in the Directory Server configuration.");
                    "operations in the Directory Server configuration");
    registerMessage(MSGID_CONFIG_FILE_DELETE_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to perform delete " +
                    "operations in the Directory Server configuration.");
                    "operations in the Directory Server configuration");
    registerMessage(MSGID_CONFIG_FILE_MODIFY_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to perform modify " +
                    "operations in the Directory Server configuration.");
                    "operations in the Directory Server configuration");
    registerMessage(MSGID_CONFIG_FILE_MODIFY_PRIVS_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to change the set " +
                    "of default root privileges.");
                    "of default root privileges");
    registerMessage(MSGID_CONFIG_FILE_MODDN_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to perform modify " +
                    "DN operations in the Directory Server configuration.");
                    "DN operations in the Directory Server configuration");
    registerMessage(MSGID_CONFIG_FILE_SEARCH_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to perform search " +
                    "operations in the Directory Server configuration.");
                    "operations in the Directory Server configuration");
    registerMessage(MSGID_CONFIG_LOGGER_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "base logger entry " + DN_LOGGER_BASE + " from the " +
                    "Directory Server configuration:  %s.");
                    "Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_BASE_DOES_NOT_EXIST,
                    "The logger configuration base " + DN_LOGGER_BASE +
                    " does not exist in the Directory Server configuration.  " +
                    "Logging facilities will not be available until this " +
                    "entry is created and the Directory Server is restarted.");
                    "entry is created and the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_LOGGER_NO_ACTIVE_ACCESS_LOGGERS,
                    "There are no active access loggers defined in the " +
                    "Directory Server configuration.  No access logging will " +
                    "be performed.");
                    "be performed");
    registerMessage(MSGID_CONFIG_LOGGER_NO_ACTIVE_ERROR_LOGGERS,
                    "There are no active error loggers defined in the " +
                    "Directory Server configuration.  No error logging will " +
                    "be performed.");
                    "be performed");
    registerMessage(MSGID_CONFIG_LOGGER_NO_ACTIVE_DEBUG_LOGGERS,
                    "There are no active debug loggers defined in the " +
                    "Directory Server configuration.  No debug logging will " +
                    "be performed.");
                    "be performed");
    registerMessage(MSGID_CONFIG_LOGGER_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid logger " +
                    "configuration:  %s.  It will be ignored.");
                    "configuration:  %s.  It will be ignored");
    registerMessage(MSGID_CONFIG_LOGGER_CANNOT_CREATE_LOGGER,
                    "An error occurred while attempting to create a " +
                    "Directory Server logger from the information in " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain a valid " +
                    "objectclass for a Directory Server access, error, or " +
                    "debug logger definition.");
                    "debug logger definition");
    registerMessage(MSGID_CONFIG_LOGGER_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_LOGGER_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated logger.");
                    "the associated logger");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_LOGGER_CLASS + ":  %s.");
                    "attribute " + ATTR_LOGGER_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_ACCESS_LOGGER_CLASS,
                    "Class %s specified in attribute " + ATTR_LOGGER_CLASS +
                    " of configuration entry %s cannot be instantiated as " +
                    "a Directory Server access logger:  %s.");
                    "a Directory Server access logger:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_ERROR_LOGGER_CLASS,
                    "Class %s specified in attribute " + ATTR_LOGGER_CLASS +
                    " of configuration entry %s cannot be instantiated as " +
                    "a Directory Server error logger:  %s.");
                    "a Directory Server error logger:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_DEBUG_LOGGER_CLASS,
                    "Class %s specified in attribute " + ATTR_LOGGER_CLASS +
                    " of configuration entry %s cannot be instantiated as " +
                    "a Directory Server debug logger:  %s.");
                    "a Directory Server debug logger:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_LOGGER_ENABLED +
                    " which indicates whether the logger should be enabled " +
                    "for use in the Directory Server.");
                    "for use in the Directory Server");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_LOGGER_ENABLED + ":  %s.");
                    "attribute " + ATTR_LOGGER_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_LOGGER_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server logger.  If this is altered while " +
                    "the associated logger is enabled, then that logger must " +
                    "be disabled and re-enabled for the change to take " +
                    "effect.");
                    "effect");
    registerMessage(MSGID_CONFIG_LOGGER_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server logger should " +
                    "be enabled.  Changes to this attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_LOGGER_NO_FILE_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_LOGGER_FILE +
                    " which specifies the log file name for " +
                    "the associated logger.");
                    "the associated logger");
    registerMessage(MSGID_CONFIG_LOGGER_CLASS_ACTION_REQUIRED,
                    "The requested change in the logger class name from %s " +
                    "to %s in configuration entry %s cannot be dynamically " +
                    "applied.  This change will not take effect until the " +
                    "logger is disabled and re-enabled or the Directory " +
                    "Server is restarted.");
                    "Server is restarted");
    registerMessage(MSGID_CONFIG_LOGGER_EXISTS,
                    "Unable to add a new logger entry with DN %s because " +
                    "there is already a logger registered with that DN.");
                    "there is already a logger registered with that DN");
    registerMessage(MSGID_CONFIG_LOGGER_ACCESS_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as an access logger as defined in " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_ERROR_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as an error logger as defined in " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_DEBUG_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a debug logger as defined in " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_LOGGER_UNACCEPTABLE_CONFIG,
                    "The configuration for the logger defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_UNKNOWN_UNACCEPTABLE_REASON,
                    "Unknown unacceptable reason.");
                    "Unknown unacceptable reason");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_ADD_MISSING_RDN_ATTRS,
@@ -7039,12 +7039,12 @@
                    "not contain the RDN attribute values in their attribute " +
                    "lists will be rejected because they are in violation " +
                    "of the LDAP specification.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_ADD_MISSING_RDN_ATTRS,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " +
                    ATTR_ADD_MISSING_RDN_ATTRS + " (it should be a Boolean " +
                    "value of true or false):  %s.");
                    "value of true or false):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_ALLOW_ATTR_EXCEPTIONS,
                    "Indicates whether to allow some flexibility in the " +
                    "characters that may be used in attribute names.  By " +
@@ -7054,24 +7054,24 @@
                    "exceptions are enabled, then the underscore character " +
                    "will also be allowed and the attribute name may also " +
                    "start with a digit.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_ALLOW_EXCEPTIONS,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " +
                    ATTR_ALLOW_ATTRIBUTE_NAME_EXCEPTIONS + " (it should be a " +
                    "Boolean value of true or false):  %s.");
                    "Boolean value of true or false):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_SERVER_ERROR_RESULT_CODE,
                    "Specifies the result code that should be used for " +
                    "responses in which the operation fails because of an " +
                    "internal server error.  The value should be the " +
                    "integer equivalent of the corresponding LDAP result " +
                    "code.  Changes to this configuration attribute will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_SERVER_ERROR_RESULT_CODE,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " +
                    ATTR_SERVER_ERROR_RESULT_CODE + " (it should be an " +
                    "integer value greater than or equal to 1):  %s.");
                    "integer value greater than or equal to 1):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_INVALID_SYNTAX_BEHAVIOR,
                    "Specifies the behavior that the Directory Server should " +
                    "exhibit if it discovers an attribute whose value does " +
@@ -7081,22 +7081,22 @@
                    "invalid value but log a warning message, or \"accept\" " +
                    "to accept the invalid value with no warning.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_ENFORCE_STRICT_SYNTAX,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_INVALID_SYNTAX_BEHAVIOR +
                    " (it should be one of \"accept\", \"reject\", or " +
                    "\"warn\" ):  %s.");
                    "\"warn\" ):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_MAX_ALLOWED_CONNECTIONS,
                    "The maximum number of client connections that may be " +
                    "established to the Directory Server at any given time.  " +
                    "a value that is less than or equal to zero indicates " +
                    "that there should be no limit.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_MAX_ALLOWED_CONNECTIONS,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_MAX_ALLOWED_CONNS +
                    " (it should be an integer value).");
                    " (it should be an integer value)");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_STRUCTURAL_CLASS_BEHAVIOR,
                    "Specifies the behavior that the Directory Server should " +
                    "exhibit if it discovers an entry that does not have " +
@@ -7105,13 +7105,13 @@
                    "the entry but log a warning message, or \"accept\" to " +
                    "accept the invalid entry with no warning.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_STRUCTURAL_CLASS_BEHAVIOR,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " +
                    ATTR_SINGLE_STRUCTURAL_CLASS_BEHAVIOR +
                    " (it should be one of \"accept\", \"reject\", or " +
                    "\"warn\" ):  %s.");
                    "\"warn\" ):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_CHECK_SCHEMA,
                    "Indicates whether the Directory Server should perform " +
                    "schema checking for update operations to ensure that " +
@@ -7121,11 +7121,11 @@
                    "Disabling schema checking is generally not recommended " +
                    "because it may allow invalid entries to be included in " +
                    "the server.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_CHECK_SCHEMA,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_CHECK_SCHEMA +
                    " (it should be a Boolean value of true or false):  %s.");
                    " (it should be a Boolean value of true or false):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_NOTIFY_ABANDONED_OPERATIONS,
                    "Indicates whether the Directory Server should send a " +
                    "response to operations that have been abandoned to " +
@@ -7135,26 +7135,26 @@
                    "not behave properly if they are waiting on a response " +
                    "for an operation when there will not be one because it " +
                    "has been abandoned.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_PROXY_MAPPER_DN,
                    "Specifies the DN of the configuration entry for the " +
                    "identity mapper that the Directory Server should use in " +
                    "conjunction with the proxied authorization V2 control.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_NOTIFY_ABANDONED_OPERATIONS,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_NOTIFY_ABANDONED_OPS +
                    " (it should be a Boolean value of true or false):  %s.");
                    " (it should be a Boolean value of true or false):  %s");
    registerMessage(MSGID_CONFIG_CORE_INVALID_PROXY_MAPPER_DN,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_PROXY_MAPPER_DN +
                    " (it should be the DN of a valid identity mapper " +
                    "configuration entry):  %s.");
                    "configuration entry):  %s");
    registerMessage(MSGID_CONFIG_CORE_NO_PROXY_MAPPER_FOR_DN,
                    "The proxied authorization identity mapper DN %s " +
                    "specified in configuration entry %s does not refer to a " +
                    "valid identity mapper configuration entry.");
                    "valid identity mapper configuration entry");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_SIZE_LIMIT,
                    "Specifies the default maximum number of entries that " +
                    "should be returned to a client when processing a search " +
@@ -7162,36 +7162,36 @@
                    "by including the " + OP_ATTR_USER_SIZE_LIMIT +
                    " operational attribute in the user's entry.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_SIZE_LIMIT,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_SIZE_LIMIT +
                    " (It should be a positive integer value specifying " +
                    "the size limit to use, or a value of 0 or -1 to " +
                    "indicate that no limit should be enforced):  %s.");
                    "indicate that no limit should be enforced):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_TIME_LIMIT,
                    "Specifies the default maximum length of time that " +
                    "should be allowed when processing a search operation.  " +
                    "This may be overridden on a per-user basis by including " +
                    "the " + OP_ATTR_USER_TIME_LIMIT + " operational " +
                    "attribute in the user's entry.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_TIME_LIMIT,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_TIME_LIMIT +
                    " (it should be an integer value followed by a space " +
                    "and a time unit of seconds, minutes, hours, days, or " +
                    "weeks):  %s.");
                    "weeks):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_WRITABILITY_MODE,
                    "Specifies the writability mode for the Directory " +
                    "Server.  The value may be one of \"enabled\", " +
                    "\"disabled\", or \"internal-only\".  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_WRITABILITY_MODE,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_WRITABILITY_MODE +
                    " (the value should be one of \"enabled\", \"disabled\", " +
                    "or \"internal-only\"):  %s.");
                    "or \"internal-only\"):  %s");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_BIND_WITH_DN_REQUIRES_PW,
                    "Indicates whether simple binds that contain a DN will " +
                    "also be required to contain a password.  If this is " +
@@ -7202,7 +7202,7 @@
                    "simple bind request that contains a DN but no password " +
                    "will be rejected rather than defaulting to anonymous " +
                    "authentication.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_DEFAULT_PWPOLICY_DN,
                    "Specifies the DN of the configuration entry that " +
                    "defines the default password policy for the Directory " +
@@ -7210,59 +7210,59 @@
                    "custom password policy is not defined.  This entry must " +
                    "exist and must specify a valid password policy " +
                    "configuration.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_BIND_WITH_DN_REQUIRES_PW,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_BIND_WITH_DN_REQUIRES_PW +
                    " (the value should be either \"TRUE\" or \"FALSE\"):  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_CORE_NO_DEFAULT_PWPOLICY,
                    "No default password policy was configured for the " +
                    "Directory Server.  This must be specified by the " +
                    ATTR_DEFAULT_PWPOLICY_DN + " attribute in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_CONFIG_CORE_INVALID_DEFAULT_PWPOLICY_DN,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_DEFAULT_PWPOLICY_DN +
                    " (the value should a DN specifying the default " +
                    "password policy configuration entry):  %s.");
                    "password policy configuration entry):  %s");
    registerMessage(MSGID_CONFIG_CORE_NO_SUCH_PWPOLICY,
                    "The value %s for configuration attribute " +
                    ATTR_DEFAULT_PWPOLICY_DN + " does not refer to a valid " +
                    "password policy configuration entry.");
                    "password policy configuration entry");
    registerMessage(MSGID_CONFIG_JMX_ATTR_NO_VALUE,
                    "Configuration entry %s does not contain a value for " +
                    "attribute %s.");
                    "attribute %s");
    registerMessage(MSGID_CONFIG_JMX_ATTR_NO_ATTR,
                    "Configuration entry %s does not contain attribute %s " +
                    "(or that attribute exists but is not accessible using " +
                    "JMX).");
                    "JMX)");
    registerMessage(MSGID_CONFIG_JMX_CANNOT_GET_CONFIG_ENTRY,
                    "Unable to retrieve configuration entry %s for access " +
                    "through JMX:  %s.");
                    "through JMX:  %s");
    registerMessage(MSGID_CONFIG_JMX_ATTR_INVALID_VALUE,
                    "Attempted update to attribute %s of configuration entry " +
                    "%s over JMX would have resulted in an invalid value:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_JMX_UNACCEPTABLE_CONFIG,
                    "Update to configuration entry %s over JMX would have " +
                    "resulted in an invalid configuration:  %s.");
                    "resulted in an invalid configuration:  %s");
    registerMessage(MSGID_CONFIG_JMX_NO_METHOD,
                    "There is no method %s for any invokable component " +
                    "registered with configuration entry %s.");
                    "registered with configuration entry %s");
    registerMessage(MSGID_CONFIG_JMX_CANNOT_REGISTER_MBEAN,
                    "The Directory Server could not register a JMX MBean for " +
                    "the component associated with configuration entry %s:  " +
                    "%s ");
    registerMessage(MSGID_CONFIG_JMX_CANNOT_GET_ATTRIBUTE,
                    "Unable to retrieve JMX attribute %s associated with " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_JMX_SET_ATTR_NO_CONNECTION,
                    "Unable to set the value of JMX attribute %s associated " +
                    "with configuration entry %s because no JMX connection " +
                    "is avaialble.");
                    "is avaialble");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_DESCRIPTION_NUM_THREADS,
@@ -7273,7 +7273,7 @@
                    "system on which the server is running and the workload " +
                    "it needs to handle, and may best be determined by " +
                    "performance testing.  Changes to this attribute will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_DESCRIPTION_MAX_CAPACITY,
                    "Specifies the maximum number of pending requests that " +
                    "may be held in the work queue at any one time while all " +
@@ -7281,14 +7281,14 @@
                    "If this limit is reached, then any new requests will be " +
                    "rejected.  A value of 0 indicates that there is no " +
                    "limit.  Changes to this attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_CANNOT_DETERMINE_NUM_WORKER_THREADS,
                    "An error occurred while attempting to retrieve the " +
                    "value of the " + ATTR_NUM_WORKER_THREADS + " attribute " +
                    "from the %s entry, which is used to specify the number " +
                    "of worker threads to service the work queue:  %s.  The " +
                    "Directory Server will use the default value of " +
                    DEFAULT_NUM_WORKER_THREADS + ".");
                    DEFAULT_NUM_WORKER_THREADS + "");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_CANNOT_DETERMINE_QUEUE_CAPACITY,
                    "An error occurred while attempting to retrieve the " +
                    "value of the " + ATTR_MAX_WORK_QUEUE_CAPACITY +
@@ -7296,43 +7296,43 @@
                    "the maximum number of pending operations that may be " +
                    "held in the work queue:  %s.  The Directory Server will " +
                    "use the default value of " +
                    DEFAULT_MAX_WORK_QUEUE_CAPACITY + ".");
                    DEFAULT_MAX_WORK_QUEUE_CAPACITY + "");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_NUM_THREADS_INVALID_VALUE,
                    "The value of configuration attribute " +
                    ATTR_NUM_WORKER_THREADS + " in configuration entry %s " +
                    "has an invalid value (%d).  This attribute requires " +
                    "an integer value greater than zero.");
                    "an integer value greater than zero");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_CAPACITY_INVALID_VALUE,
                    "The value of configuration attribute " +
                    ATTR_MAX_WORK_QUEUE_CAPACITY + " in configuration entry " +
                    "%s has an invalid value (%d).  This attribute requires " +
                    "an integer value greater than or equal to zero.");
                    "an integer value greater than or equal to zero");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_CREATED_THREADS,
                    "%d additional worker threads have been created to bring " +
                    "the total number of available threads to %d.");
                    "the total number of available threads to %d");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_DESTROYING_THREADS,
                    "%d worker threads will terminate as soon as it is " +
                    "convenient to do so (it may take a couple of seconds " +
                    "for the threads to actually exit) to bring the total " +
                    "number of available threads to %d.");
                    "number of available threads to %d");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_NEW_CAPACITY,
                    "The work queue capacity has been updated to use a new "+
                    "value of %d.");
                    "value of %d");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_TOO_MANY_FAILURES,
                    "Worker thread \"%s\" has experienced too many repeated " +
                    "failures while attempting to retrieve the next " +
                    "operation from the work queue (%d failures experienced, " +
                    "maximum of %d failures allowed).  This worker thread " +
                    "will be destroyed.");
                    "will be destroyed");
    registerMessage(MSGID_CONFIG_WORK_QUEUE_CANNOT_CREATE_MONITOR,
                    "A problem occurred while trying to create and start an " +
                    "instance of class %s to use as a monitor provider for " +
                    "the Directory Server work queue:  %s.  No monitor " +
                    "information will be available for the work queue.");
                    "information will be available for the work queue");
   registerMessage(MSGID_CONFIG_DESCRIPTION_BACKEND_DIRECTORY,
                   "The name of the directory in which backend database " +
                   "files are stored.");
                   "files are stored");
   registerMessage(MSGID_CONFIG_BACKEND_NO_DIRECTORY,
                   "Configuration entry %s does not contain a valid value " +
                   "for configuration attribute " +
@@ -7341,49 +7341,49 @@
    registerMessage(MSGID_CONFIG_ATTR_DN_NULL,
                    "A null value was provided for DN configuration " +
                    "attribute %s.");
                    "attribute %s");
    registerMessage(MSGID_CONFIG_ATTR_DN_CANNOT_PARSE,
                    "An error occurred while trying to parse value \"%s\" of " +
                    "attribute %s as a DN:  %s.");
                    "attribute %s as a DN:  %s");
    registerMessage(MSGID_CONFIG_ATTR_INVALID_DN_VALUE,
                    "Unable to parse value %s for configuration attribute %s " +
                    "as a DN:  %s.");
                    "as a DN:  %s");
    registerMessage(MSGID_CONFIG_ATTR_DN_INVALID_TYPE,
                    "Unable to parse value %s for configuration attribute %s " +
                    "as a DN because the element was of an invalid type (%s).");
                    "as a DN because the element was of an invalid type (%s)");
    registerMessage(MSGID_CONFIG_ATTR_DN_INVALID_ARRAY_TYPE,
                    "Unable to parse value for configuration attribute %s " +
                    "as a set of DN values because the array contained " +
                    "elements of an invalid type (%s).");
                    "elements of an invalid type (%s)");
    registerMessage(MSGID_CONFIG_BACKEND_CANNOT_GET_CONFIG_BASE,
                    "An error occurred while trying to retrieve " +
                    "configuration entry " + DN_BACKEND_BASE + " in order to " +
                    "initialize the Directory Server backends:  %s.");
                    "initialize the Directory Server backends:  %s");
    registerMessage(MSGID_CONFIG_BACKEND_BASE_DOES_NOT_EXIST,
                    "The entry " + DN_BACKEND_BASE +  " does not appear to " +
                    "exist in the Directory Server configuration.  This is a " +
                    "required entry.");
                    "required entry");
    registerMessage(MSGID_CONFIG_BACKEND_ENTRY_DOES_NOT_HAVE_BACKEND_CONFIG,
                    "Configuration entry %s exists below the backend " +
                    "configuration root of " + DN_BACKEND_BASE + " but does " +
                    "not have objectclass " + OC_BACKEND + " that is " +
                    "required for a Directory Server backend.  This " +
                    "configuration entry will be ignored.");
                    "configuration entry will be ignored");
    registerMessage(MSGID_CONFIG_BACKEND_ERROR_INTERACTING_WITH_BACKEND_ENTRY,
                    "An unexpected error occurred while interacting with " +
                    "backend configuration entry %s:  %s.");
                    "backend configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_BACKEND_ATTR_DESCRIPTION_ENABLED,
                    "Indicates whether this backend should be enabled for " +
                    "use in the Directory Server.  This may be altered while " +
                    "the Directory Server is online, but if a backend is " +
                    "disabled, then it will not be available for use.");
                    "disabled, then it will not be available for use");
    registerMessage(MSGID_CONFIG_BACKEND_ATTR_DESCRIPTION_BACKEND_ID,
                    "Specifies the unique identifier for this backend.  " +
                    "Changes to this configuration attribute will not take " +
                    "effect until the backend is disabled and re-enabled or " +
                    "the server is restarted.");
                    "the server is restarted");
    registerMessage(MSGID_CONFIG_BACKEND_ATTR_DESCRIPTION_WRITABILITY,
                    "Specifies the writability mode for this backend.  The " +
                    "value may be \"enabled\" if all write operations will " +
@@ -7391,328 +7391,328 @@
                    "be rejected, or \"internal-only\" if only internal " +
                    "write operations and synchronization updates will be " +
                    "allowed.  Changes to this configuration attribute will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_CONFIG_BACKEND_ATTR_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that should provide the core logic for this backend " +
                    "implementation.  Changes to this configuration " +
                    "attribute will not take effect until the backend is "+
                    "disabled and re-enabled or the server is restarted.");
                    "disabled and re-enabled or the server is restarted");
    registerMessage(MSGID_CONFIG_BACKEND_NO_ENABLED_ATTR,
                    "Backend configuration entry %s does not contain " +
                    "attribute " + ATTR_BACKEND_ENABLED + ", which is used " +
                    "to indicate whether the backend should be enabled or " +
                    "disabled.  Without this attribute, it will default to " +
                    "being disabled.");
                    "being disabled");
    registerMessage(MSGID_CONFIG_BACKEND_DISABLED,
                    "The backend defined in configuration entry %s is " +
                    "marked as disabled and therefore will not be used.");
                    "marked as disabled and therefore will not be used");
    registerMessage(MSGID_CONFIG_BACKEND_UNABLE_TO_DETERMINE_ENABLED_STATE,
                    "An unexpected error occurred while attempting to " +
                    "determine whether the backend associated with " +
                    "configuration entry %s should be enabled or disabled:  " +
                    "%s.  It will be disabled.");
                    "%s.  It will be disabled");
    registerMessage(MSGID_CONFIG_BACKEND_NO_BACKEND_ID,
                    "Backend configuration entry %s does not contain " +
                    "attribute " + ATTR_BACKEND_ID + ", which is used " +
                    "to provide a unique identifier for the backend.  The " +
                    "backend will be disabled.");
                    "backend will be disabled");
    registerMessage(MSGID_CONFIG_BACKEND_DUPLICATE_BACKEND_ID,
                    "The backend defined in configuration entry %s has a " +
                    "backend ID of %s that conflicts with the backend ID for " +
                    "another backend in the server.  The backend will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_BACKEND_UNABLE_TO_DETERMINE_BACKEND_ID,
                    "An unexpected error occurred while attempting to " +
                    "determine the backend ID for the backend defined in " +
                    "configuration entry %s:  %s.  The backend will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_BACKEND_NO_WRITABILITY_MODE,
                    "The backend defined in configuration entry %s does not " +
                    "have a value for configuration attribute " +
                    ATTR_BACKEND_WRITABILITY_MODE + " which indicates the " +
                    "writability mode for that backend.  The backend will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_BACKEND_INVALID_WRITABILITY_MODE,
                    "The backend defined in configuration entry %s has an " +
                    "invalid writability mode of %s.  The backend will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_BACKEND_UNABLE_TO_DETERMINE_WRITABILITY,
                    "An unexpected error occurred while attempting to " +
                    "determine the writability mode for the backend defined " +
                    "in configuration entry %s:  %s.  The backend will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_BACKEND_NO_CLASS_ATTR,
                    "Backend configuration entry %s does not contain " +
                    "attribute " + ATTR_BACKEND_CLASS + ", which is used to " +
                    "specify the name of the class used to provide the " +
                    "backend implementation.  The backend associated with " +
                    "this configuration entry will be disabled.");
                    "this configuration entry will be disabled");
    registerMessage(MSGID_CONFIG_BACKEND_CANNOT_GET_CLASS,
                    "An unexpected error occurred while trying to determine " +
                    "the name of the Java class that contains the " +
                    "implementation for backend %s:  %s.  This backend will " +
                    "be disabled.");
                    "be disabled");
    registerMessage(MSGID_CONFIG_BACKEND_CANNOT_INSTANTIATE,
                    "The Directory Server was unable to load class %s and " +
                    "use it to create a backend instance as defined in " +
                    "configuration entry %s.  The error that occurred was:  " +
                    "%s.  This backend will be disabled.");
                    "%s.  This backend will be disabled");
    registerMessage(MSGID_CONFIG_BACKEND_CANNOT_ACQUIRE_SHARED_LOCK,
                    "The Directory Server was unable to acquire a shared " +
                    "lock for backend %s:  %s.  This generally means that " +
                    "the backend is in use by a process that requires an " +
                    "exclusive lock (e.g., importing from LDIF or restoring " +
                    "a backup).  This backend will be disabled.");
                    "a backup).  This backend will be disabled");
    registerMessage(MSGID_CONFIG_BACKEND_CANNOT_INITIALIZE,
                    "An error occurred while trying to initialize a backend " +
                    "loaded from class %s with the information in " +
                    "configuration entry %s:  %s.  This backend will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_BACKEND_CANNOT_RELEASE_SHARED_LOCK,
                    "An error occurred while attempting to release a shared " +
                    "lock for backend %s:  %s.  This may interfere with " +
                    "operations that require exclusive access, including " +
                    "LDIF import and restoring a backup.");
                    "LDIF import and restoring a backup");
    registerMessage(MSGID_CONFIG_BACKEND_CANNOT_REGISTER_BACKEND,
                    "An error occurred while attempting to register backend " +
                    "%s with the Directory Server:  %s.");
                    "%s with the Directory Server:  %s");
    registerMessage(MSGID_CONFIG_BACKEND_CLASS_NOT_BACKEND,
                    "The class %s specified in configuration entry %s does " +
                    "not contain a valid Directory Server backend " +
                    "implementation.");
                    "implementation");
    registerMessage(MSGID_CONFIG_BACKEND_ACTION_REQUIRED_TO_CHANGE_CLASS,
                    "The requested change to configuration entry %s would " +
                    "cause the class for the associated backend to change " +
                    "from %s to %s.  This change will not take effect until " +
                    "the backend is disabled and re-enabled, or until the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(
         MSGID_CONFIG_BACKEND_CANNOT_REMOVE_BACKEND_WITH_SUBORDINATES,
         "The backend defined in configuration entry %s has one or more " +
         "subordinate backends.  A backend may not be removed if it has " +
         "subordinate backends.");
         "subordinate backends");
    registerMessage(MSGID_CONFIG_BACKEND_UNACCEPTABLE_CONFIG,
                    "The configuration for the backend defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_BACKEND_ATTR_DESCRIPTION_BASE_DNS,
                    "Specifies the set of base DNs that should be used for " +
                    "this backend.  It is up to the backend implementation " +
                    "as to whether changes to this attribute will " +
                    "automatically take effect.");
                    "automatically take effect");
    registerMessage(MSGID_CONFIG_BACKEND_NO_BASE_DNS,
                    "Backend configuration entry %s does not contain " +
                    "attribute " + ATTR_BACKEND_BASE_DN + ", which is used " +
                    "to specify the set of base DNs for the backend.  This " +
                    "is a required attribute, and therefore the backend will " +
                    "be disabled.");
                    "be disabled");
    registerMessage(MSGID_CONFIG_BACKEND_UNABLE_TO_DETERMINE_BASE_DNS,
                    "An unexpected error occurred while attempting to " +
                    "determine the set of base DNs associated with the " +
                    "backend defined in configuration entry %s:  %s.  This " +
                    "backend will be disabled.");
                    "backend will be disabled");
    registerMessage(MSGID_CONFIG_MONITOR_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "base monitor entry " + DN_MONITOR_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_MONITOR_BASE_DOES_NOT_EXIST,
                    "The monitor configuration base " + DN_MONITOR_CONFIG_BASE +
                    " does not exist in the Directory Server configuration.  " +
                    "Only limited monitoring information will be available.");
                    "Only limited monitoring information will be available");
    registerMessage(MSGID_CONFIG_MONITOR_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid monitor " +
                    "provider configuration:  %s.  It will be ignored.");
                    "provider configuration:  %s.  It will be ignored");
    registerMessage(MSGID_CONFIG_MONITOR_CANNOT_CREATE_MONITOR,
                    "An error occurred while attempting to create a " +
                    "Directory Server monitor provider from the information " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_MONITOR_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_MONITOR_PROVIDER + " objectclass, which is required " +
                    "for monitor provider definitions.");
                    "for monitor provider definitions");
    registerMessage(MSGID_CONFIG_MONITOR_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server monitor provider.  If this is " +
                    "altered while the associated monitor is enabled, then " +
                    "that monitor must be disabled and re-enabled for the " +
                    "change to take effect.");
                    "change to take effect");
    registerMessage(MSGID_CONFIG_MONITOR_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_MONITOR_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated monitor provider.");
                    "the associated monitor provider");
    registerMessage(MSGID_CONFIG_MONITOR_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_MONITOR_CLASS + ":  %s.");
                    "attribute " + ATTR_MONITOR_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_MONITOR_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid monitor provider implementation:  %s.");
                    "contain a valid monitor provider implementation:  %s");
    registerMessage(MSGID_CONFIG_MONITOR_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server monitor " +
                    "provider should be enabled.  Changes to this attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_CONFIG_MONITOR_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_MONITOR_ENABLED +
                    " which indicates whether the monitor provider should be " +
                    "enabled for use in the Directory Server.");
                    "enabled for use in the Directory Server");
    registerMessage(MSGID_CONFIG_MONITOR_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_MONITOR_ENABLED + ":  %s.");
                    "attribute " + ATTR_MONITOR_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_MONITOR_CLASS_ACTION_REQUIRED,
                    "The requested change in the monitor class name from %s " +
                    "to %s in configuration entry %s cannot be dynamically " +
                    "applied.  This change will not take effect until the " +
                    "monitor provider is disabled and re-enabled or the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(MSGID_CONFIG_MONITOR_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a monitor provider as defined " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_MONITOR_EXISTS,
                    "Unable to add a new monitor provider entry with DN %s " +
                    "because there is already a monitor provider registered " +
                    "with that DN.");
                    "with that DN");
    registerMessage(MSGID_CONFIG_MONITOR_UNACCEPTABLE_CONFIG,
                    "The configuration for the monitor provider defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_CONNHANDLER_CANNOT_GET_CONFIG_BASE,
                    "An error occurred while trying to retrieve " +
                    "configuration entry " + DN_CONNHANDLER_BASE +
                    " in order to initialize the Directory Server backends:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_CONNHANDLER_BASE_DOES_NOT_EXIST,
                    "The entry " + DN_CONNHANDLER_BASE +  " does not appear " +
                    "to exist in the Directory Server configuration.  This " +
                    "is a required entry.");
                    "is a required entry");
    registerMessage(
         MSGID_CONFIG_CONNHANDLER_ENTRY_DOES_NOT_HAVE_CONNHANDLER_CONFIG,
         "Configuration entry %s exists below the connection handler " +
         "configuration root of " + DN_CONNHANDLER_BASE + " but does not " +
         "have objectclass " + OC_CONNECTION_HANDLER + " that is required " +
         "for a Directory Server connection handler.  This configuration " +
         "entry will be ignored.");
         "entry will be ignored");
    registerMessage(
         MSGID_CONFIG_CONNHANDLER_ERROR_INTERACTING_WITH_CONNHANDLER_ENTRY,
         "An unexpected error occurred while interacting with connection " +
         "handler configuration entry %s:  %s.");
         "handler configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_CONNHANDLER_ATTR_DESCRIPTION_ENABLED,
                    "Indicates whether this connection handler should be " +
                    "enabled for use in the Directory Server.  This may be " +
                    "altered while the Directory Server is online, but if a " +
                    "connection handler is disabled, then it will not be " +
                    "available for use.");
                    "available for use");
    registerMessage(MSGID_CONFIG_CONNHANDLER_ATTR_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that should provide the core logic for this connection " +
                    "handler implementation.  Changes to this configuration " +
                    "attribute will not take effect until the connection " +
                    "handler is disabled and re-enabled or the server is " +
                    "restarted.");
                    "restarted");
    registerMessage(MSGID_CONFIG_CONNHANDLER_NO_ENABLED_ATTR,
                    "Connection handler configuration entry %s does not " +
                    "contain attribute " + ATTR_CONNECTION_HANDLER_ENABLED +
                    ", which is used to indicate whether the connection " +
                    "handler should be enabled or disabled.  Without this " +
                    "attribute, it will default to being disabled.");
                    "attribute, it will default to being disabled");
    registerMessage(MSGID_CONFIG_CONNHANDLER_DISABLED,
                    "The connection handler defined in configuration entry " +
                    "%s is marked as disabled and therefore will not be used.");
                    "%s is marked as disabled and therefore will not be used");
    registerMessage(MSGID_CONFIG_CONNHANDLER_UNABLE_TO_DETERMINE_ENABLED_STATE,
                    "An unexpected error occurred while attempting to " +
                    "determine whether the connection handler associated " +
                    "with configuration entry %s should be enabled or " +
                    "disabled:  %s.  It will be disabled.");
                    "disabled:  %s.  It will be disabled");
    registerMessage(MSGID_CONFIG_CONNHANDLER_NO_CLASS_ATTR,
                    "Connection handler configuration entry %s does not " +
                    "contain attribute " + ATTR_CONNECTION_HANDLER_CLASS +
                    ", which is used to specify the name of the class used " +
                    "to provide the connection handler implementation.  The " +
                    "connection handler associated with this configuration " +
                    "entry will be disabled.");
                    "entry will be disabled");
    registerMessage(MSGID_CONFIG_CONNHANDLER_CANNOT_GET_CLASS,
                    "An unexpected error occurred while trying to determine " +
                    "the name of the Java class that contains the " +
                    "implementation for connection handler %s:  %s.  This " +
                    "connection handler will be disabled.");
                    "connection handler will be disabled");
    registerMessage(MSGID_CONFIG_CONNHANDLER_CANNOT_INSTANTIATE,
                    "The Directory Server was unable to load class %s and " +
                    "use it to create a connection handler instance as " +
                    "defined in configuration entry %s.  The error that " +
                    "occurred was:  %s.  This connection handler will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_CONNHANDLER_CANNOT_INITIALIZE,
                    "An error occurred while trying to initialize a " +
                    "connection handler loaded from class %s with the " +
                    "information in configuration entry %s:  %s.  This " +
                    "connection handler will be disabled.");
                    "connection handler will be disabled");
    registerMessage(MSGID_CONFIG_CONNHANDLER_UNACCEPTABLE_CONFIG,
                    "The configuration for the connection handler defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_CONNHANDLER_CLASS_NOT_CONNHANDLER,
                    "The class %s specified in configuration entry %s does " +
                    "not contain a valid Directory Server connection handler " +
                    "implementation.");
                    "implementation");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_GET_MR_BASE,
                    "An error occurred while trying to retrieve " +
                    "configuration entry " + DN_MATCHING_RULE_CONFIG_BASE +
                    " in order to initialize the Directory Server matching " +
                    "rules:  %s.");
                    "rules:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_BASE_DOES_NOT_EXIST,
                    "The entry " + DN_MATCHING_RULE_CONFIG_BASE +
                    " does not appear to exist in the Directory Server " +
                    "configuration.  This is a required entry.");
                    "configuration.  This is a required entry");
    registerMessage(MSGID_CONFIG_SCHEMA_NO_MATCHING_RULES,
                    "No child entries were found below the entry " +
                    DN_MATCHING_RULE_CONFIG_BASE + " to define the matching " +
                    "rules for use in the Directory Server.  This is an " +
                    "error, because the Directory Server must have matching " +
                    "rules defined to function properly.");
                    "rules defined to function properly");
    registerMessage(MSGID_CONFIG_SCHEMA_ENTRY_DOES_NOT_HAVE_MR_CONFIG,
                    "Configuration entry %s exists below the matching rule " +
                    "configuration root of " + DN_MATCHING_RULE_CONFIG_BASE +
                    " but does not have objectclass " + OC_MATCHING_RULE +
                    " that is required for a Directory Server matching " +
                    "rule.  This configuration entry will be ignored.");
                    "rule.  This configuration entry will be ignored");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_ATTR_DESCRIPTION_ENABLED,
                    "Indicates whether this matching rule should be enabled " +
                    "for use in the Directory Server.  This may be altered " +
                    "while the Directory Server is online, but if a matching " +
                    "rule is disabled, after it has been used for one or " +
                    "more attributes then matching may no longer function " +
                    "as expected for those attributes.");
                    "as expected for those attributes");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_NO_ENABLED_ATTR,
                    "Matching rule configuration entry %s does not contain " +
                    "attribute " + ATTR_MATCHING_RULE_ENABLED + ", which is " +
                    "used to indicate whether the matching rule should be " +
                    "enabled or disabled.  Without this attribute, it will " +
                    "default to being disabled.");
                    "default to being disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_DISABLED,
                    "The matching rule defined in configuration entry " +
                    "%s is marked as disabled and therefore will not be " +
                    "used.  If it has been used in the past for one or more " +
                    "attributes, then matching may no longer function for " +
                    "values of those attributes.");
                    "values of those attributes");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_UNABLE_TO_DETERMINE_ENABLED_STATE,
                    "An unexpected error occurred while attempting to " +
                    "determine whether the matching rule associated with " +
                    "configuration entry %s should be enabled or disabled:  " +
                    "%s.  It will be disabled.");
                    "%s.  It will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_ATTR_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that should provide the core logic for this matching " +
@@ -7722,81 +7722,81 @@
                    "restarted.  Also, changes to the matching rule class " +
                    "for matching rules that have already been used for one " +
                    "or more attributes may cause unexpected results when " +
                    "performing matching for those attributes.");
                    "performing matching for those attributes");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_NO_CLASS_ATTR,
                    "Matching rule configuration entry %s does not contain " +
                    "attribute " + ATTR_MATCHING_RULE_CLASS + ", which is " +
                    "used to specify the name of the class used to provide " +
                    "the matching rule implementation.  The matching rule " +
                    "associated with this configuration entry will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_CANNOT_GET_CLASS,
                    "An unexpected error occurred while trying to determine " +
                    "the name of the Java class that contains the " +
                    "implementation for matching rule %s:  %s.  This " +
                    "matching rule will be disabled.");
                    "matching rule will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_CANNOT_INSTANTIATE,
                    "The Directory Server was unable to load class %s and " +
                    "use it to create a matching rule instance as defined in " +
                    "configuration entry %s.  The error that occurred was:  " +
                    "%s.  This matching rule will be disabled.");
                    "%s.  This matching rule will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_CANNOT_INITIALIZE,
                    "An error occurred while trying to initialize a matching " +
                    "rule loaded from class %s with the information in " +
                    "configuration entry %s:  %s.  This matching rule will " +
                    "be disabled.");
                    "be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_MR_CONFLICTING_MR,
                    "The matching rule defined in configuration entry %s " +
                    "conflicts with another matching rule defined in the " +
                    "server configuration:  %s.  This matching rule will not " +
                    "be used.");
                    "be used");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_GET_SYNTAX_BASE,
                    "An error occurred while trying to retrieve " +
                    "configuration entry " + DN_SYNTAX_CONFIG_BASE +
                    " in order to initialize the Directory Server attribute " +
                    "syntaxes:  %s.");
                    "syntaxes:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_BASE_DOES_NOT_EXIST,
                    "The entry " + DN_SYNTAX_CONFIG_BASE +
                    " does not appear to exist in the Directory Server " +
                    "configuration.  This is a required entry.");
                    "configuration.  This is a required entry");
    registerMessage(MSGID_CONFIG_SCHEMA_NO_SYNTAXES,
                    "No child entries were found below the entry " +
                    DN_SYNTAX_CONFIG_BASE + " to define the attribute " +
                    "syntaxes for use in the Directory Server.  This is an " +
                    "error, because the Directory Server must have syntaxes " +
                    "defined to function properly.");
                    "defined to function properly");
    registerMessage(MSGID_CONFIG_SCHEMA_ENTRY_DOES_NOT_HAVE_SYNTAX_CONFIG,
                    "Configuration entry %s exists below the attribute " +
                    "syntax configuration root of " + DN_SYNTAX_CONFIG_BASE +
                    " but does not have objectclass " + OC_ATTRIBUTE_SYNTAX +
                    " that is required for a Directory Server attribute " +
                    "syntax.  This configuration entry will be ignored.");
                    "syntax.  This configuration entry will be ignored");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_ATTR_DESCRIPTION_ENABLED,
                    "Indicates whether this attribute syntax should be " +
                    "enabled for use in the Directory Server.  This may be " +
                    "altered while the Directory Server is online, but if a " +
                    "syntax is disabled, after it has been used for one or " +
                    "more attributes then matching may no longer function " +
                    "as expected for those attributes.");
                    "as expected for those attributes");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_NO_ENABLED_ATTR,
                    "Attribute syntax configuration entry %s does not " +
                    "contain attribute " + ATTR_SYNTAX_ENABLED + ", which is " +
                    "used to indicate whether the syntax should be enabled " +
                    "or disabled.  Without this attribute, it will default " +
                    "to being disabled.");
                    "to being disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_DISABLED,
                    "The attribute syntax defined in configuration entry " +
                    "%s is marked as disabled and therefore will not be " +
                    "used.  If it has been used in the past for one or more " +
                    "attributes, then matching may no longer function for " +
                    "values of those attributes.");
                    "values of those attributes");
    registerMessage(
         MSGID_CONFIG_SCHEMA_SYNTAX_UNABLE_TO_DETERMINE_ENABLED_STATE,
         "An unexpected error occurred while attempting to determine whether " +
         "the attribute syntax associated with configuration entry %s should " +
         "be enabled or disabled:  %s.  It will be disabled.");
         "be enabled or disabled:  %s.  It will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_ATTR_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that should provide the core logic for this attribute " +
@@ -7806,133 +7806,133 @@
                    "Also, changes to the syntax class for attribute " +
                    "syntaxes that have already been used for one or more " +
                    "attributes may cause unexpected results when performing " +
                    "matching for those attributes.");
                    "matching for those attributes");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_NO_CLASS_ATTR,
                    "Matching rule configuration entry %s does not contain " +
                    "attribute " + ATTR_SYNTAX_CLASS + ", which is used to " +
                    "specify the name of the class used to provide the " +
                    "attribute syntax implementation.  The syntax associated " +
                    "with this configuration entry will be disabled.");
                    "with this configuration entry will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_CANNOT_GET_CLASS,
                    "An unexpected error occurred while trying to determine " +
                    "the name of the Java class that contains the " +
                    "implementation for attribute syntax %s:  %s.  This " +
                    "syntax will be disabled.");
                    "syntax will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_CANNOT_INSTANTIATE,
                    "The Directory Server was unable to load class %s and " +
                    "use it to create an attribute syntax instance as " +
                    "defined in configuration entry %s.  The error that " +
                    "occurred was:  %s.  This syntax will be disabled.");
                    "occurred was:  %s.  This syntax will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_CANNOT_INITIALIZE,
                    "An error occurred while trying to initialize an " +
                    "attribute syntax loaded from class %s with the " +
                    "information in configuration entry %s:  %s.  This " +
                    "syntax will be disabled.");
                    "syntax will be disabled");
    registerMessage(MSGID_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX,
                    "The attribute syntax defined in configuration entry %s " +
                    "conflicts with another syntax defined in the server " +
                    "configuration:  %s.  This attribute syntax will not be " +
                    "used.");
                    "used");
    registerMessage(MSGID_CONFIG_SCHEMA_NO_SCHEMA_DIR,
                    "Unable to read the Directory Server schema definitions " +
                    "because the schema directory %s does not exist.");
                    "because the schema directory %s does not exist");
    registerMessage(MSGID_CONFIG_SCHEMA_DIR_NOT_DIRECTORY,
                    "Unable to read the Directory Server schema definitions " +
                    "because the schema directory %s exists but is not a " +
                    "directory.");
                    "directory");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_LIST_FILES,
                    "Unable to read the Directory Server schema definitions " +
                    "from directory %s because an unexpected error occurred " +
                    "while trying to list the files in that directory:  %s.");
                    "while trying to list the files in that directory:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_OPEN_FILE,
                    "Schema configuration file %s in directory %s cannot be " +
                    "parsed because an unexpected error occurred while " +
                    "trying to open the file for reading:  %s.");
                    "trying to open the file for reading:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY,
                    "Schema configuration file %s in directory %s cannot be " +
                    "parsed because an unexpected error occurred while " +
                    "trying to read its contents as an LDIF entry:  %s.");
                    "trying to read its contents as an LDIF entry:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE,
                    "Unable to parse an attribute type definition from " +
                    "schema configuration file %s:  %s.");
                    "schema configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CONFLICTING_ATTR_TYPE,
                    "An attribute type read from schema configuration file " +
                    "%s conflicts with another attribute type already read " +
                    "into the schema:  %s.  The later attribute type " +
                    "definition will be used.");
                    "definition will be used");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_PARSE_OC,
                    "Unable to parse an objectclass definition from schema " +
                    "configuration file %s:  %s.");
                    "configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CONFLICTING_OC,
                    "An objectclass read from schema configuration file %s " +
                    "conflicts with another objectclass already read into " +
                    "the schema:  %s.  The later objectclass definition will " +
                    "be used.");
                    "be used");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_PARSE_NAME_FORM,
                    "Unable to parse a name form definition from schema " +
                    "configuration file %s:  %s.");
                    "configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CONFLICTING_NAME_FORM,
                    "A name form read from schema configuration file %s " +
                    "conflicts with another name form already read into " +
                    "the schema:  %s.  The later name form definition will " +
                    "be used.");
                    "be used");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_PARSE_DCR,
                    "Unable to parse a DIT content rule definition from " +
                    "schema configuration file %s:  %s.");
                    "schema configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CONFLICTING_DCR,
                    "A DIT content rule read from schema configuration file " +
                    "%s conflicts with another DIT content rule already read " +
                    "into the schema:  %s.  The later DIT content rule " +
                    "definition will be used.");
                    "definition will be used");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_PARSE_DSR,
                    "Unable to parse a DIT structure rule definition from " +
                    "schema configuration file %s:  %s.");
                    "schema configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CONFLICTING_DSR,
                    "A DIT structure rule read from schema configuration " +
                    "file %s conflicts with another DIT structure rule " +
                    "already read into the schema:  %s.  The later DIT " +
                    "structure rule definition will be used.");
                    "structure rule definition will be used");
    registerMessage(MSGID_CONFIG_SCHEMA_CANNOT_PARSE_MRU,
                    "Unable to parse a matching rule use definition from " +
                    "schema configuration file %s:  %s.");
                    "schema configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_SCHEMA_CONFLICTING_MRU,
                    "A matching rule use read from schema configuration " +
                    "file %s conflicts with another matching rule use " +
                    "already read into the schema:  %s.  The later matching " +
                    "rule use definition will be used.");
                    "rule use definition will be used");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_INSTALL_DEFAULT_CACHE,
                    "An unexpected error occurred that prevented the server " +
                    "from installing a temporary default entry cache for " +
                    "use until the actual cache could be created from the " +
                    "configuration:  %s.");
                    "configuration:  %s");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_GET_CONFIG_ENTRY,
                    "An unexpected error occurred while attempting to get " +
                    "the \"" + DN_ENTRY_CACHE_CONFIG + "\" entry, which " +
                    "holds the entry cache configuration:  %s.  No entry " +
                    "cache will be available.");
                    "cache will be available");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_NO_CONFIG_ENTRY,
                    "The entry cache configuration entry \"" +
                    DN_ENTRY_CACHE_CONFIG + "\" does not exist in the " +
                    "Directory Server configuration.  No entry cache will " +
                    "be available until this entry is created with a valid " +
                    "entry cache configuration.");
                    "entry cache configuration");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_REGISTER_ADD_LISTENER,
                    "An error occurred while attempting to register an " +
                    "add listener to watch for the entry cache configuration " +
                    "entry to be created:  %s.  If an entry cache " +
                    "configuration is added while the server is online, it " +
                    "will not be detected until the server is restarted.");
                    "will not be detected until the server is restarted");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_REGISTER_DELETE_LISTENER,
                    "An error occurred while attempting to register a " +
                    "delete listener to watch for the entry cache " +
                    "configuration entry to be deleted: %s.  If the entry " +
                    "cache configuration entry is deleted while the server " +
                    "is online, it will not be detected until the server is " +
                    "restarted.");
                    "restarted");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_DESCRIPTION_CACHE_ENABLED,
                    "Indicates whether the Directory Server entry cache " +
                    "should be enabled.  If the entry cache is enabled, it " +
@@ -7942,128 +7942,128 @@
                    "Changes to this configuration attribute will take " +
                    "effect immediately, but will have the side effect " +
                    "of clearing the cache contents, which may result in " +
                    "degraded performance for a period of time.");
                    "degraded performance for a period of time");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_NO_ENABLED_ATTR,
                    "Configuration entry \"" + DN_ENTRY_CACHE_CONFIG +
                    "\" does not contain a value for attribute " +
                    ATTR_ENTRYCACHE_ENABLED + ", which indicates whether " +
                    "the entry cache is enabled for use in the server.  As a " +
                    "result, the cache will be disabled.");
                    "result, the cache will be disabled");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_DISABLED,
                    "The Directory Server entry cache configured in entry \"" +
                    DN_ENTRY_CACHE_CONFIG + "\" has been disabled.  No entry " +
                    "cache will be available within the server.");
                    "cache will be available within the server");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_UNABLE_TO_DETERMINE_ENABLED_STATE,
                    "An unexpected error occurred while attempting to " +
                    "determine whether the entry cache configured in entry \"" +
                    DN_ENTRY_CACHE_CONFIG + "\" is enabled:  %s.  As a " +
                    "result, the entry cache will be disabled.");
                    "result, the entry cache will be disabled");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_DESCRIPTION_CACHE_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that should provide the entry cache implementation.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately, but will have the side effect of " +
                    "clearing the cache contents, which may result in " +
                    "degraded performance for a period of time.");
                    "degraded performance for a period of time");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_NO_CLASS_ATTR,
                    "Configuration entry \"" + DN_ENTRY_CACHE_CONFIG +
                    "\" does not contain a value for attribute " +
                    ATTR_ENTRYCACHE_CLASS + "\", which specifies the class " +
                    "name for the entry cache implementation.  As a result, " +
                    "the entry cache will be disabled.");
                    "the entry cache will be disabled");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_DETERMINE_CLASS,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_ENTRYCACHE_CLASS +
                    " attribute in configuration entry \"" +
                    DN_ENTRY_CACHE_CONFIG + "\":  %s.  The entry cache will " +
                    "be disabled.");
                    "be disabled");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_LOAD_CLASS,
                    "The class %s defined in attribute " +
                    ATTR_ENTRYCACHE_CLASS + " of configuration entry \"" +
                    DN_ENTRY_CACHE_CONFIG + "\" could not be loaded:  %s.  " +
                    "The entry cache will be disabled.");
                    "The entry cache will be disabled");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_INSTANTIATE_CLASS,
                    "The class %s defined in attribute " +
                    ATTR_ENTRYCACHE_CLASS + " of configuration entry \"" +
                    DN_ENTRY_CACHE_CONFIG + "\" could not be instantiated " +
                    "as a Directory Server entry cache:  %s.  As a result, " +
                    "the entry cache will be disabled.");
                    "the entry cache will be disabled");
    registerMessage(MSGID_CONFIG_ENTRYCACHE_CANNOT_INITIALIZE_CACHE,
                    "An error occurred while attempting to initialize " +
                    "an instance of class %s for use as the Directory Server " +
                    "entry cache:  %s.  As a result, the entry cache will be " +
                    "disabled.");
                    "disabled");
    registerMessage(MSGID_CONFIG_LOGGER_NO_ROTATION_POLICY,
                    "No file rotation policy has been defined in " +
                    "configuration entry %s. No log rotation will take place.");
                    "configuration entry %s. No log rotation will take place");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_ROTATION_POLICY,
                    "An invalid file rotation policy %s has been defined in " +
                    "configuration entry %s.");
                    "configuration entry %s");
    registerMessage(MSGID_CONFIG_LOGGER_NO_SIZE_LIMIT,
                    "No size limit has been defined for the size based file " +
                    "rotation policy in the configuration entry %s.");
                    "rotation policy in the configuration entry %s");
    registerMessage(MSGID_CONFIG_LOGGER_NO_TIME_LIMIT,
                    "No time limit has been defined for the time based file " +
                    "rotation policy in the configuration entry %s.");
                    "rotation policy in the configuration entry %s");
    registerMessage(MSGID_CONFIG_LOGGER_NO_RETENTION_POLICY,
                    "No file retention policy has been defined in " +
                    "configuration entry %s. No log files will be deleted.");
                    "configuration entry %s. No log files will be deleted");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_RETENTION_POLICY,
                    "An invalid file retention policy %s has been defined in " +
                    "configuration entry %s.");
                    "configuration entry %s");
    registerMessage(MSGID_CONFIG_LOGGER_NO_NUMBER_OF_FILES,
                    "No file number limit has been defined for the " +
                    "retention policy in the configuration entry %s.");
                    "retention policy in the configuration entry %s");
    registerMessage(MSGID_CONFIG_LOGGER_NO_DISK_SPACE_USED,
                    "No disk space limit has been defined for the " +
                    "retention policy in the configuration entry %s.");
                    "retention policy in the configuration entry %s");
    registerMessage(MSGID_CONFIG_LOGGER_NO_FREE_DISK_SPACE,
                    "No disk space limit has been defined for the " +
                    "retention policy in the configuration entry %s.");
                    "retention policy in the configuration entry %s");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_JAVA5_POLICY,
                    "The free disk space based retention policy " +
                    "in the configuration entry %s. is not allowed for " +
                    "the Directory Server when running on pre Java 6 VMs.");
                    "the Directory Server when running on pre Java 6 VMs");
    registerMessage(MSGID_CONFIG_PLUGIN_CANNOT_GET_CONFIG_BASE,
                    "An error occurred while trying to retrieve " +
                    "configuration entry " + DN_PLUGIN_BASE + " in order to " +
                    "initialize the Directory Server plugins:  %s.");
                    "initialize the Directory Server plugins:  %s");
    registerMessage(MSGID_CONFIG_PLUGIN_BASE_DOES_NOT_EXIST,
                    "The entry " + DN_PLUGIN_BASE +  " does not appear to " +
                    "exist in the Directory Server configuration.  This is a " +
                    "required entry.");
                    "required entry");
    registerMessage(MSGID_CONFIG_PLUGIN_ENTRY_DOES_NOT_HAVE_PLUGIN_CONFIG,
                    "Configuration entry %s exists below the plugin " +
                    "configuration root of " + DN_PLUGIN_BASE + " but does " +
                    "not have objectclass " + OC_BACKEND + " that is " +
                    "required for a Directory Server plugin.  This " +
                    "configuration entry will be ignored.");
                    "configuration entry will be ignored");
    registerMessage(MSGID_CONFIG_PLUGIN_ERROR_INTERACTING_WITH_PLUGIN_ENTRY,
                    "An unexpected error occurred while interacting with " +
                    "backend configuration entry %s:  %s.");
                    "backend configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_PLUGIN_ATTR_DESCRIPTION_ENABLED,
                    "Indicates whether this plugin should be enabled for " +
                    "use in the Directory Server.  This may be altered while " +
                    "the Directory Server is online, and will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_PLUGIN_NO_ENABLED_ATTR,
                    "Plugin configuration entry %s does not contain " +
                    "attribute " + ATTR_PLUGIN_ENABLED + ", which is used " +
                    "to indicate whether the plugin should be enabled or " +
                    "disabled.  Without this attribute, it will default to " +
                    "being disabled.");
                    "being disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_DISABLED,
                    "The plugin defined in configuration entry %s is " +
                    "marked as disabled and therefore will not be used.");
                    "marked as disabled and therefore will not be used");
    registerMessage(MSGID_CONFIG_PLUGIN_UNABLE_TO_DETERMINE_ENABLED_STATE,
                    "An unexpected error occurred while attempting to " +
                    "determine whether the plugin associated with " +
                    "configuration entry %s should be enabled or disabled:  " +
                    "%s.  It will be disabled.");
                    "%s.  It will be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_ATTR_DESCRIPTION_PLUGIN_TYPE,
                    "Specifies the plugin type(s) for this plugin, which "+
                    "control the times when this plugin will be invoked " +
@@ -8071,181 +8071,181 @@
                    "the plugin is loaded and initialized, so changes to " +
                    "this attribute will not take effect until the plugin " +
                    "is disabled and re-enabled, or until the server is " +
                    "restarted.");
                    "restarted");
    registerMessage(MSGID_CONFIG_PLUGIN_NO_PLUGIN_TYPES,
                    "Plugin configuration entry %s does not contain " +
                    "attribute " + ATTR_PLUGIN_TYPE + ", which is used to " +
                    "specify the name(s) of the plugin type(s) for the " +
                    "plugin.  This is a required attribute, so this plugin " +
                    "will be disabled.");
                    "will be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_INVALID_PLUGIN_TYPE,
                    "Plugin configuration entry %s has an invalid value %s " +
                    "for attribute " + ATTR_PLUGIN_TYPE + " that does not " +
                    "name a valid plugin type.  This plugin will be disabled.");
                    "name a valid plugin type.  This plugin will be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_CANNOT_GET_PLUGIN_TYPES,
                    "An unexpected error occurred while trying to " +
                    "determine the set of plugin types for the plugin " +
                    "defined in configuration entry %s:  %s.  This plugin " +
                    "will be disabled.");
                    "will be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_ATTR_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that should provide the core logic for this plugin " +
                    "implementation.  Changes to this configuration " +
                    "attribute will not take effect until the plugin is "+
                    "disabled and re-enabled or the server is restarted.");
                    "disabled and re-enabled or the server is restarted");
    registerMessage(MSGID_CONFIG_PLUGIN_NO_CLASS_ATTR,
                    "Plugin configuration entry %s does not contain " +
                    "attribute " + ATTR_PLUGIN_CLASS + ", which is used to " +
                    "specify the name of the class used to provide the " +
                    "plugin implementation.  The plugin associated with " +
                    "this configuration entry will be disabled.");
                    "this configuration entry will be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_CANNOT_GET_CLASS,
                    "An unexpected error occurred while trying to determine " +
                    "the name of the Java class that contains the " +
                    "implementation for plugin %s:  %s.  This plugin will " +
                    "be disabled.");
                    "be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_CANNOT_INSTANTIATE,
                    "The Directory Server was unable to load class %s and " +
                    "use it to create a plugin instance as defined in " +
                    "configuration entry %s.  The error that occurred was:  " +
                    "%s.  This plugin will be disabled.");
                    "%s.  This plugin will be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_CANNOT_INITIALIZE,
                    "An error occurred while attempting to initialize an " +
                    "instance of class %s as a Directory Server plugin using " +
                    "the information in configuration entry %s:  %s.  This " +
                    "plugin will be disabled.");
                    "plugin will be disabled");
    registerMessage(MSGID_CONFIG_PLUGIN_CLASS_ACTION_REQUIRED,
                    "The requested change in the plugin class name from %s " +
                    "to %s in configuration entry %s cannot be dynamically " +
                    "applied.  This change will not take effect until the " +
                    "plugin is disabled and re-enabled or the Directory " +
                    "Server is restarted.");
                    "Server is restarted");
    registerMessage(MSGID_CONFIG_EXTOP_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid extended operation handler " +
                    "implementation:  %s.");
                    "implementation:  %s");
    registerMessage(MSGID_CONFIG_EXTOP_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as an extended operation handler " +
                    "as defined in configuration entry %s:  %s.");
                    "as defined in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_SASL_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the SASL " +
                    "mechanism handler base entry " +
                    DN_SASL_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_SASL_BASE_DOES_NOT_EXIST,
                    "The SASL mechanism configuration base " +
                    DN_SASL_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_SASL_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid SASL " +
                    "mechanism handler configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_SASL_CANNOT_CREATE_HANDLER,
                    "An error occurred while attempting to create a " +
                    "Directory Server SASL mechanism handler from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_SASL_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_SASL_MECHANISM_HANDLER + " objectclass, which is " +
                    "required for SASL mechanism handler definitions.");
                    "required for SASL mechanism handler definitions");
    registerMessage(MSGID_CONFIG_SASL_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server SASL mechanism handler.  If this " +
                    "is altered while the associated handler is enabled, " +
                    "then that handler must be disabled and re-enabled for " +
                    "the change to take effect.");
                    "the change to take effect");
    registerMessage(MSGID_CONFIG_SASL_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_SASL_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated SASL mechanism handler.");
                    "the associated SASL mechanism handler");
    registerMessage(MSGID_CONFIG_SASL_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_SASL_CLASS + ":  %s.");
                    "attribute " + ATTR_SASL_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_SASL_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid SASL mechanism handler implementation:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_SASL_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server SASL mechanism " +
                    "handler should be enabled.  Changes to this attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_CONFIG_SASL_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_SASL_ENABLED +
                    " which indicates whether the SASL mechanism handler " +
                    "should be enabled for use in the Directory Server.");
                    "should be enabled for use in the Directory Server");
    registerMessage(MSGID_CONFIG_SASL_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_SASL_ENABLED + ":  %s.");
                    "attribute " + ATTR_SASL_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_SASL_CLASS_ACTION_REQUIRED,
                    "The requested change in the SASL mechanism handler " +
                    "class name from %s to %s in configuration entry %s " +
                    "cannot be dynamically applied.  This change will not " +
                    "take effect until the handler is disabled and " +
                    "re-enabled or the Directory Server is restarted.");
                    "re-enabled or the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_SASL_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a SASL mechanism handler as " +
                    "defined in configuration entry %s:  %s.");
                    "defined in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_SASL_EXISTS,
                    "Unable to add a new SASL mechanism handler entry with " +
                    "DN %s because there is already a handler registered " +
                    "with that DN.");
                    "with that DN");
    registerMessage(MSGID_CONFIG_SASL_UNACCEPTABLE_CONFIG,
                    "The configuration for the SASL mechanism handler " +
                    "defined in configuration entry %s was not acceptable " +
                    "according to its internal validation.  However, no " +
                    "specific information is available regarding the " +
                    "problem(s) with the entry.");
                    "problem(s) with the entry");
    registerMessage(MSGID_CONFIG_LOGGER_INVALID_SUPPRESS_INT_OPERATION_VALUE,
        "Invalid value specified for attribute %s. " +
        "Allowed values are true or false.");
        "Allowed values are true or false");
    registerMessage(MSGID_CONFIG_LOGGER_SUPPRESS_INTERNAL_OPERATIONS,
                    "Indicates whether messages for internal operations " +
                    "should be excluded from the access log file.");
                    "should be excluded from the access log file");
    registerMessage(MSGID_CONFIG_KEYMANAGER_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the key " +
                    "manager provider base entry " +
                    DN_KEYMANAGER_PROVIDER_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_KEYMANAGER_BASE_DOES_NOT_EXIST,
                    "The key manager provider configuration base " +
                    DN_KEYMANAGER_PROVIDER_CONFIG_BASE + " does not exist in " +
                    "the Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_KEYMANAGER_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid key " +
                    "manager provider configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_KEYMANAGER_CANNOT_CREATE_PROVIDER,
                    "An error occurred while attempting to create a " +
                    "Directory Server key manager provider from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_KEYMANAGER_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_KEY_MANAGER_PROVIDER + " objectclass, which is " +
                    "required for key manager provider definitions.");
                    "required for key manager provider definitions");
    registerMessage(MSGID_CONFIG_KEYMANAGER_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_KEYMANAGER_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated key manager provider.");
                    "the associated key manager provider");
    registerMessage(MSGID_CONFIG_KEYMANAGER_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_KEYMANAGER_CLASS + ":  %s.");
                    "attribute " + ATTR_KEYMANAGER_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_KEYMANAGER_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid key manager provider implementation:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_KEYMANAGER_DESCRIPTION_ENABLED,
                    "Indicates whether the Directory Server key manager " +
                    "provider should be enabled.  A key manager provider is " +
@@ -8253,77 +8253,77 @@
                    "key manager (e.g., communication over SSL).  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately, but will only impact future attempts to " +
                    "access the key manager.");
                    "access the key manager");
    registerMessage(MSGID_CONFIG_KEYMANAGER_NO_ENABLED_ATTR,
                    "Configuration entry \"%s\" does not contain a value for " +
                    "attribute " + ATTR_KEYMANAGER_ENABLED +
                    ", which indicates whether the key manager provider is " +
                    "enabled for use in the server.");
                    "enabled for use in the server");
    registerMessage(MSGID_CONFIG_KEYMANAGER_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_KEYMANAGER_ENABLED + ":  %s.");
                    "attribute " + ATTR_KEYMANAGER_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_KEYMANAGER_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that includes the key manager provider implementation.  " +
                    "Changes to this configuration attribute will not take " +
                    "effect until the key manager provider has been disabled " +
                    "and then re-enabled, or until the server is restarted.");
                    "and then re-enabled, or until the server is restarted");
    registerMessage(MSGID_CONFIG_KEYMANAGER_CLASS_ACTION_REQUIRED,
                    "The requested change in the key manager provider class " +
                    "name from %s to %s in configuration entry %s cannot be " +
                    "dynamically applied.  This change will not take effect " +
                    "until the provider is disabled and re-enabled or the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(MSGID_CONFIG_KEYMANAGER_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a key manager provider as " +
                    "defined in configuration entry %s:  %s.");
                    "defined in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_KEYMANAGER_EXISTS,
                    "Unable to add a new key manager provider entry with DN " +
                    "%s because there is already a provider registered with " +
                    "that DN.");
                    "that DN");
    registerMessage(MSGID_CONFIG_KEYMANAGER_UNACCEPTABLE_CONFIG,
                    "The configuration for the key manager provider defined " +
                    "in configuration entry %s was not acceptable according " +
                    "to its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "trust manager provider base entry " +
                    DN_TRUSTMANAGER_PROVIDER_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_BASE_DOES_NOT_EXIST,
                    "The trust manager provider configuration base " +
                    DN_TRUSTMANAGER_PROVIDER_CONFIG_BASE + " does not exist " +
                    "in the Directory Server configuration.  This entry must " +
                    "be present for the server to function properly.");
                    "be present for the server to function properly");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid trust " +
                    "manager provider configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_CANNOT_CREATE_PROVIDER,
                    "An error occurred while attempting to create a " +
                    "Directory Server trust manager provider from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_TRUST_MANAGER_PROVIDER + " objectclass, which is " +
                    "required for trust manager provider definitions.");
                    "required for trust manager provider definitions");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_TRUSTMANAGER_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated trust manager provider.");
                    "the associated trust manager provider");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_TRUSTMANAGER_CLASS + ":  %s.");
                    "attribute " + ATTR_TRUSTMANAGER_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid trust manager provider implementation:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_DESCRIPTION_ENABLED,
                    "Indicates whether the Directory Server trust manager " +
                    "provider should be enabled.  A trust manager provider " +
@@ -8331,77 +8331,77 @@
                    "trust manager (e.g., communication over SSL).  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately, but will only impact future attempts to " +
                    "access the trust manager.");
                    "access the trust manager");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_NO_ENABLED_ATTR,
                    "Configuration entry \"%s\" does not contain a value for " +
                    "attribute " + ATTR_TRUSTMANAGER_ENABLED +
                    ", which indicates whether the trust manager provider is " +
                    "enabled for use in the server.");
                    "enabled for use in the server");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_TRUSTMANAGER_ENABLED + ":  %s.");
                    "attribute " + ATTR_TRUSTMANAGER_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that includes the trust manager provider " +
                    "implementation.  Changes to this configuration " +
                    "attribute will not take effect until the trust manager " +
                    "provider has been disabled and then re-enabled, or " +
                    "until the server is restarted.");
                    "until the server is restarted");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_CLASS_ACTION_REQUIRED,
                    "The requested change in the trust manager provider " +
                    "class name from %s to %s in configuration entry %s " +
                    "cannot be dynamically applied.  This change will not " +
                    "take effect until the provider is disabled and " +
                    "re-enabled or the Directory Server is restarted.");
                    "re-enabled or the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a trust manager provider as " +
                    "defined in configuration entry %s:  %s.");
                    "defined in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_EXISTS,
                    "Unable to add a new trust manager provider entry with " +
                    "DN %s because there is already a provider registered " +
                    "with that DN.");
                    "with that DN");
    registerMessage(MSGID_CONFIG_TRUSTMANAGER_UNACCEPTABLE_CONFIG,
                    "The configuration for the trust manager provider " +
                    "defined in configuration entry %s was not acceptable " +
                    "according to its internal validation.  However, no " +
                    "specific information is available regarding the " +
                    "problem(s) with the entry.");
                    "problem(s) with the entry");
    registerMessage(MSGID_CONFIG_CERTMAPPER_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "certificate mapper base entry " +
                    DN_CERTMAPPER_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_CERTMAPPER_BASE_DOES_NOT_EXIST,
                    "The certificate mapper configuration base " +
                    DN_CERTMAPPER_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_CERTMAPPER_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid " +
                    "certificate mapper configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_CERTMAPPER_CANNOT_CREATE_MAPPER,
                    "An error occurred while attempting to create a " +
                    "Directory Server certificate mapper from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_CERTMAPPER_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_CERTIFICATE_MAPPER + " objectclass, which is required " +
                    "for certificate mapper definitions.");
                    "for certificate mapper definitions");
    registerMessage(MSGID_CONFIG_CERTMAPPER_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_CERTMAPPER_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated certificate mapper.");
                    "the associated certificate mapper");
    registerMessage(MSGID_CONFIG_CERTMAPPER_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_CERTMAPPER_CLASS + ":  %s.");
                    "attribute " + ATTR_CERTMAPPER_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_CERTMAPPER_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid certificate mapper implementation:  %s.");
                    "contain a valid certificate mapper implementation:  %s");
    registerMessage(MSGID_CONFIG_CERTMAPPER_DESCRIPTION_ENABLED,
                    "Indicates whether the Directory Server certificate " +
                    "mapper should be enabled.  A certificate mapper is " +
@@ -8409,194 +8409,194 @@
                    "certificate chain and a user entry in the Directory " +
                    "Server for SASL EXTERNAL authentication and similar " +
                    "purposes.  Changes to this configuration attribute will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_CONFIG_CERTMAPPER_NO_ENABLED_ATTR,
                    "Configuration entry \"%s\" does not contain a value for " +
                    "attribute " + ATTR_CERTMAPPER_ENABLED +
                    ", which indicates whether the certificate mapper is " +
                    "enabled for use in the server.");
                    "enabled for use in the server");
    registerMessage(MSGID_CONFIG_CERTMAPPER_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_CERTMAPPER_ENABLED + ":  %s.");
                    "attribute " + ATTR_CERTMAPPER_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_CERTMAPPER_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that includes the certificate mapper implementation.  " +
                    "Changes to this configuration attribute will not take " +
                    "effect until the certificate mapper has been disabled " +
                    "and then re-enabled, or until the server is restarted.");
                    "and then re-enabled, or until the server is restarted");
    registerMessage(MSGID_CONFIG_CERTMAPPER_CLASS_ACTION_REQUIRED,
                    "The requested change in the certificate mapper class " +
                    "name from %s to %s in configuration entry %s cannot be " +
                    "dynamically applied.  This change will not take effect " +
                    "until the mapper is disabled and re-enabled or the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(MSGID_CONFIG_CERTMAPPER_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a certificate mapper as defined " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_CERTMAPPER_EXISTS,
                    "Unable to add a new certificate mapper entry with DN %s " +
                    "because there is already a mapper registered with that " +
                    "DN.");
                    "DN");
    registerMessage(MSGID_CONFIG_CERTMAPPER_UNACCEPTABLE_CONFIG,
                    "The configuration for the certificate mapper defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_PWSCHEME_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "password storage scheme base entry " +
                    DN_PWSCHEME_CONFIG_BASE + " from the Directory Server " +
                    "configuration:  %s.");
                    "configuration:  %s");
    registerMessage(MSGID_CONFIG_PWSCHEME_BASE_DOES_NOT_EXIST,
                    "The password storage scheme configuration base " +
                    DN_PWSCHEME_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_PWSCHEME_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid " +
                    "password storage scheme configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_PWSCHEME_CANNOT_CREATE_SCHEME,
                    "An error occurred while attempting to create a " +
                    "Directory Server password storage scheme from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_PWSCHEME_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_PASSWORD_STORAGE_SCHEME + " objectclass, which is " +
                    "required for password storage scheme definitions.");
                    "required for password storage scheme definitions");
    registerMessage(MSGID_CONFIG_PWSCHEME_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server password storage scheme.  If this " +
                    "is altered while the associated scheme is enabled, " +
                    "then that storage scheme must be disabled and " +
                    "re-enabled for the change to take effect.");
                    "re-enabled for the change to take effect");
    registerMessage(MSGID_CONFIG_PWSCHEME_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_PWSCHEME_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated password storage scheme.");
                    "the associated password storage scheme");
    registerMessage(MSGID_CONFIG_PWSCHEME_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_PWSCHEME_CLASS + ":  %s.");
                    "attribute " + ATTR_PWSCHEME_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_PWSCHEME_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid password storage scheme " +
                    "implementation:  %s.");
                    "implementation:  %s");
    registerMessage(MSGID_CONFIG_PWSCHEME_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server password " +
                    "storage scheme should be enabled.  Changes to this " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_PWSCHEME_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_PWSCHEME_ENABLED +
                    " which indicates whether the password storage scheme " +
                    "should be enabled for use in the Directory Server.");
                    "should be enabled for use in the Directory Server");
    registerMessage(MSGID_CONFIG_PWSCHEME_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_PWSCHEME_ENABLED + ":  %s.");
                    "attribute " + ATTR_PWSCHEME_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_PWSCHEME_CLASS_ACTION_REQUIRED,
                    "The requested change in the password storage scheme " +
                    "class name from %s to %s in configuration entry %s " +
                    "cannot be dynamically applied.  This change will not " +
                    "take effect until the storage scheme is disabled and " +
                    "re-enabled or the Directory Server is restarted.");
                    "re-enabled or the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_PWSCHEME_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a password storage scheme as " +
                    "defined in configuration entry %s:  %s.");
                    "defined in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_PWSCHEME_EXISTS,
                    "Unable to add a new password storage scheme entry with " +
                    "DN %s because there is already a storage scheme " +
                    "registered with that DN.");
                    "registered with that DN");
    registerMessage(MSGID_CONFIG_PWSCHEME_UNACCEPTABLE_CONFIG,
                    "The configuration for the password storage scheme " +
                    "defined in configuration entry %s was not acceptable " +
                    "according to its internal validation.  However, no " +
                    "specific information is available regarding the " +
                    "problem(s) with the entry.");
                    "problem(s) with the entry");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_GET_MAC,
                    "An error occurred while attempting to obtain the %s MAC " +
                    "provider to create the signed hash for the backup:  %s.");
                    "provider to create the signed hash for the backup:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_GET_DIGEST,
                    "An error occurred while attempting to obtain the %s " +
                    "message digest to create the hash for the backup:  %s.");
                    "message digest to create the hash for the backup:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_CREATE_ARCHIVE_FILE,
                    "An error occurred while trying to create the config " +
                    "archive file %s in directory %s:  %s.");
                    "archive file %s in directory %s:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_GET_CIPHER,
                    "An error occurred while attempting to obtain the %s " +
                    "cipher to use to encrypt the backup:  %s.");
                    "cipher to use to encrypt the backup:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_ZIP_COMMENT,
                    "%s config backup %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_DETERMINE_CONFIG_FILE_LOCATION,
                    "An error occurred while attempting to determine the " +
                    "path to the Directory Server configuration file so that " +
                    "it could be archived:  %s.");
                    "it could be archived:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_BACKUP_CONFIG_FILE,
                    "An error occurred while attempting to back up " +
                    "configuration file %s:  %s.");
                    "configuration file %s:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_BACKUP_ARCHIVED_CONFIGS,
                    "An error occurred while attempting to back up the " +
                    "archived previous configurations from file %s:  %s.");
                    "archived previous configurations from file %s:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_CLOSE_ZIP_STREAM,
                    "An error occurred while trying to close the config " +
                    "archive file %s in directory %s:  %s.");
                    "archive file %s in directory %s:  %s");
    registerMessage(MSGID_CONFIG_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR,
                    "An error occurred while attempting to update the backup " +
                    "descriptor file %s with information about the " +
                    "configuration backup:  %s.");
                    "configuration backup:  %s");
    registerMessage(MSGID_CONFIG_RESTORE_NO_SUCH_BACKUP,
                    "Unable to restore or verify configuration backup %s in " +
                    "directory %s because no such backup exists.");
                    "directory %s because no such backup exists");
    registerMessage(MSGID_CONFIG_RESTORE_NO_BACKUP_FILE,
                    "Unable to restore or verify configuration backup %s in " +
                    "directory %s because the archive filename could not be " +
                    "determined.");
                    "determined");
    registerMessage(MSGID_CONFIG_RESTORE_NO_SUCH_FILE,
                    "Unable to restore or verify configuration backup %s " +
                    "because the specified archive file %s does not exist.");
                    "because the specified archive file %s does not exist");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_CHECK_FOR_ARCHIVE,
                    "Unable to restore or verify configuration backup %s " +
                    "because an error occurred while trying to determine " +
                    "whether backup archive %s exists:  %s.");
                    "whether backup archive %s exists:  %s");
    registerMessage(MSGID_CONFIG_RESTORE_UNKNOWN_DIGEST,
                    "Unable to restore or verify configuration backup %s " +
                    "because an unsigned hash of this backup is available " +
                    "but the server cannot determine the digest algorithm " +
                    "used to generate this hash.");
                    "used to generate this hash");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_GET_DIGEST,
                    "Unable to restore or verify configuration backup %s " +
                    "because it has an unsigned hash that uses an unknown or " +
                    "unsupported digest algorithm of %s.");
                    "unsupported digest algorithm of %s");
    registerMessage(MSGID_CONFIG_RESTORE_UNKNOWN_MAC,
                    "Unable to restore or verify configuration backup %s " +
                    "because a signed hash of this backup is available but " +
                    "the server cannot determine the MAC algorithm used to " +
                    "generate this hash.");
                    "generate this hash");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_GET_MAC,
                    "Unable to restore or verify configuration backup %s " +
                    "because it has a signed hash that uses an unknown or " +
                    "unsupported MAC algorithm of %s.");
                    "unsupported MAC algorithm of %s");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_OPEN_BACKUP_FILE,
                    "Unable to restore or verify configuration backup %s " +
                    "because an error occurred while attempting to open the " +
                    "backup archive file %s:  %s.");
                    "backup archive file %s:  %s");
    registerMessage(MSGID_CONFIG_RESTORE_UNKNOWN_CIPHER,
                    "Unable to restore or verify configuration backup %s " +
                    "because it is encrypted but the server cannot determine " +
                    "the cipher used to perform this encryption.");
                    "the cipher used to perform this encryption");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_GET_CIPHER,
                    "Unable to restore or verify configuration backup %s " +
                    "because it is encrypted using an unknown or unsupported " +
                    "cipher of %s.");
                    "cipher of %s");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_BACKUP_EXISTING_CONFIG,
                    "Unable to restore configuration backup %s because an " +
                    "error occurred while attempting to temporarily back up " +
@@ -8606,530 +8606,530 @@
                    "backup from being properly restored.  However, the " +
                    "original configuration files that were in place before " +
                    "the start of the restore process have been preserved " +
                    "and are now in their original location of %s.");
                    "and are now in their original location of %s");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_RESTORE_OLD_CONFIG,
                    "An error occurred that prevented the configuration " +
                    "backup from being properly restored.  The original " +
                    "configuration files that were in place before the start " +
                    "of the restore process have been preserved and are " +
                    "contained in the %s directory.");
                    "contained in the %s directory");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_CREATE_CONFIG_DIRECTORY,
                    "Unable to restore configuration backup %s because an " +
                    "error occurred while attempting to create a new empty " +
                    "directory %s into which the files should be restored:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CONFIG_RESTORE_OLD_CONFIG_SAVED,
                    "An error occurred that prevented the configuration " +
                    "backup from being properly restored.  The original " +
                    "configuration files that were in place before the start " +
                    "of the restore process have been preserved in the %s " +
                    "directory.");
                    "directory");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_GET_ZIP_ENTRY,
                    "Unable to restore or verify configuration backup %s " +
                    "because an error occurred while trying to read the next " +
                    "entry from the archive file %s:  %s.");
                    "entry from the archive file %s:  %s");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_CREATE_FILE,
                    "Unable to restore configuration backup %s because an " +
                    "error occurred while trying to recreate file %s:  %s.");
                    "error occurred while trying to recreate file %s:  %s");
    registerMessage(MSGID_CONFIG_RESTORE_CANNOT_PROCESS_ARCHIVE_FILE,
                    "Unable to restore or verify configuration backup %s " +
                    "because an error occurred while processing archived " +
                    "file %s:  %s.");
                    "file %s:  %s");
    registerMessage(MSGID_CONFIG_RESTORE_ERROR_ON_ZIP_STREAM_CLOSE,
                    "Unable to restore or verify configuration backup %s " +
                    "because an unexpected error occurred while trying to " +
                    "close the archive file %s:  %s.");
                    "close the archive file %s:  %s");
    registerMessage(MSGID_CONFIG_RESTORE_UNSIGNED_HASH_VALID,
                    "The message digest calculated from the backup archive " +
                    "matches the digest stored with the backup information.");
                    "matches the digest stored with the backup information");
    registerMessage(MSGID_CONFIG_RESTORE_UNSIGNED_HASH_INVALID,
                    "Unable to restore or verify configuration backup %s " +
                    "because the message digest calculated from the backup " +
                    "archive does not match the digest stored with the " +
                    "backup information.");
                    "backup information");
    registerMessage(MSGID_CONFIG_RESTORE_SIGNED_HASH_VALID,
                    "The signed digest calculated from the backup archive " +
                    "matches the signature stored with the backup " +
                    "information.");
                    "information");
    registerMessage(MSGID_CONFIG_RESTORE_SIGNED_HASH_INVALID,
                    "Unable to restore or verify configuration backup %s " +
                    "because the signed digest calculated from the backup " +
                    "archive does not match the signature stored with the " +
                    "backup information.");
                    "backup information");
    registerMessage(MSGID_CONFIG_RESTORE_VERIFY_SUCCESSFUL,
                    "All tests performed on configuration backup %s from " +
                    "directory %s show that the archive appears to be valid.");
                    "directory %s show that the archive appears to be valid");
    registerMessage(MSGID_CONFIG_RESTORE_SUCCESSFUL,
                    "Configuration backup %s was successfully restored from " +
                    "the archive in directory %s.");
                    "the archive in directory %s");
    registerMessage(MSGID_CONFIG_IDMAPPER_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "identity mapper base entry " + DN_IDMAPPER_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_IDMAPPER_BASE_DOES_NOT_EXIST,
                    "The identity mapper configuration base " +
                    DN_IDMAPPER_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_IDMAPPER_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid " +
                    "identity mapper configuration:  %s.  It will be ignored.");
                    "identity mapper configuration:  %s.  It will be ignored");
    registerMessage(MSGID_CONFIG_IDMAPPER_CANNOT_CREATE_MAPPER,
                    "An error occurred while attempting to create a " +
                    "Directory Server identity mapper from the information " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_IDMAPPER_NO_PROXY_MAPPER_DN,
                    "The Directory Server does not have any identity mapper " +
                    "configured for use in conjunction with proxied " +
                    "authorization V2 operations.  The Directory Server " +
                    "will not be able to process requests containing the " +
                    "proxied authorization control with a username-based " +
                    "authorization ID.");
                    "authorization ID");
    registerMessage(MSGID_CONFIG_IDMAPPER_INVALID_PROXY_MAPPER_DN,
                    "The configured proxied authorization identity mapper DN " +
                    "%s does not refer to an active identity mapper.  The " +
                    "Directory Server will not be able to process requests " +
                    "containing the proxied authorization control with a " +
                    "username-based authorization ID.");
                    "username-based authorization ID");
    registerMessage(MSGID_CONFIG_IDMAPPER_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_IDENTITY_MAPPER + " objectclass, which is " +
                    "required for identity mapper definitions.");
                    "required for identity mapper definitions");
    registerMessage(MSGID_CONFIG_IDMAPPER_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "a Directory Server identity mapper.  If this is altered " +
                    "while the associated identity mapper is enabled, then " +
                    "that mapper must be disabled and re-enabled for the " +
                    "change to take effect.");
                    "change to take effect");
    registerMessage(MSGID_CONFIG_IDMAPPER_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_IDMAPPER_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated identity mapper.");
                    "the associated identity mapper");
    registerMessage(MSGID_CONFIG_IDMAPPER_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_IDMAPPER_CLASS + ":  %s.");
                    "attribute " + ATTR_IDMAPPER_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_IDMAPPER_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid identity mapper implementation:  %s.");
                    "contain a valid identity mapper implementation:  %s");
    registerMessage(MSGID_CONFIG_IDMAPPER_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server identity mapper " +
                    "should be enabled.  Changes to this attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_CONFIG_IDMAPPER_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_IDMAPPER_ENABLED +
                    " which indicates whether the identity mapper should be " +
                    "enabled for use in the Directory Server.");
                    "enabled for use in the Directory Server");
    registerMessage(MSGID_CONFIG_IDMAPPER_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_IDMAPPER_ENABLED + ":  %s.");
                    "attribute " + ATTR_IDMAPPER_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_IDMAPPER_CLASS_ACTION_REQUIRED,
                    "The requested change in the identity mapper class name " +
                    "from %s to %s in configuration entry %s cannot be " +
                    "dynamically applied.  This change will not take effect " +
                    "until the identity mapper is disabled and re-enabled or " +
                    "the Directory Server is restarted.");
                    "the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_IDMAPPER_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as an identity mapper as defined " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_IDMAPPER_EXISTS,
                    "Unable to add a new identity mapper entry with DN %s " +
                    "because there is already an identity mapper registered " +
                    "with that DN.");
                    "with that DN");
    registerMessage(MSGID_CONFIG_IDMAPPER_UNACCEPTABLE_CONFIG,
                    "The configuration for the identity mapper defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_SYNCH_CANNOT_GET_CONFIG_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "Directory Server synchronization provider configuration " +
                    "base entry " + DN_SYNCHRONIZATION_PROVIDER_BASE +
                    ":  %s.");
                    ":  %s");
    registerMessage(MSGID_CONFIG_SYNCH_BASE_DOES_NOT_EXIST,
                    "The Directory Server synchronization provider " +
                    "base entry " + DN_SYNCHRONIZATION_PROVIDER_BASE +
                    " does not exist.  This entry must be  present in the " +
                    "Directory Server configuration.");
                    "Directory Server configuration");
    registerMessage(MSGID_CONFIG_SYNCH_ENTRY_DOES_NOT_HAVE_PROVIDER_CONFIG,
                    "Configuration entry %s exists below the Directory " +
                    "Server synchronization provider root but does not " +
                    "contain attribute " + OC_SYNCHRONIZATION_PROVIDER +
                    " which must be present in all synchronization provider " +
                    "configuration entries.");
                    "configuration entries");
    registerMessage(MSGID_CONFIG_SYNCH_CANNOT_CHECK_FOR_PROVIDER_CONFIG_OC,
                    "An error occurred while attempting to determine whether " +
                    "configuration entry %s was a valid Directory Server " +
                    "synchronization provider:  %s.");
                    "synchronization provider:  %s");
    registerMessage(MSGID_CONFIG_SYNCH_DESCRIPTION_PROVIDER_ENABLED,
                    "Indicates whether the associated Directory Server " +
                    "synchronization provider is enabled and should be used " +
                    "by the server.  This attribute must be present in all " +
                    "synchronization provider entries and may not be changed " +
                    "while the Directory Server is running.");
                    "while the Directory Server is running");
    registerMessage(MSGID_CONFIG_SYNCH_PROVIDER_NO_ENABLED_ATTR,
                    "Synchronization provider configuration entry %s does " +
                    "not contain attribute " +
                    ATTR_SYNCHRONIZATION_PROVIDER_ENABLED +
                    " which indicates whether the synchronization provider " +
                    "is enabled for use.");
                    "is enabled for use");
    registerMessage(MSGID_CONFIG_SYNCH_PROVIDER_DISABLED,
                    "The Directory Server synchronization provider defined " +
                    "in configuration entry %s is disabled.  This " +
                    "provider will not be used.");
                    "provider will not be used");
    registerMessage(MSGID_CONFIG_SYNCH_UNABLE_TO_DETERMINE_ENABLED_STATE,
                    "An error occurred while attempting to determine whether " +
                    "the Directory Server synchronization provider defined " +
                    "in configuration entry %s should be enabled:  %s.");
                    "in configuration entry %s should be enabled:  %s");
    registerMessage(MSGID_CONFIG_SYNCH_DESCRIPTION_PROVIDER_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that will provide the logic for the Directory Server " +
                    "synchronization provider.  This attribute must be " +
                    "present in all synchronization provider entries and may " +
                    "not be changed while the Directory Server is running.");
                    "not be changed while the Directory Server is running");
    registerMessage(MSGID_CONFIG_SYNCH_NO_CLASS_ATTR,
                    "Synchronization provider configuration entry %s does " +
                    "not contain attribute " +
                    ATTR_SYNCHRONIZATION_PROVIDER_CLASS +
                    " which specifies the name of the class that implements " +
                    "the synchronization provider logic.");
                    "the synchronization provider logic");
    registerMessage(MSGID_CONFIG_SYNCH_UNABLE_TO_DETERMINE_CLASS,
                    "An error occurred while attempting to determine the " +
                    "name of the class used to provide the Directory Server " +
                    "synchronization provider logic from configuration " +
                    "entry %s:  %s.");
                    "entry %s:  %s");
    registerMessage(MSGID_CONFIG_SYNCH_UNABLE_TO_LOAD_PROVIDER_CLASS,
                    "An error occurred while attempting to load class %s " +
                    "referenced in synchronization provider configuration " +
                    "entry %s:  %s.");
                    "entry %s:  %s");
    registerMessage(MSGID_CONFIG_SYNCH_UNABLE_TO_INSTANTIATE_PROVIDER,
                    "An error occurred while attempting to instantiate " +
                    "class %s referenced in synchronization provider " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_SYNCH_ERROR_INITIALIZING_PROVIDER,
                    "An error occurred while attempting to initialize the " +
                    "Directory Server synchronization provider referenced " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_SYNCH_PROVIDER_HAS_BEEN_DISABLED,
                    "The synchronization provider defined in configuration " +
                    "entry %s is currently enabled but the configuration has " +
                    "changed so that it should be disabled.  This will not " +
                    "take effect until the Directory Server is restarted.");
                    "take effect until the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_SYNCH_PROVIDER_CLASS_CHANGED,
                    "The Java class providing the logic for the " +
                    "synchronization provider defined in configuration entry " +
                    "%s has changed from %s to %s.  This will not take " +
                    "effect until the Directory Server is restarted.");
                    "effect until the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "password validator base entry " +
                    DN_PWVALIDATOR_CONFIG_BASE + " from the Directory Server " +
                    "configuration:  %s.");
                    "configuration:  %s");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_BASE_DOES_NOT_EXIST,
                    "The password validator configuration base " +
                    DN_PWVALIDATOR_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid " +
                    "password validator configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_CANNOT_CREATE_VALIDATOR,
                    "An error occurred while attempting to create a " +
                    "Directory Server password validator from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_PASSWORD_VALIDATOR + " objectclass, which is required " +
                    "for password validator definitions.");
                    "for password validator definitions");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server password validator.  If this is " +
                    "altered while the associated validator is enabled, then " +
                    "that validator must be disabled and re-enabled for the " +
                    "change to take effect.");
                    "change to take effect");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_PWVALIDATOR_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated password validator.");
                    "the associated password validator");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_PWVALIDATOR_CLASS + ":  %s.");
                    "attribute " + ATTR_PWVALIDATOR_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid password validator implementation:  %s.");
                    "contain a valid password validator implementation:  %s");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server password " +
                    "validator should be enabled.  Changes to this attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_PWVALIDATOR_ENABLED +
                    " which indicates whether the password validator should " +
                    "be enabled for use in the Directory Server.");
                    "be enabled for use in the Directory Server");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_PWVALIDATOR_ENABLED + ":  %s.");
                    "attribute " + ATTR_PWVALIDATOR_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_CLASS_ACTION_REQUIRED,
                    "The requested change in the password validator class " +
                    "name from %s to %s in configuration entry %s cannot be " +
                    "dynamically applied.  This change will not take effect " +
                    "until the validator is disabled and re-enabled or the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a password validator as defined " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_EXISTS,
                    "Unable to add a new password validator entry with DN %s " +
                    "because there is already a validator registered with " +
                    "that DN.");
                    "that DN");
    registerMessage(MSGID_CONFIG_PWVALIDATOR_UNACCEPTABLE_CONFIG,
                    "The configuration for the password validator defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_PWGENERATOR_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "password generator base entry " +
                    DN_PWGENERATOR_CONFIG_BASE + " from the Directory Server " +
                    "configuration:  %s.");
                    "configuration:  %s");
    registerMessage(MSGID_CONFIG_PWGENERATOR_BASE_DOES_NOT_EXIST,
                    "The password generator configuration base " +
                    DN_PWGENERATOR_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_PWGENERATOR_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid " +
                    "password generator configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_PWGENERATOR_CANNOT_CREATE_GENERATOR,
                    "An error occurred while attempting to create a " +
                    "Directory Server password generator from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_PWGENERATOR_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_PASSWORD_GENERATOR + " objectclass, which is required " +
                    "for password generator definitions.");
                    "for password generator definitions");
    registerMessage(MSGID_CONFIG_PWGENERATOR_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server password generator.  If this is " +
                    "altered while the associated generator is enabled, then " +
                    "that generator must be disabled and re-enabled for the " +
                    "change to take effect.");
                    "change to take effect");
    registerMessage(MSGID_CONFIG_PWGENERATOR_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_PWGENERATOR_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated password generator.");
                    "the associated password generator");
    registerMessage(MSGID_CONFIG_PWGENERATOR_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_PWGENERATOR_CLASS + ":  %s.");
                    "attribute " + ATTR_PWGENERATOR_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_PWGENERATOR_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid password generator implementation:  %s.");
                    "contain a valid password generator implementation:  %s");
    registerMessage(MSGID_CONFIG_PWGENERATOR_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server password " +
                    "generator should be enabled.  Changes to this attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_CONFIG_PWGENERATOR_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " + ATTR_PWGENERATOR_ENABLED +
                    " which indicates whether the password generator should " +
                    "be enabled for use in the Directory Server.");
                    "be enabled for use in the Directory Server");
    registerMessage(MSGID_CONFIG_PWGENERATOR_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_PWGENERATOR_ENABLED + ":  %s.");
                    "attribute " + ATTR_PWGENERATOR_ENABLED + ":  %s");
    registerMessage(MSGID_CONFIG_PWGENERATOR_CLASS_ACTION_REQUIRED,
                    "The requested change in the password generator class " +
                    "name from %s to %s in configuration entry %s cannot be " +
                    "dynamically applied.  This change will not take effect " +
                    "until the generator is disabled and re-enabled or the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(MSGID_CONFIG_PWGENERATOR_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a password generator as defined " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_PWGENERATOR_EXISTS,
                    "Unable to add a new password generator entry with DN %s " +
                    "because there is already a generator registered with " +
                    "that DN.");
                    "that DN");
    registerMessage(MSGID_CONFIG_PWGENERATOR_UNACCEPTABLE_CONFIG,
                    "The configuration for the password generator defined in " +
                    "configuration entry %s was not acceptable according to " +
                    "its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(MSGID_CONFIG_PWPOLICY_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "password policy base entry " + DN_PWPOLICY_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_PWPOLICY_BASE_DOES_NOT_EXIST,
                    "The password policy configuration base " +
                    DN_PWPOLICY_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_PWPOLICY_NO_POLICIES,
                    "No password policies have been defined below the " +
                    DN_PWPOLICY_CONFIG_BASE + " entry in the Directory " +
                    "Server configuration.  At least one password policy " +
                    "configuration must be defined.");
                    "configuration must be defined");
    registerMessage(MSGID_CONFIG_PWPOLICY_NO_DEFAULT_POLICY,
                    "No default password policy is configured for the " +
                    "Directory Server.  The default password policy must be " +
                    "specified by the " + ATTR_DEFAULT_PWPOLICY_DN +
                    " attribute in the " + DN_CONFIG_ROOT + " entry.");
                    " attribute in the " + DN_CONFIG_ROOT + " entry");
    registerMessage(MSGID_CONFIG_PWPOLICY_INVALID_POLICY_CONFIG,
                    "The password policy defined in configuration entry %s " +
                    "is invalid:  %s.");
                    "is invalid:  %s");
    registerMessage(MSGID_CONFIG_PWPOLICY_MISSING_DEFAULT_POLICY,
                    "The Directory Server default password policy is " +
                    "defined as %s, but that entry does not exist or is not " +
                    "below the password policy configuration base " +
                    DN_PWPOLICY_CONFIG_BASE + ".");
                    DN_PWPOLICY_CONFIG_BASE + "");
    registerMessage(MSGID_CONFIG_PWPOLICY_CANNOT_DELETE_DEFAULT_POLICY,
                    "The specified entry %s is currently defined as the " +
                    "configuration entry for the default password policy.  " +
                    "The default password policy configuration entry may not " +
                    "be removed.");
                    "be removed");
    registerMessage(MSGID_CONFIG_PWPOLICY_REMOVED_POLICY,
                    "Password policy entry %s has been removed from the " +
                    "Directory Server configuration.  Any user entries that " +
                    "explicitly reference this password policy will no " +
                    "longer be allowed to authenticate.");
                    "longer be allowed to authenticate");
    registerMessage(MSGID_CONFIG_AUTHZ_CANNOT_GET_ENTRY,
        "An error occurred while attempting to retrieve the "
            + "Directory Server access control configuration entry "
            + DN_AUTHZ_HANDLER_CONFIG + ":  %s.");
            + DN_AUTHZ_HANDLER_CONFIG + ":  %s");
    registerMessage(MSGID_CONFIG_AUTHZ_ENTRY_DOES_NOT_EXIST,
        "The Directory Server access control configuration entry "
            + DN_AUTHZ_HANDLER_CONFIG
            + " does not exist.  This entry must be present in the "
            + "Directory Server configuration.");
            + "Directory Server configuration");
    registerMessage(MSGID_CONFIG_AUTHZ_ENTRY_DOES_NOT_HAVE_OBJECT_CLASS,
        "The Directory Server access control configuration entry "
            + DN_AUTHZ_HANDLER_CONFIG
            + " does not have the correct object class.  This entry must"
            + " have the object class " + OC_AUTHZ_HANDLER_CONFIG
            + " in order to be valid.");
            + " in order to be valid");
    registerMessage(MSGID_CONFIG_AUTHZ_DESCRIPTION_ENABLED,
        "Indicates whether access control is enabled and should be used "
            + "by the server.  This attribute is mandatory.");
            + "by the server.  This attribute is mandatory");
    registerMessage(MSGID_CONFIG_AUTHZ_NO_ENABLED_ATTR,
        "The access control configuration entry %s does "
            + "not contain attribute " + ATTR_AUTHZ_HANDLER_ENABLED
            + " which indicates whether the access control "
            + "is enabled for use.");
            + "is enabled for use");
    registerMessage(MSGID_CONFIG_AUTHZ_DISABLED,
        "Access control has been disabled.");
        "Access control has been disabled");
    registerMessage(MSGID_CONFIG_AUTHZ_ENABLED,
        "Access control has been enabled and will use the %s "
            + "implementation.");
            + "implementation");
    registerMessage(MSGID_CONFIG_AUTHZ_UNABLE_TO_DETERMINE_ENABLED_STATE,
        "An error occurred while attempting to determine whether "
            + "the Directory Server access control as defined "
            + "in configuration entry %s should be enabled:  %s.");
            + "in configuration entry %s should be enabled:  %s");
    registerMessage(MSGID_CONFIG_AUTHZ_DESCRIPTION_CLASS,
        "Specifies the fully-qualified name of the Java class "
            + "that will provide the access control implementation for "
            + "the Directory Server. This attribute is mandatory.");
            + "the Directory Server. This attribute is mandatory");
    registerMessage(MSGID_CONFIG_AUTHZ_NO_CLASS_ATTR,
        "The access control configuration entry %s does "
            + "not contain attribute "
            + ATTR_AUTHZ_HANDLER_CLASS
            + " which specifies the name of the Java class providing"
            + " the access control implementation for the Directory Server.");
            + " the access control implementation for the Directory Server");
    registerMessage(MSGID_CONFIG_AUTHZ_UNABLE_TO_DETERMINE_CLASS,
        "An error occurred while attempting to determine the "
            + "name of the class used to provide the Directory Server "
            + "access control implementation from configuration "
            + "entry %s:  %s.");
            + "entry %s:  %s");
    registerMessage(MSGID_CONFIG_AUTHZ_UNABLE_TO_LOAD_CLASS,
        "An error occurred while attempting to load class %s "
            + "referenced in the access control configuration "
            + "entry %s:  %s.");
            + "entry %s:  %s");
    registerMessage(MSGID_CONFIG_AUTHZ_BAD_CLASS,
        "The access control implementation class %s "
            + "referenced in the access control configuration "
            + "entry %s does not implement the %s interface:  %s.");
            + "entry %s does not implement the %s interface:  %s");
    registerMessage(MSGID_CONFIG_AUTHZ_UNABLE_TO_INSTANTIATE_HANDLER,
        "An error occurred while attempting to instantiate "
            + "class %s referenced in the access control configuration "
            + "entry %s:  %s.");
            + "entry %s:  %s");
    registerMessage(MSGID_CONFIG_AUTHZ_ERROR_INITIALIZING_HANDLER,
        "An error occurred while attempting to initialize the "
            + "Directory Server access control implementation referenced "
            + "in configuration entry %s:  %s.");
            + "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_ROOTDN_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "root DN base entry " + DN_ROOT_DN_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_ROOTDN_BASE_DOES_NOT_EXIST,
                    "The password policy configuration base " +
                    DN_ROOT_DN_CONFIG_BASE + " does not exist in the " +
                    "Directory Server configuration.  This entry must be " +
                    "present for the server to function properly.");
                    "present for the server to function properly");
    registerMessage(MSGID_CONFIG_ROOTDN_DESCRIPTION_ROOT_PRIVILEGE,
                    "Specifies the set of privileges that should " +
                    "automatically be assigned to root users when they " +
                    "authenticate to the server.");
                    "authenticate to the server");
    registerMessage(MSGID_CONFIG_ROOTDN_UNRECOGNIZED_PRIVILEGE,
                    "The set of default root privileges contained in " +
                    "configuration attribute %s of entry %s contains an " +
                    "unrecognized privilege %s.");
                    "unrecognized privilege %s");
    registerMessage(MSGID_CONFIG_ROOTDN_ERROR_DETERMINING_ROOT_PRIVILEGES,
                    "An error occurred while attempting to determine the " +
                    "set of privileges that root users should be granted by " +
                    "default:  %s.");
                    "default:  %s");
    registerMessage(MSGID_CONFIG_ROOTDN_UPDATED_PRIVILEGES,
                    "The set of privileges that will automatically be " +
                    "assigned to root users has been updated.  This new " +
                    "privilege set will not apply to any existing " +
                    "connection already authenticated as a root user, but " +
                    "will used for any subsequent root user authentications.");
                    "will used for any subsequent root user authentications");
    registerMessage(MSGID_CONFIG_ROOTDN_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid root DN " +
                    "configuration:  %s.  It will be ignored.");
                    "configuration:  %s.  It will be ignored");
    registerMessage(MSGID_CONFIG_ROOTDN_CANNOT_CREATE,
                    "An error occurred while attempting to create a " +
                    "Directory Server root DN from the information in " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_ROOTDN_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_ROOT_DN + " objectclass, which is required for " +
                    "Directory Server root DN definitions.");
                    "Directory Server root DN definitions");
    registerMessage(MSGID_CONFIG_ROOTDN_DESCRIPTION_ALTERNATE_BIND_DN,
                    "Specifies one or more alternate bind DNs that may be " +
                    "used to authenticate as the associated root DN, in " +
@@ -9138,102 +9138,102 @@
                    "DNs of any other entries in the directory, nor can they " +
                    "conflict with other alternate bind DNs configured for " +
                    "other root DNs.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_ROOTDN_CONFLICTING_MAPPING,
                    "Unable to register \"%s\" as an alternate bind DN for " +
                    "user \"%s\" because it is already registered as an " +
                    "alternate bind DN for root user \"%s\".");
                    "alternate bind DN for root user \"%s\"");
    registerMessage(MSGID_CONFIG_ROOTDN_CANNOT_PARSE_ALTERNATE_BIND_DNS,
                    "An error occurred while trying to parse the set of " +
                    "alternate bind DNs for root user %s:  %s.");
                    "alternate bind DNs for root user %s:  %s");
    registerMessage(MSGID_CONFIG_ROOTDN_CANNOT_REGISTER_ALTERNATE_BIND_DN,
                    "An error occurred while trying to register\"%s\" as an " +
                    "alternate bind DN for root user \"%s\":  %s.");
                    "alternate bind DN for root user \"%s\":  %s");
    registerMessage(MSGID_CONFIG_ROOTDN_EXISTS,
                    "Unable to add root DN entry %s because another root " +
                    "user is already registered with that DN.");
                    "user is already registered with that DN");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "account status notification handler base entry " +
                    DN_ACCT_NOTIFICATION_HANDLER_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_BASE_DOES_NOT_EXIST,
                    "The account status notification handler configuration " +
                    "base " + DN_ACCT_NOTIFICATION_HANDLER_CONFIG_BASE +
                    " does not exist in the Directory Server configuration.  " +
                    "This entry must be present for the server to function " +
                    "properly.");
                    "properly");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid " +
                    "account status notification handler configuration:  " +
                    "%s.  It will be ignored.");
                    "%s.  It will be ignored");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_CANNOT_CREATE_HANDLER,
                    "An error occurred while attempting to create a " +
                    "Directory Server account status notification handler " +
                    "from the information in configuration entry %s:  %s.");
                    "from the information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_ACCT_NOTIFICATION_HANDLER + " objectclass, which is " +
                    "required for account status notification handler " +
                    "definitions.");
                    "definitions");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server account status notification " +
                    "handler.  If this is altered while the associated " +
                    "notification handler is enabled, then that handler must " +
                    "be disabled and re-enabled for the change to take " +
                    "effect.");
                    "effect");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " +
                    ATTR_ACCT_NOTIFICATION_HANDLER_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated account status notification handler.");
                    "the associated account status notification handler");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_ACCT_NOTIFICATION_HANDLER_CLASS +
                    ":  %s.");
                    ":  %s");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid account status notification handler " +
                    "implementation:  %s.");
                    "implementation:  %s");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server account status " +
                    "notification handler should be enabled.  Changes to " +
                    "this attribute will take effect immediately.");
                    "this attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " +
                    ATTR_ACCT_NOTIFICATION_HANDLER_ENABLED +
                    " which indicates whether the account status " +
                    "notification handler should be enabled for use in the " +
                    "Directory Server.");
                    "Directory Server");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_ACCT_NOTIFICATION_HANDLER_ENABLED +
                    ":  %s.");
                    ":  %s");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_CLASS_ACTION_REQUIRED,
                    "The requested change in the account status notification " +
                    "handler class name from %s to %s in configuration entry " +
                    "%s cannot be dynamically applied.  This change will not " +
                    "take effect until the notification handler is disabled " +
                    "and re-enabled or the Directory Server is restarted.");
                    "and re-enabled or the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as an account status notification " +
                    "handler as defined in configuration entry %s:  %s.");
                    "handler as defined in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_EXISTS,
                    "Unable to add a new account status notification handler " +
                    "entry with DN %s because there is already a " +
                    "notification handler registered with that DN.");
                    "notification handler registered with that DN");
    registerMessage(MSGID_CONFIG_ACCTNOTHANDLER_UNACCEPTABLE_CONFIG,
                    "The configuration for the account status notification " +
                    "handler defined in configuration entry %s was not " +
                    "acceptable according to its internal validation.  " +
                    "However, no specific information is available regarding " +
                    "the problem(s) with the entry.");
                    "the problem(s) with the entry");
    registerMessage(MSGID_CONFIG_CORE_DESCRIPTION_LOOKTHROUGH_LIMIT,
                    "Specifies the default maximum number of candidate " +
                    "entries checked for matches when processing a search " +
@@ -9241,13 +9241,13 @@
                    "by including the " + OP_ATTR_USER_LOOKTHROUGH_LIMIT +
                    " operational attribute in the user's entry.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_CORE_INVALID_LOOKTHROUGH_LIMIT,
                    "Configuration entry %s has an invalid value for " +
                    "configuration attribute " + ATTR_LOOKTHROUGH_LIMIT +
                    " (It should be a positive integer value specifying " +
                    "the lookthrough limit to use, or a value of 0 or -1 to " +
                    "indicate that no limit should be enforced):  %s.");
                    "indicate that no limit should be enforced):  %s");
    registerMessage(MSGID_CONFIG_DESCRIPTION_BACKEND_MODE,
                    "The permissions used for the directory containing the " +
                    "backend database files");
@@ -9259,83 +9259,83 @@
    registerMessage(MSGID_CONFIG_BACKEND_INSANE_MODE,
                   "Unable to set the requested file permissions to the " +
                   "backend database directory. The requested permissions " +
                   "will result in an inaccessable database.");
                   "will result in an inaccessable database");
    registerMessage(MSGID_CONFIG_GROUP_CANNOT_GET_BASE,
                    "An error occurred while attempting to retrieve the " +
                    "group implementation base entry " +
                    DN_GROUP_IMPLEMENTATION_CONFIG_BASE +
                    " from the Directory Server configuration:  %s.");
                    " from the Directory Server configuration:  %s");
    registerMessage(MSGID_CONFIG_GROUP_BASE_DOES_NOT_EXIST,
                    "The group implementation configuration base " +
                    DN_GROUP_IMPLEMENTATION_CONFIG_BASE + " does not exist " +
                    "in the Directory Server configuration.  This entry must " +
                    "be present for the server to function properly.");
                    "be present for the server to function properly");
    registerMessage(MSGID_CONFIG_GROUP_ENTRY_UNACCEPTABLE,
                    "Configuration entry %s does not contain a valid " +
                    "group implementation configuration:  %s.  It will be " +
                    "ignored.");
                    "ignored");
    registerMessage(MSGID_CONFIG_GROUP_CANNOT_CREATE_IMPLEMENTATION,
                    "An error occurred while attempting to create a " +
                    "Directory Server group implementation from the " +
                    "information in configuration entry %s:  %s.");
                    "information in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_GROUP_INVALID_OBJECTCLASS,
                    "Configuration entry %s does not contain the " +
                    OC_GROUP_IMPLEMENTATION + " objectclass, which is " +
                    "required for group implementation definitions.");
                    "required for group implementation definitions");
    registerMessage(MSGID_CONFIG_GROUP_DESCRIPTION_CLASS_NAME,
                    "The fully-qualified name of the Java class that defines " +
                    "the Directory Server group implementation.  If this is " +
                    "while the associated implementation is enabled, then " +
                    "that group implementation must be disabled and " +
                    "re-enabled for the change to take effect.");
                    "re-enabled for the change to take effect");
    registerMessage(MSGID_CONFIG_GROUP_NO_CLASS_NAME,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " +
                    ATTR_GROUP_IMPLEMENTATION_CLASS +
                    " which specifies the fully-qualified class name for " +
                    "the associated group implementation.");
                    "the associated group implementation");
    registerMessage(MSGID_CONFIG_GROUP_INVALID_CLASS_NAME,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_GROUP_IMPLEMENTATION_CLASS + ":  %s.");
                    "attribute " + ATTR_GROUP_IMPLEMENTATION_CLASS + ":  %s");
    registerMessage(MSGID_CONFIG_GROUP_INVALID_CLASS,
                    "Class %s specified in configuration entry %s does not " +
                    "contain a valid group implementation:  %s.");
                    "contain a valid group implementation:  %s");
    registerMessage(MSGID_CONFIG_GROUP_DESCRIPTION_ENABLED,
                    "Indicates whether this Directory Server group " +
                    "implementation should be enabled.  Changes to this " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_CONFIG_GROUP_NO_ENABLED_ATTR,
                    "Configuration entry %s does not contain a valid value " +
                    "for configuration attribute " +
                    ATTR_GROUP_IMPLEMENTATION_ENABLED +
                    " which indicates whether the group implementation " +
                    "should be enabled for use in the Directory Server.");
                    "should be enabled for use in the Directory Server");
    registerMessage(MSGID_CONFIG_GROUP_INVALID_ENABLED_VALUE,
                    "Configuration entry %s has an invalid value for " +
                    "attribute " + ATTR_GROUP_IMPLEMENTATION_ENABLED +
                    ":  %s.");
                    ":  %s");
    registerMessage(MSGID_CONFIG_GROUP_CLASS_ACTION_REQUIRED,
                    "The requested change in the group implementation class " +
                    "name from %s to %s in configuration entry %s cannot be " +
                    "dynamically applied.  This change will not take effect " +
                    "until the group implementation is disabled and " +
                    "re-enabled or the Directory Server is restarted.");
                    "re-enabled or the Directory Server is restarted");
    registerMessage(MSGID_CONFIG_GROUP_INITIALIZATION_FAILED,
                    "An error occurred while trying to initialize an " +
                    "instance of class %s as a group implementation as " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_CONFIG_GROUP_EXISTS,
                    "Unable to add a new group implementation entry with DN " +
                    "%s because there is already a group implementation " +
                    "registered with that DN.");
                    "registered with that DN");
    registerMessage(MSGID_CONFIG_GROUP_UNACCEPTABLE_CONFIG,
                    "The configuration for the group implementation defined " +
                    "in configuration entry %s was not acceptable according " +
                    "to its internal validation.  However, no specific " +
                    "information is available regarding the problem(s) with " +
                    "the entry.");
                    "the entry");
    registerMessage(
@@ -9345,7 +9345,7 @@
                    "to \"true\", then unauthenticated clients will only be "+
                    "allowed to send bind and StartTLS requests. Changes to "+
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_CONFIG_CORE_REJECT_UNAUTHENTICATED_REQUESTS_INVALID,
                    "Configuration entry %s has an invalid value for" +
                    "configuration attribute " +
@@ -9354,34 +9354,34 @@
    registerMessage(MSGID_CONFIG_CHANGE_NO_RESULT,
                    "%s.%s returned a result of null for entry %s.");
                    "%s.%s returned a result of null for entry %s");
    registerMessage(MSGID_CONFIG_CHANGE_RESULT_ERROR,
                    "%s.%s failed for entry %s:  result code=%s, admin " +
                    "action required=%b, messages=\"%s\".");
                    "action required=%b, messages=\"%s\"");
    registerMessage(MSGID_CONFIG_CHANGE_RESULT_ACTION_REQUIRED,
                    "%s.%s indicated that administrative action is required " +
                    "for entry %s:  messages=\"%s\".");
                    "for entry %s:  messages=\"%s\"");
    registerMessage(MSGID_CONFIG_CHANGE_RESULT_MESSAGES,
                    "%s.%s succeeded but generated the following messages " +
                    "for entry %s:  %s.");
                    "for entry %s:  %s");
    registerMessage(MSGID_CONFIG_VATTR_INVALID_SEARCH_FILTER,
                    "Unable to parse value \"%s\" from config entry \"%s\" " +
                    "as a valid search filter:  %s.");
                    "as a valid search filter:  %s");
    registerMessage(MSGID_CONFIG_VATTR_SV_TYPE_WITH_MV_PROVIDER,
                    "The virtual attribute configuration in entry \"%s\" is " +
                    "not valid because attribute type %s is single-valued " +
                    "but provider %s may generate multiple values.");
                    "but provider %s may generate multiple values");
    registerMessage(MSGID_CONFIG_VATTR_SV_TYPE_WITH_MERGE_VALUES,
                    "The virtual attribute configuration in entry \"%s\" is " +
                    "not valid because attribute type %s is single-valued " +
                    "but the conflict behavior is configured to merge real " +
                    "and virtual values.");
                    "and virtual values");
    registerMessage(MSGID_CONFIG_VATTR_INITIALIZATION_FAILED,
                    "An error occurred while trying to load an instance " +
                    "of class %s referenced in configuration entry %s as a " +
                    "virtual attribute provider:  %s.");
                    "virtual attribute provider:  %s");
  }
}
opends/src/server/org/opends/server/messages/CoreMessages.java
@@ -6037,11 +6037,11 @@
  public static void registerMessages()
  {
    registerMessage(MSGID_CANNOT_CANCEL_ABANDON,
                    "Abandon requests cannot be canceled.");
                    "Abandon requests cannot be canceled");
    registerMessage(MSGID_CANNOT_CANCEL_BIND,
                    "Bind requests cannot be canceled.");
                    "Bind requests cannot be canceled");
    registerMessage(MSGID_CANNOT_CANCEL_UNBIND,
                    "Unbind requests cannot be canceled.");
                    "Unbind requests cannot be canceled");
    registerMessage(MSGID_DISCONNECT_DUE_TO_UNBIND, "Client Unbind");
@@ -6206,16 +6206,16 @@
    registerMessage(MSGID_UNKNOWN_ATTRIBUTE_USAGE,
                    "Unable to determine the attribute usage type for " +
                    "attribute %s.  The server will assume that it is " +
                    "user-defined.");
                    "user-defined");
    registerMessage(MSGID_ATTR_TYPE_NORMALIZE_NO_MR,
                    "Unable to normalize value %s for attribute type %s " +
                    "because no equality matching rule is defined for that " +
                    "attribute.");
                    "attribute");
    registerMessage(MSGID_CANCELED_BY_SHUTDOWN,
                    "Processing on this operation has been canceled because " +
                    "the Directory Server is shutting down.");
                    "the Directory Server is shutting down");
    registerMessage(MSGID_UNCAUGHT_WORKER_THREAD_EXCEPTION,
                    "%s encountered an uncaught exception while processing " +
                    "operation %s:  %s");
@@ -6223,89 +6223,89 @@
                    "%s is unexpectedly exiting when the Directory Server " +
                    "is not in the process of shutting down.  This likely " +
                    "indicates that the thread encountered an unexpected " +
                    "error.");
                    "error");
    registerMessage(MSGID_CANNOT_CREATE_WORKER_THREAD,
                    "An unexpected error occurred while trying to create a " +
                    "worker thread:  %s");
    registerMessage(MSGID_OP_REJECTED_BY_SHUTDOWN,
                    "The request to process this operation has been rejected " +
                    "because the Directory Server has already started its " +
                    "shutdown process.");
                    "shutdown process");
    registerMessage(MSGID_OP_REJECTED_BY_QUEUE_FULL,
                    "The request to process this operation has been rejected " +
                    "because the work queue has already reached its maximum " +
                    "capacity of %d pending operations.");
                    "capacity of %d pending operations");
    registerMessage(MSGID_WORKER_INTERRUPTED_WITHOUT_SHUTDOWN,
                    "%s was interrupted while waiting for new work:  %s.  " +
                    "This should not happen, but the thread will resume " +
                    "waiting for new work so there should be no adverse " +
                    "effects.");
                    "effects");
    registerMessage(MSGID_WORKER_WAITING_UNCAUGHT_EXCEPTION,
                    "An unexpected exception was caught while %s was waiting " +
                    "for new work:  %s.  This should not happen, but the " +
                    "thread will resume waiting for new work so there should " +
                    "be no adverse effects.");
                    "be no adverse effects");
    registerMessage(MSGID_QUEUE_UNABLE_TO_CANCEL,
                    "The work queue caught an exception while trying to " +
                    "cancel pending operation %s when the Directory Server " +
                    "was shutting down:  %s.");
                    "was shutting down:  %s");
    registerMessage(MSGID_QUEUE_UNABLE_TO_NOTIFY_THREAD,
                    "The work queue caught an exception while trying to " +
                    "notify %s that the Directory Server was shutting " +
                    "down:  %s.");
                    "down:  %s");
    registerMessage(MSGID_WORKER_STOPPED_BY_REDUCED_THREADNUMBER,
                    "%s has been stopped because the total number of worker " +
                    "threads in the Directory Server was reduced.");
                    "threads in the Directory Server was reduced");
    registerMessage(MSGID_CANNOT_BOOTSTRAP_WHILE_RUNNING,
                    "The Directory Server is currently running.  The " +
                    "configuration may not be bootstrapped while the server " +
                    "is online.");
                    "is online");
    registerMessage(MSGID_DIRECTORY_BOOTSTRAPPING,
                    "The Directory Server is beginning the configuration " +
                    "bootstrapping process.");
                    "bootstrapping process");
    registerMessage(MSGID_DIRECTORY_BOOTSTRAPPED,
                    "The Directory Server has completed the configuration " +
                    "bootstrapping process.");
                    "bootstrapping process");
    registerMessage(MSGID_CANNOT_LOAD_CONFIG_HANDLER_CLASS,
                    "Unable to load class %s to serve as the Directory " +
                    "Server configuration handler:  %s.");
                    "Server configuration handler:  %s");
    registerMessage(MSGID_CANNOT_INSTANTIATE_CONFIG_HANDLER,
                    "Unable to create an instance of class %s to serve as " +
                    "the Directory Server configuration handler: %s.");
                    "the Directory Server configuration handler: %s");
    registerMessage(MSGID_CANNOT_INITIALIZE_CONFIG_HANDLER,
                    "An error occurred while trying to initialize the " +
                    "configuration handler %s using configuration file %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_CANNOT_START_BEFORE_BOOTSTRAP,
                    "The Directory Server may not be started before the " +
                    "configuration has been bootstrapped.");
                    "configuration has been bootstrapped");
    registerMessage(MSGID_CANNOT_START_WHILE_RUNNING,
                    "The Directory Server may not be started while it is " +
                    "already running.   Please stop the running instance " +
                    "before attempting to start it again.");
                    "before attempting to start it again");
    registerMessage(MSGID_CANNOT_ACQUIRE_EXCLUSIVE_SERVER_LOCK,
                    "The Directory Server could not acquire an exclusive " +
                    "lock on file %s:  %s.  This generally means that " +
                    "another instance of this server is already running.");
                    "another instance of this server is already running");
    registerMessage(MSGID_CANNOT_BOOTSTRAP_MATCHING_RULE,
                    "An error occurred while attempting to bootstrap the " +
                    "matching rule defined in class %s:  %s.");
                    "matching rule defined in class %s:  %s");
    registerMessage(MSGID_CANNOT_BOOTSTRAP_SYNTAX,
                    "An error occurred while attempting to bootstrap the " +
                    "attribute syntax defined in class %s:  %s.");
    registerMessage(MSGID_DIRECTORY_SERVER_STARTING, "%s starting up.");
                    "attribute syntax defined in class %s:  %s");
    registerMessage(MSGID_DIRECTORY_SERVER_STARTING, "%s starting up");
    registerMessage(MSGID_DIRECTORY_SERVER_STARTED,
                    "The Directory Server has started successfully.");
                    "The Directory Server has started successfully");
    registerMessage(MSGID_CANNOT_CREATE_MBEAN_SERVER,
                    "An error occurred while attempting to create the JMX " +
                    "MBean server that will be used for monitoring, " +
                    "notification, and configuration interaction within the " +
                    "Directory Server:  %s.");
                    "Directory Server:  %s");
    registerMessage(MSGID_SENT_ALERT_NOTIFICATION,
                    "The Directory Server has sent an alert notification " +
                    "generated by class %s (alert type %s, alert ID %s):  %s.");
                    "generated by class %s (alert type %s, alert ID %s):  %s");
    registerMessage(MSGID_UNCAUGHT_THREAD_EXCEPTION,
                    "An uncaught exception during processing for thread %s " +
                    "has caused it to terminate abnormally.  The stack trace " +
@@ -6313,313 +6313,313 @@
    registerMessage(MSGID_SERVER_SHUTDOWN,
                    "The Directory Server has started the shutdown process.  " +
                    "The shutdown was initiated by an instance of class %s " +
                    "and the reason provided for the shutdown was %s.");
                    "and the reason provided for the shutdown was %s");
    registerMessage(MSGID_SHUTDOWN_CANNOT_RELEASE_SHARED_BACKEND_LOCK,
                    "An error occurred while attempting to release a shared " +
                    "lock for backend %s:  %s.  This lock should be " +
                    "automatically cleaned when the Directory Server process " +
                    "exits, so no additional action should be necessary.");
                    "exits, so no additional action should be necessary");
    registerMessage(MSGID_CANNOT_RELEASE_EXCLUSIVE_SERVER_LOCK,
                    "An error occurred while attempting to release the " +
                    "exclusive server lock held on file %s:  %s.  This lock " +
                    "should be automatically cleaned when the Directory " +
                    "Server process exits, so no additional action should be " +
                    "necessary.");
                    "necessary");
    registerMessage(MSGID_SHUTDOWN_DUE_TO_SHUTDOWN_HOOK,
                    "The Directory Server shutdown hook detected that the " +
                    "JVM is shutting down.  This generally indicates that " +
                    "JVM received an external request to stop (e.g., through " +
                    "a kill signal).");
                    "a kill signal)");
    registerMessage(MSGID_SERVER_STOPPED,
                    "The Directory Server is now stopped.");
                    "The Directory Server is now stopped");
    registerMessage(MSGID_CANNOT_CREATE_WORK_QUEUE,
                    "An error occurred while trying to create the Directory " +
                    "Server work queue:  %s.  This is an unrecoverable error " +
                    "and the startup process will not be able to continue.");
                    "and the startup process will not be able to continue");
    registerMessage(MSGID_CANNOT_REGISTER_DUPLICATE_ALTERNATE_ROOT_BIND_DN,
                    "The alternate root bind DN \"%s\" is already registered " +
                    "with the Directory Server for actual root entry DN " +
                    "\"%s\".");
                    "\"%s\"");
    registerMessage(MSGID_CANNOT_REGISTER_DUPLICATE_SUFFIX,
                    "The suffix \"%s\" is already registered with the " +
                    "Directory Server with a backend of type %s.");
                    "Directory Server with a backend of type %s");
    registerMessage(MSGID_CANNOT_REGISTER_DUPLICATE_SUBSUFFIX,
                    "The suffix \"%s\" is already registered with the " +
                    "Directory Server as a sub-suffix of the backend for " +
                    "suffix \"%s\".");
                    "suffix \"%s\"");
    registerMessage(MSGID_CANNOT_REGISTER_PRIVATE_SUFFIX_BELOW_USER_PARENT,
                    "The private suffix \"%s\" is below a non-private suffix " +
                    "defined with a base DN of \"%s\".  A private sub-suffix " +
                    "may not exist below a non-private suffix.");
                    "may not exist below a non-private suffix");
    registerMessage(MSGID_CANNOT_GET_ROOT_DSE_CONFIG_ENTRY,
                    "An error occurred while trying to retrieve the root " +
                    "DSE configuration entry (" + DN_ROOT_DSE_CONFIG +
                    ") from the Directory Server configuration:  %s.");
                    ") from the Directory Server configuration:  %s");
    registerMessage(MSGID_STARTUP_PLUGIN_ERROR,
                    "A fatal error occurred when executing one of the " +
                    "Directory Server startup plugins:  %s (error ID %d).  " +
                    "The Directory Server startup process has been aborted.");
                    "The Directory Server startup process has been aborted");
    registerMessage(MSGID_ENTRY_SCHEMA_UNKNOWN_OC,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it contains an unknown " +
                    "objectclass %s.");
                    "objectclass %s");
    registerMessage(MSGID_ENTRY_SCHEMA_MISSING_REQUIRED_ATTR_FOR_OC,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it is missing attribute %s " +
                    "which is required by objectclass %s.");
                    "which is required by objectclass %s");
    registerMessage(MSGID_ENTRY_SCHEMA_DISALLOWED_USER_ATTR_FOR_OC,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it includes attribute %s which is " +
                    "not allowed by any of the objectclasses defined in that " +
                    "entry.");
                    "entry");
    registerMessage(MSGID_ENTRY_SCHEMA_ATTR_NO_VALUES,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it includes attribute %s without " +
                    "any values.");
                    "any values");
    registerMessage(MSGID_ENTRY_SCHEMA_ATTR_SINGLE_VALUED,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it includes multiple values for " +
                    "attribute %s, which is defined as a single-valued " +
                    "attribute.");
                    "attribute");
    registerMessage(MSGID_ENTRY_SCHEMA_MULTIPLE_STRUCTURAL_CLASSES,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it includes multiple conflicting " +
                    "structural objectclasses %s and %s.  Only a single " +
                    "structural objectclass is allowed in an entry.");
                    "structural objectclass is allowed in an entry");
    registerMessage(MSGID_ENTRY_SCHEMA_NO_STRUCTURAL_CLASS,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it does not include a structural " +
                    "objectclass.  All entries must contain a structural " +
                    "objectclass.");
                    "objectclass");
    registerMessage(MSGID_ENTRY_SCHEMA_RDN_MISSING_REQUIRED_ATTR,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because its RDN does not contain " +
                    "attribute %s that is required by name form %s.");
                    "attribute %s that is required by name form %s");
    registerMessage(MSGID_ENTRY_SCHEMA_RDN_DISALLOWED_ATTR,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because its RDN contains attribute %s " +
                    "that is not allowed by name form %s.");
                    "that is not allowed by name form %s");
    registerMessage(MSGID_ENTRY_SCHEMA_MISSING_REQUIRED_ATTR_FOR_DCR,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it is missing attribute %s " +
                    "which is required by DIT content rule %s.");
                    "which is required by DIT content rule %s");
    registerMessage(MSGID_ENTRY_SCHEMA_PROHIBITED_ATTR_FOR_DCR,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it contains attribute %s which is " +
                    "prohibited by DIT content rule %s.");
                    "prohibited by DIT content rule %s");
    registerMessage(MSGID_ENTRY_SCHEMA_DISALLOWED_USER_ATTR_FOR_DCR,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it includes attribute %s which is " +
                    "not in the list of allowed or required attributes for " +
                    "DIT content rule %s.");
                    "DIT content rule %s");
    registerMessage(MSGID_ENTRY_SCHEMA_DISALLOWED_AUXILIARY_CLASS,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because it includes auxiliary objectClass " +
                    "%s that is not allowed by DIT content rule %s.");
                    "%s that is not allowed by DIT content rule %s");
    registerMessage(MSGID_ENTRY_SCHEMA_DSR_COULD_NOT_LOCK_PARENT,
                    "The Directory Server was unable to evaluate entry %s to " +
                    "determine whether it was compliant with the DIT " +
                    "structure rule configuration because it was unable to " +
                    "obtain a read lock on parent entry %s.");
                    "obtain a read lock on parent entry %s");
    registerMessage(MSGID_ENTRY_SCHEMA_DSR_NO_PARENT_ENTRY,
                    "The Directory Server was unable to evaluate entry %s to " +
                    "determine whether it was compliant with the DIT " +
                    "structure rule configuration because parent entry %s " +
                    "either does not exist or could not be retrieved.");
                    "either does not exist or could not be retrieved");
    registerMessage(MSGID_ENTRY_SCHEMA_DSR_NO_PARENT_OC,
                    "The Directory Server was unable to evaluate entry %s to " +
                    "determine whether it was compliant with the DIT " +
                    "rule configuration because the parent entry %s does not " +
                    "appear to contain a valid structural objectclass.");
                    "appear to contain a valid structural objectclass");
    registerMessage(MSGID_ENTRY_SCHEMA_VIOLATES_PARENT_DSR,
                    "Entry %s is invalid according to the server schema " +
                    "because there is no DIT structure rule that applies " +
                    "to that entry, but there is a DIT structure rule for " +
                    "the parent entry %s.");
                    "the parent entry %s");
    registerMessage(MSGID_ENTRY_SCHEMA_DSR_DISALLOWED_SUPERIOR_OC,
                    "Entry %s violates the Directory Server schema " +
                    "configuration because DIT structure rule %s does not " +
                    "allow entries of type %s to be placed immediately below " +
                    "entries of type %s.");
                    "entries of type %s");
    registerMessage(MSGID_ENTRY_SCHEMA_COULD_NOT_CHECK_DSR,
                    "An unexpected error occurred while attempting to check " +
                    "entry %s against DIT structure rule %s:  %s.");
                    "entry %s against DIT structure rule %s:  %s");
    registerMessage(MSGID_ENTRY_SCHEMA_COULD_NOT_CHECK_PARENT_DSR,
                    "An unexpected error occurred while attempting to " +
                    "perform DIT structure rule processing for the parent of " +
                    "entry %s:  %s.");
                    "entry %s:  %s");
    registerMessage(MSGID_ENTRY_SET_UNKNOWN_OC,
                    "Objectclass %s cannot be used in entry %s because that " +
                    "class is not defined in the Directory Server schema.");
                    "class is not defined in the Directory Server schema");
    registerMessage(MSGID_ENTRY_ADD_UNKNOWN_OC,
                    "Objectclass %s cannot be added to entry %s because that " +
                    "class is not defined in the Directory Server schema.");
                    "class is not defined in the Directory Server schema");
    registerMessage(MSGID_ENTRY_ADD_DUPLICATE_OC,
                    "Objectclass %s is already present in entry %s and " +
                    "cannot be added a second time.");
                    "cannot be added a second time");
    registerMessage(MSGID_ENTRY_ADD_OBSOLETE_OC,
                    "Objectclass %s added to entry %s is marked OBSOLETE in " +
                    "the server schema.");
                    "the server schema");
    registerMessage(MSGID_ENTRY_DUPLICATE_VALUES,
                    "Unable to add one or more values to attribute %s " +
                    "because at least one of the values already exists.");
                    "because at least one of the values already exists");
    registerMessage(MSGID_ENTRY_NO_SUCH_VALUE,
                    "Unable to remove one or more values from attribute %s " +
                    "because at least one of the attributes does not exist " +
                    "in the entry.");
                    "in the entry");
    registerMessage(MSGID_ENTRY_OC_INCREMENT_NOT_SUPPORTED,
                    "The increment operation is not supported for the " +
                    "objectClass attribute.");
                    "objectClass attribute");
    registerMessage(MSGID_ENTRY_UNKNOWN_MODIFICATION_TYPE,
                    "Unknown modification type %s requested.");
                    "Unknown modification type %s requested");
    registerMessage(MSGID_ENTRY_INCREMENT_NO_SUCH_ATTRIBUTE,
                    "Unable to increment the value of attribute %s because " +
                    "that attribute does not exist in the entry.");
                    "that attribute does not exist in the entry");
    registerMessage(MSGID_ENTRY_INCREMENT_MULTIPLE_VALUES,
                    "Unable to increment the value of attribute %s because " +
                    "there are multiple values for that attribute.");
                    "there are multiple values for that attribute");
    registerMessage(MSGID_ENTRY_INCREMENT_INVALID_VALUE_COUNT,
                    "Unable to increment the value of attribute %s because " +
                    "the provided modification did not have exactly one " +
                    "value to use as the increment.");
                    "value to use as the increment");
    registerMessage(MSGID_ENTRY_INCREMENT_CANNOT_PARSE_AS_INT,
                    "Unable to increment the value of attribute %s because " +
                    "either the current value or the increment could not " +
                    "be parsed as an integer.");
                    "be parsed as an integer");
    registerMessage(MSGID_ENTRY_DECODE_UNRECOGNIZED_VERSION,
                    "Unable to decode an entry because it had an unsupported " +
                    "entry version byte value of %s.");
                    "entry version byte value of %s");
    registerMessage(MSGID_ENTRY_DECODE_EXCEPTION,
                    "Unable to decode an entry because an unexpected " +
                    "exception was caught during processing:  %s.");
                    "exception was caught during processing:  %s");
    registerMessage(MSGID_SEARCH_FILTER_NULL,
                    "Unable to decode the provided filter string as a search " +
                    "filter because the provided string was empty or null.");
                    "filter because the provided string was empty or null");
    registerMessage(MSGID_SEARCH_FILTER_UNCAUGHT_EXCEPTION,
                    "An unexpected error occurred while attempting to decode " +
                    "the string \"%s\" as a search filter:  %s.");
                    "the string \"%s\" as a search filter:  %s");
    registerMessage(MSGID_SEARCH_FILTER_MISMATCHED_PARENTHESES,
                    "The provided search filter \"%s\" had mismatched " +
                    "parentheses around the portion between positions %d and " +
                    "%d.");
                    "%d");
    registerMessage(MSGID_SEARCH_FILTER_NO_EQUAL_SIGN,
                    "The provided search filter \"%s\" was missing an equal " +
                    "sign in the suspected simple filter component between " +
                    "positions %d and %d.");
                    "positions %d and %d");
    registerMessage(MSGID_SEARCH_FILTER_INVALID_ESCAPED_BYTE,
                    "The provided search filter \"%s\" had an invalid " +
                    "escaped byte value at position %d.  A backslash in a " +
                    "value must be followed by two hexadecimal characters " +
                    "that define the byte that has been encoded.");
                    "that define the byte that has been encoded");
    registerMessage(MSGID_SEARCH_FILTER_COMPOUND_MISSING_PARENTHESES,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the compound filter between positions %d and %d " +
                    "did not start with an open parenthesis and end with a " +
                    "close parenthesis (they may be parentheses for " +
                    "different filter components).");
                    "different filter components)");
    registerMessage(MSGID_SEARCH_FILTER_NO_CORRESPONDING_OPEN_PARENTHESIS,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the closing parenthesis at position %d did not " +
                    "have a corresponding open parenthesis.");
                    "have a corresponding open parenthesis");
    registerMessage(MSGID_SEARCH_FILTER_NO_CORRESPONDING_CLOSE_PARENTHESIS,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the closing parenthesis at position %d did not " +
                    "have a corresponding close parenthesis.");
                    "have a corresponding close parenthesis");
    registerMessage(MSGID_SEARCH_FILTER_SUBSTRING_NO_ASTERISKS,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the assumed substring filter value between " +
                    "positions %d and %d did not have any asterisk wildcard " +
                    "characters.");
                    "characters");
    registerMessage(MSGID_SEARCH_FILTER_EXTENSIBLE_MATCH_NO_COLON,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the extensible match component starting at " +
                    "position %d did not have a colon to denote the end of " +
                    "the attribute type name.");
                    "the attribute type name");
    registerMessage(MSGID_SEARCH_FILTER_INVALID_FILTER_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because it contained an unknown filter type %s");
    registerMessage(MSGID_SEARCH_FILTER_INVALID_RESULT_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because the internal check returned an unknown " +
                    "result type \"%s\".");
                    "result type \"%s\"");
    registerMessage(MSGID_SEARCH_FILTER_COMPOUND_COMPONENTS_NULL,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because the set of filter components for an %s " +
                    "component was NULL.");
                    "component was NULL");
    registerMessage(MSGID_SEARCH_FILTER_NESTED_TOO_DEEP,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because the filter was nested beyond the maximum " +
                    "allowed depth of " + MAX_NESTED_FILTER_DEPTH + " levels.");
                    "allowed depth of " + MAX_NESTED_FILTER_DEPTH + " levels");
    registerMessage(MSGID_SEARCH_FILTER_NOT_COMPONENT_NULL,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because the NOT filter component did not include " +
                    "a subcomponent.");
                    "a subcomponent");
    registerMessage(MSGID_SEARCH_FILTER_EQUALITY_NO_ATTRIBUTE_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because an equality component had a NULL " +
                    "attribute type.");
                    "attribute type");
    registerMessage(MSGID_SEARCH_FILTER_EQUALITY_NO_ASSERTION_VALUE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because an equality component for attribute %s " +
                    "had a NULL assertion value.");
                    "had a NULL assertion value");
    registerMessage(MSGID_SEARCH_FILTER_SUBSTRING_NO_ATTRIBUTE_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a substring component had a NULL " +
                    "attribute type.");
                    "attribute type");
    registerMessage(MSGID_SEARCH_FILTER_SUBSTRING_NO_SUBSTRING_COMPONENTS,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a substring component for attribute %s " +
                    "did not have any subInitial, subAny, or subFinal " +
                    "elements.");
                    "elements");
    registerMessage(MSGID_SEARCH_FILTER_GREATER_OR_EQUAL_NO_ATTRIBUTE_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a greater-or-equal component had a NULL " +
                    "attribute type.");
                    "attribute type");
    registerMessage(MSGID_SEARCH_FILTER_GREATER_OR_EQUAL_NO_VALUE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a greater-or-equal component for " +
                    "attribute %s had a NULL assertion value.");
                    "attribute %s had a NULL assertion value");
    registerMessage(MSGID_SEARCH_FILTER_LESS_OR_EQUAL_NO_ATTRIBUTE_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a less-or-equal component had a NULL " +
                    "attribute type.");
                    "attribute type");
    registerMessage(MSGID_SEARCH_FILTER_LESS_OR_EQUAL_NO_ASSERTION_VALUE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a less-or-equal component for attribute " +
                    "%s had a NULL assertion value.");
                    "%s had a NULL assertion value");
    registerMessage(MSGID_SEARCH_FILTER_PRESENCE_NO_ATTRIBUTE_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a presence component had a NULL " +
                    "attribute type.");
                    "attribute type");
    registerMessage(MSGID_SEARCH_FILTER_APPROXIMATE_NO_ATTRIBUTE_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because an approximate component had a NULL " +
                    "attribute type.");
                    "attribute type");
    registerMessage(MSGID_SEARCH_FILTER_APPROXIMATE_NO_ASSERTION_VALUE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because an approximate component for attribute " +
                    "%s had a NULL assertion value.");
                    "%s had a NULL assertion value");
    registerMessage(MSGID_SEARCH_FILTER_EXTENSIBLE_MATCH_NO_ASSERTION_VALUE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a contained extensible match filter did " +
                    "not have an assertion value.");
                    "not have an assertion value");
    registerMessage(MSGID_SEARCH_FILTER_EXTENSIBLE_MATCH_NO_RULE_OR_TYPE,
                    "Unable to determine whether entry \"%s\" matches filter " +
                    "\"%s\" because a contained extensible match filter did " +
                    "not have either an attribute type or a matching rule ID.");
                    "not have either an attribute type or a matching rule ID");
    registerMessage(MSGID_SEARCH_BACKEND_EXCEPTION,
                    "An unexpected error was encountered while processing " +
                    "a search in one of the Directory Server backends:  %s.");
                    "a search in one of the Directory Server backends:  %s");
    registerMessage(MSGID_RDN_DECODE_NULL,
                    "Unable to decode the provided string as a relative " +
                    "distinguished name because the provided string was " +
                    "empty or null.");
                    "empty or null");
    registerMessage(MSGID_RDN_END_WITH_ATTR_NAME,
                    "Unable to decode the provided string \"%s\" as a " +
                    "relative distinguished name because the string ended " +
@@ -6628,689 +6628,689 @@
                    "Unable to decode the provided string \"%s\" as a " +
                    "relative distinguished name because the first non-blank " +
                    "character after the attribute type %s was not an " +
                    "equal sign (character read was %s).");
                    "equal sign (character read was %s)");
    registerMessage(MSGID_RDN_UNEXPECTED_COMMA,
                    "Unable to decode the provided string \"%s\" as a " +
                    "relative distinguished name because it contained an " +
                    "unexpected plus, comma, or semicolon at position %d, "+
                    "which is not allowed in an RDN.");
                    "which is not allowed in an RDN");
    registerMessage(MSGID_RDN_ILLEGAL_CHARACTER,
                    "Unable to decode the provided string \"%s\" as a " +
                    "relative distinguished name because an illegal " +
                    "character %s was found at position %d, where either the " +
                    "end of the string or a '+' sign were expected.");
                    "end of the string or a '+' sign were expected");
    registerMessage(MSGID_SCHEMA_CONFLICTING_ATTRIBUTE_OID,
                    "Unable to register attribute type %s with the server " +
                    "schema because its OID %s conflicts with the OID of an " +
                    "existing attribute type %s.");
                    "existing attribute type %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_ATTRIBUTE_NAME,
                    "Unable to register attribute type %s with the server " +
                    "schema because its name %s conflicts with the name of " +
                    "an existing attribute type %s.");
                    "an existing attribute type %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_OBJECTCLASS_OID,
                    "Unable to register objectclass %s with the server " +
                    "schema because its OID %s conflicts with the OID of an " +
                    "existing objectclass %s.");
                    "existing objectclass %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_OBJECTCLASS_NAME,
                    "Unable to register objectclass %s with the server " +
                    "schema because its name %s conflicts with the name of " +
                    "an existing objectclass %s.");
                    "an existing objectclass %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_SYNTAX_OID,
                    "Unable to register attribute syntax %s with the server " +
                    "schema because its OID %s conflicts with the OID of an " +
                    "existing syntax %s.");
                    "existing syntax %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_MR_OID,
                    "Unable to register matching rule %s with the server " +
                    "schema because its OID %s conflicts with the OID of an " +
                    "existing matching rule %s.");
                    "existing matching rule %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_MR_NAME,
                    "Unable to register matching rule %s with the server " +
                    "schema because its name %s conflicts with the name of " +
                    "an existing matching rule %s.");
                    "an existing matching rule %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_MATCHING_RULE_USE,
                    "Unable to register matching rule use %s with the server " +
                    "schema because its matching rule %s conflicts with the " +
                    "matching rule for an existing matching rule use %s.");
                    "matching rule for an existing matching rule use %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_DIT_CONTENT_RULE,
                    "Unable to register DIT content rule %s with the server " +
                    "schema because its structural objectclass %s conflicts " +
                    "with the structural objectclass for an existing DIT " +
                    "content rule %s.");
                    "content rule %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_DIT_STRUCTURE_RULE_NAME_FORM,
                    "Unable to register DIT structure rule %s with the " +
                    "server schema because its name form %s conflicts with " +
                    "the name form for an existing DIT structure rule %s.");
                    "the name form for an existing DIT structure rule %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_DIT_STRUCTURE_RULE_ID,
                    "Unable to register DIT structure rule %s with the " +
                    "server schema because its rule ID %d conflicts with the " +
                    "rule ID for an existing DIT structure rule %s.");
                    "rule ID for an existing DIT structure rule %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_NAME_FORM_OC,
                    "Unable to register name form %s with the server schema " +
                    "because its structural objectclass %s conflicts with " +
                    "the structural objectclass for an existing name form %s.");
                    "the structural objectclass for an existing name form %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_NAME_FORM_OID,
                    "Unable to register name form %s with the server schema " +
                    "because its OID %s conflicts with the OID for an " +
                    "existing name form %s.");
                    "existing name form %s");
    registerMessage(MSGID_SCHEMA_CONFLICTING_NAME_FORM_NAME,
                    "Unable to register name form %s with the server schema " +
                    "because its name %s conflicts with the name for an " +
                    "existing name form %s.");
                    "existing name form %s");
    registerMessage(MSGID_SCHEMA_CIRCULAR_DEPENDENCY_REFERENCE,
                    "Unable to update the schema element with definition " +
                    "\"%s\" because a circular reference was identified " +
                    "when attempting to rebuild other schema elements " +
                    "dependent upon it.");
                    "dependent upon it");
    registerMessage(MSGID_ADD_OP_INVALID_SYNTAX,
                    "Entry \"%s\" contains a value \"%s\" for attribute %s " +
                    "that is invalid according to the syntax for that " +
                    "attribute:  %s.");
                    "attribute:  %s");
    registerMessage(MSGID_ADD_ATTR_IS_OBSOLETE,
                    "Entry \"%s\" cannot be added because it contains " +
                    "attribute type %s which is declared OBSOLETE in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ADD_OC_IS_OBSOLETE,
                    "Entry \"%s\" cannot be added because it contains " +
                    "objectclass %s which is declared OBSOLETE in the server " +
                    "schema.");
                    "schema");
    registerMessage(MSGID_ADD_INVALID_PWPOLICY_DN_SYNTAX,
                    "Entry \"%s\" cannot be added because it contains an " +
                    "invalid password policy subentry DN:  %s.");
                    "invalid password policy subentry DN:  %s");
    registerMessage(MSGID_ADD_NO_SUCH_PWPOLICY,
                    "Entry \"%s\" cannot be added because it references " +
                    "password policy subentry %s that does not exist or does " +
                    "not contain a valid password policy subentry definition.");
                    "not contain a valid password policy subentry definition");
    registerMessage(MSGID_ADD_ASSERTION_FAILED,
                    "Entry %s cannot be added because the request contained " +
                    "an LDAP assertion control and the associated filter did " +
                    "not match the contents of the provided entry.");
                    "not match the contents of the provided entry");
    registerMessage(MSGID_ADD_CANNOT_PROCESS_ASSERTION_FILTER,
                    "Entry %s cannot be added because the request contained " +
                    "an LDAP assertion control, but an error occurred while " +
                    "attempting to compare the provided entry against the " +
                    "filter contained in that control:  %s.");
                    "filter contained in that control:  %s");
    registerMessage(MSGID_ADD_UNSUPPORTED_CRITICAL_CONTROL,
                    "Entry %s cannot be added because the request contained " +
                    "a critical control with OID %s that is not supported by " +
                    "the Directory Server for this type of operation.");
                    "the Directory Server for this type of operation");
    registerMessage(MSGID_ADD_ATTR_IS_NO_USER_MOD,
                    "Entry %s cannot be added because it includes attribute " +
                    "%s which is defined as NO-USER-MODIFICATION in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ADD_CANNOT_ADD_ROOT_DSE,
                    "The provided entry cannot be added because it contains " +
                    "a null DN.  This DN is reserved for the root DSE, and " +
                    "that entry may not be added over protocol.");
                    "that entry may not be added over protocol");
    registerMessage(MSGID_ADD_ENTRY_NOT_SUFFIX,
                    "The provided entry %s cannot be added because it does " +
                    "not have a parent and is not defined as one of the " +
                    "suffixes within the Directory Server.");
                    "suffixes within the Directory Server");
    registerMessage(MSGID_ADD_CANNOT_LOCK_PARENT,
                    "Entry %s cannot be added because the server failed to " +
                    "obtain a read lock on the parent entry %s after " +
                    "multiple attempts.");
                    "multiple attempts");
    registerMessage(MSGID_ADD_NO_PARENT,
                    "Entry %s cannot be added because its parent entry %s " +
                    "does not exist in the server.");
                    "does not exist in the server");
    registerMessage(MSGID_ADD_CANNOT_LOCK_ENTRY,
                    "Entry %s cannot be added because the server failed " +
                    "to obtain a write lock for this entry after multiple " +
                    "attempts.");
                    "attempts");
    registerMessage(MSGID_ADD_MISSING_RDN_ATTRIBUTE,
                    "Entry %s cannot be added because it is missing " +
                    "attribute %s that is contained in the entry's RDN.  " +
                    "All attributes used in the RDN must also be provided in " +
                    "the attribute list for the entry.");
                    "the attribute list for the entry");
    registerMessage(MSGID_ADD_CHANGE_PRIVILEGE_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to add entries " +
                    "that include privileges.");
                    "that include privileges");
    registerMessage(MSGID_ADD_NOOP,
                    "The add operation was not actually performed in the " +
                    "Directory Server backend because the LDAP no-op control " +
                    "was present in the request.");
                    "was present in the request");
    registerMessage(MSGID_ADD_ERROR_NOTIFYING_CHANGE_LISTENER,
                    "An unexpected error occurred while notifying a change " +
                    "notification listener of an add operation:  %s.");
                    "notification listener of an add operation:  %s");
    registerMessage(MSGID_ADD_ERROR_NOTIFYING_PERSISTENT_SEARCH,
                    "An unexpected error occurred while notifying persistent " +
                    "search %s of an add operation:  %s.  The persistent " +
                    "search has been terminated.");
                    "search has been terminated");
    registerMessage(MSGID_COMPARE_OP_NO_SUCH_ATTR,
                    "Entry \"%s\" does not contain any values for attribute " +
                    "\"%s\".");
                    "\"%s\"");
    registerMessage(MSGID_COMPARE_OP_NO_SUCH_ATTR_WITH_OPTIONS,
                    "Entry \"%s\" does not contain any values for attribute " +
                    "\"%s\" with the specified set of options.");
                    "\"%s\" with the specified set of options");
    registerMessage(MSGID_CANCELED_BY_BIND_REQUEST,
                    "Processing on this operation has been canceled because " +
                    "the Directory Server received a bind request on this " +
                    "connection, which requires that all operations in " +
                    "progress to be abandoned.");
                    "progress to be abandoned");
    registerMessage(MSGID_BIND_OPERATION_UNKNOWN_USER,
                    "Unable to bind to the Directory Server as user %s " +
                    "because no such user exists in the server.");
                    "because no such user exists in the server");
    registerMessage(MSGID_BIND_UNSUPPORTED_CRITICAL_CONTROL,
                    "Unable to process the bind request because it " +
                    "contained a control with OID %s that was marked " +
                    "critical but this control is not supported for the bind " +
                    "operation.");
                    "operation");
    registerMessage(MSGID_BIND_DN_BUT_NO_PASSWORD,
                    "Unable to process the simple bind request because it " +
                    "contained a bind DN but no password, which is forbidden " +
                    "by the server configuration.");
                    "by the server configuration");
    registerMessage(MSGID_BIND_OPERATION_CANNOT_LOCK_USER,
                    "Unable to process the bind because the server was " +
                    "unable to obtain a read lock on the entry %s.");
                    "unable to obtain a read lock on the entry %s");
    registerMessage(MSGID_BIND_OPERATION_NO_PASSWORD,
                    "Unable to bind to the Directory Server as user %s " +
                    "using simple authentication because that user does " +
                    "not have a password.");
                    "not have a password");
    registerMessage(MSGID_BIND_OPERATION_UNKNOWN_SASL_MECHANISM,
                    "Unable to process the bind request because it attempted " +
                    "to use an unknown SASL mechanism %s that is not " +
                    "available in the Directory Server.");
                    "available in the Directory Server");
    registerMessage(MSGID_BIND_OPERATION_UNKNOWN_STORAGE_SCHEME,
                    "Password with unknown storage scheme %s included in " +
                    "user entry %s will be ignored.");
                    "user entry %s will be ignored");
    registerMessage(MSGID_BIND_MULTIPLE_USER_SIZE_LIMITS,
                    "There are multiple user-specific size limit values " +
                    "contained in user entry %s.  The default server size " +
                    "limit will be used.");
                    "limit will be used");
    registerMessage(MSGID_BIND_CANNOT_PROCESS_USER_SIZE_LIMIT,
                    "The user-specific size limit value %s contained in " +
                    "user entry %s could not be parsed as an integer.  The " +
                    "default server size limit will be used.");
                    "default server size limit will be used");
    registerMessage(MSGID_BIND_MULTIPLE_USER_TIME_LIMITS,
                    "There are multiple user-specific time limit values " +
                    "contained in user entry %s.  The default server time " +
                    "limit will be used.");
                    "limit will be used");
    registerMessage(MSGID_BIND_CANNOT_PROCESS_USER_TIME_LIMIT,
                    "The user-specific time limit value %s contained in " +
                    "user entry %s could not be parsed as an integer.  The " +
                    "default server time limit will be used.");
                    "default server time limit will be used");
    registerMessage(MSGID_BIND_PASSWORD_EXPIRING,
                    "The user password is about to expire (time to " +
                    "expiration:  %s).");
                    "expiration:  %s)");
    registerMessage(MSGID_BIND_OPERATION_WRONG_PASSWORD,
                    "The password provided by the user did not match any " +
                    "password(s) stored in the user's entry.");
                    "password(s) stored in the user's entry");
    registerMessage(MSGID_BIND_ACCOUNT_TEMPORARILY_LOCKED,
                    "The account has been locked as a result of too many " +
                    "failed authentication attempts (time to unlock:  %s).");
                    "failed authentication attempts (time to unlock:  %s)");
    registerMessage(MSGID_BIND_ACCOUNT_PERMANENTLY_LOCKED,
                    "The account has been locked as a result of too many " +
                    "failed authentication attempts.  It may only be " +
                    "unlocked by an administrator.");
                    "unlocked by an administrator");
    registerMessage(MSGID_BIND_OPERATION_PASSWORD_VALIDATION_EXCEPTION,
                    "An unexpected error occurred while attempting to " +
                    "validate the provided password:  %s.");
                    "validate the provided password:  %s");
    registerMessage(MSGID_ABANDON_OP_NO_SUCH_OPERATION,
                    "Unable to abandon the operation with message ID %d " +
                    "because no information is available about that " +
                    "operation.  This could mean that the target operation " +
                    "has already completed or was never requested.");
                    "has already completed or was never requested");
    registerMessage(MSGID_CANCELED_BY_ABANDON_REQUEST,
                    "The operation was canceled because the client issued " +
                    "an abandon request (message ID %d) for this operation.");
                    "an abandon request (message ID %d) for this operation");
    registerMessage(MSGID_CANCELED_BY_PREPARSE_DISCONNECT,
                    "The operation was canceled because the client " +
                    "connection was terminated by a pre-parse plugin.");
                    "connection was terminated by a pre-parse plugin");
    registerMessage(MSGID_CANCELED_BY_PREOP_DISCONNECT,
                    "The operation was canceled because the client " +
                    "connection was terminated by a pre-operation plugin.");
                    "connection was terminated by a pre-operation plugin");
    registerMessage(MSGID_CANCELED_BY_POSTOP_DISCONNECT,
                    "The operation was canceled because the client " +
                    "connection was terminated by a post-operation plugin.");
                    "connection was terminated by a post-operation plugin");
    registerMessage(MSGID_CANCELED_BY_SEARCH_ENTRY_DISCONNECT,
                    "The operation was canceled because the client " +
                    "connection was terminated by a search result entry " +
                    "plugin working on entry %s.");
                    "plugin working on entry %s");
    registerMessage(MSGID_CANCELED_BY_SEARCH_REF_DISCONNECT,
                    "The operation was canceled because the client " +
                    "connection was terminated by a search result reference " +
                    "plugin working on referral %s.");
                    "plugin working on referral %s");
    registerMessage(MSGID_COMPARE_CONFIG_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to access the " +
                    "server configuration.");
                    "server configuration");
    registerMessage(MSGID_COMPARE_CANNOT_LOCK_ENTRY,
                    "The Directory Server was unable to obtain a read " +
                    "lock on entry %s after multiple attempts.  Processing " +
                    "on this operation cannot continue.");
                    "on this operation cannot continue");
    registerMessage(MSGID_COMPARE_NO_SUCH_ENTRY,
                    "The specified entry %s does not exist in the " +
                    "Directory Server.");
                    "Directory Server");
    registerMessage(MSGID_COMPARE_ASSERTION_FAILED,
                    "Cannot perform the compare operation on entry %s " +
                    "because the request contained an LDAP assertion control " +
                    "and the associated filter did not match the contents of " +
                    "the that entry.");
                    "the that entry");
    registerMessage(MSGID_COMPARE_CANNOT_PROCESS_ASSERTION_FILTER,
                    "Cannot perform the compare operation on entry %s " +
                    "because the request contained an LDAP assertion " +
                    "control, but an error occurred while attempting to " +
                    "compare the target entry against the filter contained " +
                    "in that control:  %s.");
                    "in that control:  %s");
    registerMessage(MSGID_COMPARE_UNSUPPORTED_CRITICAL_CONTROL,
                    "Cannot perform the compare operation on entry %s " +
                    "because the request contained a critical control with " +
                    "OID %s that is not supported by the Directory Server " +
                    "for this type of operation.");
                    "for this type of operation");
    registerMessage(MSGID_DELETE_CANNOT_LOCK_ENTRY,
                    "Entry %s cannot be removed because the server failed " +
                    "to obtain a write lock for this entry after multiple " +
                    "attempts.");
                    "attempts");
    registerMessage(MSGID_DELETE_CANNOT_GET_ENTRY_FOR_ASSERTION,
                    "Entry %s cannot be removed because the delete request " +
                    "contains an LDAP assertion control and an error " +
                    "occurred while trying to retrieve the target entry to " +
                    "compare it against the associated filter:  %s.");
                    "compare it against the associated filter:  %s");
    registerMessage(MSGID_DELETE_NO_SUCH_ENTRY_FOR_ASSERTION,
                    "Entry %s cannot be removed because it was determined " +
                    "that the target entry does not exist while attempting " +
                    "to process it against the LDAP assertion control " +
                    "contained in the request.");
                    "contained in the request");
    registerMessage(MSGID_DELETE_ASSERTION_FAILED,
                    "Entry %s cannot be removed because the request " +
                    "contained an LDAP assertion control and the associated " +
                    "filter did not match the contents of the that entry.");
                    "filter did not match the contents of the that entry");
    registerMessage(MSGID_DELETE_CANNOT_PROCESS_ASSERTION_FILTER,
                    "Entry %s cannot be removed because the request " +
                    "contained an LDAP assertion control, but an error " +
                    "occurred while attempting to compare the target entry " +
                    "against the filter contained in that control:  %s.");
                    "against the filter contained in that control:  %s");
    registerMessage(MSGID_DELETE_PREREAD_NO_ENTRY,
                    "Entry %s cannot be removed because it was determined " +
                    "that the target entry does not exist while attempting " +
                    "to process it against the LDAP pre-read request control.");
                    "to process it against the LDAP pre-read request control");
    registerMessage(MSGID_DELETE_UNSUPPORTED_CRITICAL_CONTROL,
                    "Entry %s cannot be removed because the request " +
                    "contained a critical control with OID %s that is not " +
                    "supported by the Directory Server for this type of " +
                    "operation.");
                    "operation");
    registerMessage(MSGID_DELETE_NO_SUCH_ENTRY,
                    "Entry %s does not exist in the Directory Server.");
                    "Entry %s does not exist in the Directory Server");
    registerMessage(MSGID_DELETE_HAS_SUB_BACKEND,
                    "Entry %s cannot be removed because the backend that " +
                    "should contain that entry has a subordinate backend " +
                    "with a base DN of %s that is below the target DN.");
                    "with a base DN of %s that is below the target DN");
    registerMessage(MSGID_DELETE_NOOP,
                    "The delete operation was not actually performed in the " +
                    "Directory Server backend because the LDAP no-op control " +
                    "was present in the request.");
                    "was present in the request");
    registerMessage(MSGID_DELETE_ERROR_NOTIFYING_CHANGE_LISTENER,
                    "An unexpected error occurred while notifying a change " +
                    "notification listener of a delete operation:  %s.");
                    "notification listener of a delete operation:  %s");
    registerMessage(MSGID_DELETE_ERROR_NOTIFYING_PERSISTENT_SEARCH,
                    "An unexpected error occurred while notifying persistent " +
                    "search %s of a delete operation:  %s.  The persistent " +
                    "search has been terminated.");
                    "search has been terminated");
    registerMessage(MSGID_SEARCH_TIME_LIMIT_EXCEEDED,
                    "The maximum time limit of %d seconds for processing " +
                    "this search operation has expired.");
                    "this search operation has expired");
    registerMessage(MSGID_SEARCH_SIZE_LIMIT_EXCEEDED,
                    "This search operation has sent the maximum of %d " +
                    "entries to the client.");
                    "entries to the client");
    registerMessage(MSGID_SEARCH_CANNOT_GET_ENTRY_FOR_ASSERTION,
                    "The search request cannot be processed because it " +
                    "contains an LDAP assertion control and an error " +
                    "occurred while trying to retrieve the base entry to " +
                    "compare it against the assertion filter:  %s.");
                    "compare it against the assertion filter:  %s");
    registerMessage(MSGID_SEARCH_NO_SUCH_ENTRY_FOR_ASSERTION,
                    "The search request cannot be processed because it " +
                    "contains an LDAP assertion control but the search base " +
                    "entry does not exist.");
                    "entry does not exist");
    registerMessage(MSGID_SEARCH_ASSERTION_FAILED,
                    "The search request cannot be processed because it " +
                    "contains an LDAP assertion control and the assertion " +
                    "filter did not match the contents of the base entry.");
                    "filter did not match the contents of the base entry");
    registerMessage(MSGID_SEARCH_CANNOT_PROCESS_ASSERTION_FILTER,
                    "The search request cannot be processed because it " +
                    "contains an LDAP assertion control, but an error " +
                    "occurred while attempting to compare the base entry " +
                    "against the assertion filter:  %s.");
                    "against the assertion filter:  %s");
    registerMessage(MSGID_SEARCH_UNSUPPORTED_CRITICAL_CONTROL,
                    "The search request cannot be processed because it " +
                    "contains a critical control with OID %s that is not " +
                    "supported by the Directory Server for this type of " +
                    "operation.");
                    "operation");
    registerMessage(MSGID_SEARCH_BASE_DOESNT_EXIST,
                    "The entry %s specified as the search base does not " +
                    "exist in the Directory Server.");
                    "exist in the Directory Server");
    registerMessage(MSGID_MODDN_NO_PARENT,
                    "A modify DN operation cannot be performed on entry %s " +
                    "because the new RDN would not have a parent DN.");
                    "because the new RDN would not have a parent DN");
    registerMessage(MSGID_MODDN_NO_BACKEND_FOR_CURRENT_ENTRY,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because no backend is registered to handle " +
                    "that DN.");
                    "that DN");
    registerMessage(MSGID_MODDN_NO_BACKEND_FOR_NEW_ENTRY,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because no backend is registered to handle " +
                    "the new DN %s.");
                    "the new DN %s");
    registerMessage(MSGID_MODDN_DIFFERENT_BACKENDS,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because the backend holding the current entry " +
                    "is different from the backend used to handle the new DN " +
                    "%s.  Modify DN operations may not span multiple " +
                    "backends.");
                    "backends");
    registerMessage(MSGID_MODDN_CANNOT_LOCK_CURRENT_DN,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because the server was unable to obtain a " +
                    "write lock for that DN.");
                    "write lock for that DN");
    registerMessage(MSGID_MODDN_EXCEPTION_LOCKING_NEW_DN,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because an exception was caught while " +
                    "attempting to obtain a write lock for new DN %s:  %s.");
                    "attempting to obtain a write lock for new DN %s:  %s");
    registerMessage(MSGID_MODDN_CANNOT_LOCK_NEW_DN,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because the server was unable to obtain a " +
                    "write lock for the new DN %s.");
                    "write lock for the new DN %s");
    registerMessage(MSGID_MODDN_NO_CURRENT_ENTRY,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because that entry does not exist in the " +
                    "server.");
                    "server");
    registerMessage(MSGID_MODDN_ASSERTION_FAILED,
                    "Entry %s cannot be renamed because the request " +
                    "contained an LDAP assertion control and the associated " +
                    "filter did not match the contents of the that entry.");
                    "filter did not match the contents of the that entry");
    registerMessage(MSGID_MODDN_CANNOT_PROCESS_ASSERTION_FILTER,
                    "Entry %s cannot be renamed because the request " +
                    "contained an LDAP assertion control, but an error " +
                    "occurred while attempting to compare the target entry " +
                    "against the filter contained in that control:  %s.");
                    "against the filter contained in that control:  %s");
    registerMessage(MSGID_MODDN_UNSUPPORTED_CRITICAL_CONTROL,
                    "Entry %s cannot be renamed because the request " +
                    "contained a critical control with OID %s that is not " +
                    "supported by the Directory Server for this type of " +
                    "operation.");
                    "operation");
    registerMessage(MSGID_MODDN_OLD_RDN_ATTR_IS_NO_USER_MOD,
                    "Entry %s cannot be renamed because the current DN " +
                    "includes attribute %s which is defined as " +
                    "NO-USER-MODIFICATION in the server schema and the " +
                    "deleteOldRDN flag was set in the modify DN request.");
                    "deleteOldRDN flag was set in the modify DN request");
    registerMessage(MSGID_MODDN_NEW_RDN_ATTR_IS_NO_USER_MOD,
                    "Entry %s cannot be renamed because the new RDN " +
                    "includes attribute %s which is defined as " +
                    "NO-USER-MODIFICATION in the server schema, and the " +
                    "target value for that attribute is not already " +
                    "included in the entry.");
                    "included in the entry");
    registerMessage(MSGID_MODDN_VIOLATES_SCHEMA,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because the change would have violated the " +
                    "server schema:  %s.");
                    "server schema:  %s");
    registerMessage(MSGID_MODDN_NEWRDN_ATTR_IS_OBSOLETE,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because the new RDN includes attribute type " +
                    "%s which is declared OBSOLETE in the server schema.");
                    "%s which is declared OBSOLETE in the server schema");
    registerMessage(MSGID_MODDN_PREOP_INCREMENT_NO_ATTR,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because a pre-operation plugin attempted to " +
                    "increment attribute %s but that attribute does not " +
                    "exist in the target entry.");
                    "exist in the target entry");
    registerMessage(MSGID_MODDN_PREOP_INCREMENT_MULTIPLE_VALUES,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because a pre-operation plugin attempted to " +
                    "increment attribute %s but that attribute has multiple " +
                    "values in the target entry.");
                    "values in the target entry");
    registerMessage(MSGID_MODDN_PREOP_INCREMENT_VALUE_NOT_INTEGER,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because a pre-operation plugin attempted to " +
                    "increment attribute %s but the value of that attribute " +
                    "is not an integer.");
                    "is not an integer");
    registerMessage(MSGID_MODDN_PREOP_INCREMENT_NO_AMOUNT,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because a pre-operation plugin attempted to " +
                    "increment attribute %s but no increment amount was " +
                    "provided.");
                    "provided");
    registerMessage(MSGID_MODDN_PREOP_INCREMENT_MULTIPLE_AMOUNTS,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because a pre-operation plugin attempted to " +
                    "increment attribute %s but multiple increment amount " +
                    "values were provided.");
                    "values were provided");
    registerMessage(MSGID_MODDN_PREOP_INCREMENT_AMOUNT_NOT_INTEGER,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because a pre-operation plugin attempted to " +
                    "increment attribute %s but the increment amount value " +
                    "was not an integer.");
                    "was not an integer");
    registerMessage(MSGID_MODDN_PREOP_VIOLATES_SCHEMA,
                    "The modify DN operation for entry %s cannot be " +
                    "performed because a pre-operation plugin modified the " +
                    "entry in a way that caused it to violate the server " +
                    "schema:  %s.");
                    "schema:  %s");
    registerMessage(MSGID_MODDN_NOOP,
                    "The modify DN operation was not actually performed in " +
                    "the Directory Server backend because the LDAP no-op " +
                    "control was present in the request.");
                    "control was present in the request");
    registerMessage(MSGID_MODDN_ERROR_NOTIFYING_CHANGE_LISTENER,
                    "An unexpected error occurred while notifying a change " +
                    "notification listener of a modify DN operation:  %s.");
                    "notification listener of a modify DN operation:  %s");
    registerMessage(MSGID_MODDN_ERROR_NOTIFYING_PERSISTENT_SEARCH,
                    "An unexpected error occurred while notifying persistent " +
                    "search %s of a modify DN operation:  %s.  The " +
                    "persistent search has been terminated.");
                    "persistent search has been terminated");
    registerMessage(MSGID_MODIFY_NO_MODIFICATIONS,
                    "Entry %s cannot be updated because the request did not " +
                    "contain any modifications.");
                    "contain any modifications");
    registerMessage(MSGID_MODIFY_CANNOT_LOCK_ENTRY,
                    "Entry %s cannot be modified because the server failed " +
                    "to obtain a write lock for this entry after multiple " +
                    "attempts.");
                    "attempts");
    registerMessage(MSGID_MODIFY_NO_SUCH_ENTRY,
                    "Entry %s cannot be modified because no such entry " +
                    "exists in the server.");
                    "exists in the server");
    registerMessage(MSGID_MODIFY_ASSERTION_FAILED,
                    "Entry %s cannot be modified because the request " +
                    "contained an LDAP assertion control and the associated " +
                    "filter did not match the contents of the that entry.");
                    "filter did not match the contents of the that entry");
    registerMessage(MSGID_MODIFY_CANNOT_PROCESS_ASSERTION_FILTER,
                    "Entry %s cannot be modified because the request " +
                    "contained an LDAP assertion control, but an error " +
                    "occurred while attempting to compare the target entry " +
                    "against the filter contained in that control:  %s.");
                    "against the filter contained in that control:  %s");
    registerMessage(MSGID_MODIFY_UNSUPPORTED_CRITICAL_CONTROL,
                    "Entry %s cannot be modified because the request " +
                    "contained a critical control with OID %s that is not " +
                    "supported by the Directory Server for this type of " +
                    "operation.");
                    "operation");
    registerMessage(MSGID_MODIFY_PWRESET_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to reset user " +
                    "passwords.");
                    "passwords");
    registerMessage(MSGID_MODIFY_MUST_CHANGE_PASSWORD,
                    "You must change your password before you will be " +
                    "allowed to perform any other operations.");
                    "allowed to perform any other operations");
    registerMessage(MSGID_MODIFY_ATTR_IS_NO_USER_MOD,
                    "Entry %s cannot be modified because the modification " +
                    "attempted to update attribute %s which is defined as " +
                    "NO-USER-MODIFICATION in the server schema.");
                    "NO-USER-MODIFICATION in the server schema");
    registerMessage(MSGID_MODIFY_ATTR_IS_OBSOLETE,
                    "Entry %s cannot be modified because the modification " +
                    "attempted to set one or more new values for attribute " +
                    "%s which is marked OBSOLETE in the server schema.");
                    "%s which is marked OBSOLETE in the server schema");
    registerMessage(MSGID_MODIFY_CHANGE_PRIVILEGE_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to modify the " +
                    "set of privileges contained in an entry.");
                    "set of privileges contained in an entry");
    registerMessage(MSGID_MODIFY_PASSWORDS_CANNOT_HAVE_OPTIONS,
                    "Attributes used to hold user passwords are not allowed " +
                    "to have any attribute options.");
                    "to have any attribute options");
    registerMessage(MSGID_MODIFY_NO_USER_PW_CHANGES,
                    "Users are not allowed to change their own passwords.");
                    "Users are not allowed to change their own passwords");
    registerMessage(MSGID_MODIFY_REQUIRE_SECURE_CHANGES,
                    "Password changes must be performed over a secure " +
                    "authentication channel.");
                    "authentication channel");
    registerMessage(MSGID_MODIFY_WITHIN_MINIMUM_AGE,
                    "The password cannot be changed because it has not been " +
                    "long enough since the last password change.");
                    "long enough since the last password change");
    registerMessage(MSGID_MODIFY_MULTIPLE_VALUES_NOT_ALLOWED,
                    "Multiple password values are not allowed in user " +
                    "entries.");
                    "entries");
    registerMessage(MSGID_MODIFY_NO_PREENCODED_PASSWORDS,
                    "User passwords may not be provided in pre-encoded form.");
                    "User passwords may not be provided in pre-encoded form");
    registerMessage(MSGID_MODIFY_PASSWORD_EXISTS,
                    "The specified password value already exists in the " +
                    "user entry.");
                    "user entry");
    registerMessage(MSGID_MODIFY_NO_EXISTING_VALUES,
                    "The user entry does not have any existing passwords to " +
                    "remove.");
                    "remove");
    registerMessage(MSGID_MODIFY_CANNOT_DECODE_PW,
                    "An error occurred while attempting to decode an " +
                    "existing user password:  %s.");
                    "existing user password:  %s");
    registerMessage(MSGID_MODIFY_INVALID_PASSWORD,
                    "The provided user password does not match any password " +
                    "in the user's entry.");
                    "in the user's entry");
    registerMessage(MSGID_MODIFY_INVALID_MOD_TYPE_FOR_PASSWORD,
                    "Invalid modification type %s attempted on password " +
                    "attribute %s.");
                    "attribute %s");
    registerMessage(MSGID_MODIFY_INVALID_DISABLED_VALUE,
                    "Invalid value provided for operational attribute %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_MODIFY_ADD_NO_VALUES,
                    "Entry %s cannot be modified because the modification " +
                    "contained an add component for attribute %s but no " +
                    "values were provided.");
                    "values were provided");
    registerMessage(MSGID_MODIFY_ADD_INVALID_SYNTAX,
                    "When attempting to modify entry %s to add one or more " +
                    "values for attribute %s, value \"%s\" was found to be " +
                    "invalid according to the associated syntax:  %s.");
                    "invalid according to the associated syntax:  %s");
    registerMessage(MSGID_MODIFY_ADD_DUPLICATE_VALUE,
                    "Entry %s cannot be modified because it would have " +
                    "resulted in one or more duplicate values for attribute " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_MODIFY_DELETE_RDN_ATTR,
                    "Entry %s cannot be modified because the change to " +
                    "attribute %s would have removed a value used in the RDN.");
                    "attribute %s would have removed a value used in the RDN");
    registerMessage(MSGID_MODIFY_DELETE_MISSING_VALUES,
                    "Entry %s cannot be modified because the attempt to " +
                    "update attribute %s would have removed one or more " +
                    "values from the attribute that were not present:  %s.");
                    "values from the attribute that were not present:  %s");
    registerMessage(MSGID_MODIFY_DELETE_NO_SUCH_ATTR,
                    "Entry %s cannot be modified because an attempt was made " +
                    "to remove one or more values from attribute %s but this " +
                    "attribute is not present in the entry.");
                    "attribute is not present in the entry");
    registerMessage(MSGID_MODIFY_REPLACE_INVALID_SYNTAX,
                    "When attempting to modify entry %s to replace the set " +
                    "of values for attribute %s, value \"%s\" was found to " +
                    "be invalid according to the associated syntax:  %s.");
                    "be invalid according to the associated syntax:  %s");
    registerMessage(MSGID_MODIFY_INCREMENT_RDN,
                    "Entry %s cannot be modified because an attempt was made " +
                    "to increment the value of attribute %s which is used as " +
                    "an RDN attribute for the entry.");
                    "an RDN attribute for the entry");
    registerMessage(MSGID_MODIFY_INCREMENT_REQUIRES_VALUE,
                    "Entry %s cannot be modified because an attempt was made " +
                    "to increment the value of attribute %s but the request " +
                    "did not include a value for that attribute specifying " +
                    "the amount by which to increment the value.");
                    "the amount by which to increment the value");
    registerMessage(MSGID_MODIFY_INCREMENT_REQUIRES_SINGLE_VALUE,
                    "Entry %s cannot be modified because an attempt was made " +
                    "to increment the value of attribute %s but the request " +
                    "contained multiple values, where only a single integer " +
                    "value is allowed.");
                    "value is allowed");
    registerMessage(MSGID_MODIFY_INCREMENT_PROVIDED_VALUE_NOT_INTEGER,
                    "Entry %s cannot be modified because an attempt was made " +
                    "to increment the value of attribute %s but the value " +
                    "\"%s\" contained in the request could not be parsed as " +
                    "an integer.");
                    "an integer");
    registerMessage(MSGID_MODIFY_INCREMENT_REQUIRES_EXISTING_VALUE,
                    "Entry %s cannot be modified because an attempt was made " +
                    "to increment the value of attribute %s but that " +
                    "attribute did not have any values in the target entry.");
                    "attribute did not have any values in the target entry");
    registerMessage(MSGID_MODIFY_PW_CHANGE_REQUIRES_CURRENT_PW,
                    "The password policy requires that user password changes " +
                    "include the current password in the request.");
                    "include the current password in the request");
    registerMessage(MSGID_MODIFY_MULTIPLE_PASSWORDS_NOT_ALLOWED,
                    "The password change would result in multiple password " +
                    "values in the user entry, which is not allowed.");
                    "values in the user entry, which is not allowed");
    registerMessage(MSGID_MODIFY_PW_VALIDATION_FAILED,
                    "The provided password value was rejected by a password " +
                    "validator:  %s.");
                    "validator:  %s");
    registerMessage(MSGID_MODIFY_INCREMENT_REQUIRES_INTEGER_VALUE,
                    "Entry %s cannot be modified because an attempt was " +
                    "made to increment the value of attribute %s but the " +
                    "value \"%s\" could not be parsed as an integer.");
                    "value \"%s\" could not be parsed as an integer");
    registerMessage(MSGID_MODIFY_VIOLATES_SCHEMA,
                    "Entry %s cannot not be modified because the resulting " +
                    "entry would have violated the server schema:  %s.");
                    "entry would have violated the server schema:  %s");
    registerMessage(MSGID_MODIFY_NO_BACKEND_FOR_ENTRY,
                    "Entry %s cannot be modified because there is no backend " +
                    "registered to handle operations for that entry.");
                    "registered to handle operations for that entry");
    registerMessage(MSGID_MODIFY_NOOP,
                    "The modify operation was not actually performed in the " +
                    "Directory Server backend because the LDAP no-op control " +
                    "was present in the request.");
                    "was present in the request");
    registerMessage(MSGID_MODIFY_PASSWORD_CHANGED,
                    "The user password has been changed.");
                    "The user password has been changed");
    registerMessage(MSGID_MODIFY_PASSWORD_RESET,
                    "The user password has been administratively reset.");
                    "The user password has been administratively reset");
    registerMessage(MSGID_MODIFY_ACCOUNT_ENABLED,
                    "The user account has been administratively enabled.");
                    "The user account has been administratively enabled");
    registerMessage(MSGID_MODIFY_ACCOUNT_DISABLED,
                    "The user account has been administratively disabled.");
                    "The user account has been administratively disabled");
    registerMessage(MSGID_MODIFY_ACCOUNT_UNLOCKED,
                    "The user account has been administratively unlocked.");
                    "The user account has been administratively unlocked");
    registerMessage(MSGID_MODIFY_ERROR_NOTIFYING_CHANGE_LISTENER,
                    "An unexpected error occurred while notifying a change " +
                    "notification listener of a modify operation:  %s.");
                    "notification listener of a modify operation:  %s");
    registerMessage(MSGID_MODIFY_ERROR_NOTIFYING_PERSISTENT_SEARCH,
                    "An unexpected error occurred while notifying persistent " +
                    "search %s of a modify operation:  %s.  The persistent " +
                    "search has been terminated.");
                    "search has been terminated");
    registerMessage(MSGID_EXTENDED_NO_HANDLER,
                    "There is no extended operation handler registered with " +
                    "the Directory Server for handling extended operations " +
                    "with a request OID of %s.");
                    "with a request OID of %s");
    registerMessage(MSGID_EXTENDED_UNSUPPORTED_CRITICAL_CONTROL,
                    "Unable to process the request for extended operation %s " +
                    "because it contained an unsupported critical control " +
                    "with OID %s.");
                    "with OID %s");
    registerMessage(MSGID_CONNHANDLER_CLOSED_BY_SHUTDOWN,
                    "The Directory Server is shutting down.");
                    "The Directory Server is shutting down");
    registerMessage(MSGID_CONNHANDLER_CLOSED_BY_DISABLE,
                    "The connection handler that accepted this connection " +
                    "has been disabled.");
                    "has been disabled");
    registerMessage(MSGID_CONNHANDLER_CLOSED_BY_DELETE,
                    "The connection handler that accepted this connection " +
                    "has been removed from the server.");
                    "has been removed from the server");
    registerMessage(MSGID_DSCORE_TOOL_DESCRIPTION,
                    "This utility may be used to start the Directory Server, " +
                    "as well as to obtain the server version and other forms " +
                    "of general server information.");
                    "of general server information");
    registerMessage(MSGID_DSCORE_DESCRIPTION_CONFIG_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "to use as the Directory Server configuration handler.");
                    "to use as the Directory Server configuration handler");
    registerMessage(MSGID_DSCORE_DESCRIPTION_CONFIG_FILE,
                    "Specifies the path to the file containing the " +
                    "information needed by the configuration handler to " +
                    "obtain the Directory Server configuration.");
                    "obtain the Directory Server configuration");
    registerMessage(MSGID_DSCORE_DESCRIPTION_CHECK_STARTABILITY,
                    "Used to determine whether a server can be started or not" +
                    "and the mode to be used to start it.");
                    "and the mode to be used to start it");
    registerMessage(MSGID_DSCORE_DESCRIPTION_WINDOWS_NET_START,
                    "Used by the window service code to inform that start-ds "+
                    "is being called from the window services after a call "+
@@ -7330,252 +7330,252 @@
                    "Display this usage information");
    registerMessage(MSGID_DSCORE_CANNOT_INITIALIZE_ARGS,
                    "An error occurred while attempting to initialize the " +
                    "command-line arguments:  %s.");
                    "command-line arguments:  %s");
    registerMessage(MSGID_DSCORE_ERROR_PARSING_ARGS,
                    "An error occurred while attempting to parse the " +
                    "provided set of command line arguments:  %s.");
                    "provided set of command line arguments:  %s");
    registerMessage(MSGID_DSCORE_ERROR_NODETACH_AND_WINDOW_SERVICE,
                    "OpenDS is configured to run as a window service and it "+
                    "cannot run in no-detach mode.");
                    "cannot run in no-detach mode");
    registerMessage(MSGID_DSCORE_CANNOT_BOOTSTRAP,
                    "An error occurred while attempting to bootstrap the " +
                    "Directory Server:  %s.");
                    "Directory Server:  %s");
    registerMessage(MSGID_DSCORE_CANNOT_START,
                    "An error occurred while trying to start the Directory " +
                    "Server:  %s.");
                    "Server:  %s");
    registerMessage(MSGID_BACKUPINFO_NO_DELIMITER,
                    "The line \"%s\" associated with the backup information " +
                    "in directory %s could not be parsed because it did not " +
                    "contain an equal sign to delimit the property name from " +
                    "the value.");
                    "the value");
    registerMessage(MSGID_BACKUPINFO_NO_NAME,
                    "The line \"%s\" associated with the backup information " +
                    "in directory %s could not be parsed because it did not " +
                    "include a property name.");
                    "include a property name");
    registerMessage(MSGID_BACKUPINFO_MULTIPLE_BACKUP_IDS,
                    "The backup information structure in directory %s could " +
                    "not be parsed because it contained multiple backup IDs " +
                    "(%s and %s).");
                    "(%s and %s)");
    registerMessage(MSGID_BACKUPINFO_UNKNOWN_PROPERTY,
                    "The backup information structure in directory %s could " +
                    "not be parsed because it contained an unknown property " +
                    "%s with value %s.");
                    "%s with value %s");
    registerMessage(MSGID_BACKUPINFO_CANNOT_DECODE,
                    "An unexpected error occurred while trying to decode a " +
                    "backup information structure in directory %s:  %s.");
                    "backup information structure in directory %s:  %s");
    registerMessage(MSGID_BACKUPINFO_NO_BACKUP_ID,
                    "Unable to decode a backup information structure in " +
                    "directory %s because the structure did not include a " +
                    "backup ID.");
                    "backup ID");
    registerMessage(MSGID_BACKUPINFO_NO_BACKUP_DATE,
                    "The backup information structure with backup ID %s in " +
                    "Unable to decode a backup information structure in " +
                    "directory %s was not valid because it did not contain " +
                    "the backup date.");
                    "the backup date");
    registerMessage(MSGID_BACKUPDIRECTORY_ADD_DUPLICATE_ID,
                    "Cannot add a backup with ID %s to backup directory %s " +
                    "because another backup already exists with that ID.");
                    "because another backup already exists with that ID");
    registerMessage(MSGID_BACKUPDIRECTORY_NO_SUCH_BACKUP,
                    "Cannot remove backup %s from backup directory %s " +
                    "because no backup with that ID exists in that directory.");
                    "because no backup with that ID exists in that directory");
    registerMessage(MSGID_BACKUPDIRECTORY_UNRESOLVED_DEPENDENCY,
                    "Cannot remove backup %s from backup directory %s " +
                    "because it is listed as a dependency for backup %s.");
                    "because it is listed as a dependency for backup %s");
    registerMessage(MSGID_BACKUPDIRECTORY_CANNOT_CREATE_DIRECTORY,
                    "Backup directory %s does not exist and an error " +
                    "occurred while attempting to create it:  %s.");
                    "occurred while attempting to create it:  %s");
    registerMessage(MSGID_BACKUPDIRECTORY_NOT_DIRECTORY,
                    "The path %s specifies as a backup directory exists but " +
                    "does not reference a directory.");
                    "does not reference a directory");
    registerMessage(MSGID_BACKUPDIRECTORY_CANNOT_DELETE_SAVED_DESCRIPTOR,
                    "An error occurred while trying to remove saved backup " +
                    "descriptor file %s:  %s.  The new backup descriptor " +
                    "has been written to %s but will not be used until it is " +
                    "manually renamed to %s.");
                    "manually renamed to %s");
    registerMessage(MSGID_BACKUPDIRECTORY_CANNOT_RENAME_CURRENT_DESCRIPTOR,
                    "An error occurred while trying to rename the current " +
                    "backup descriptor file %s to %s:  %s.  The new backup " +
                    "descriptor has been written to %s but will not be used " +
                    "until it is manually renamed to %s.");
                    "until it is manually renamed to %s");
    registerMessage(MSGID_BACKUPDIRECTORY_CANNOT_RENAME_NEW_DESCRIPTOR,
                    "An error occurred while trying to rename the new backup " +
                    "descriptor file %s to %s:  %s.  The new backup " +
                    "descriptor will not be used until it is manually " +
                    "renamed.");
                    "renamed");
    registerMessage(MSGID_BACKUPDIRECTORY_NO_DESCRIPTOR_FILE,
                    "No backup directory descriptor file was found at %s.");
                    "No backup directory descriptor file was found at %s");
    registerMessage(MSGID_BACKUPDIRECTORY_CANNOT_READ_CONFIG_ENTRY_DN,
                    "The backup descriptor file %s is invalid because the " +
                    "first line should have contained the DN of the backend " +
                    "configuration entry but was blank.");
                    "configuration entry but was blank");
    registerMessage(MSGID_BACKUPDIRECTORY_FIRST_LINE_NOT_DN,
                    "The backup descriptor file %s is invalid because the " +
                    "first line of the file was \"%s\", but the DN of the " +
                    "backend configuration entry was expected.");
                    "backend configuration entry was expected");
    registerMessage(MSGID_BACKUPDIRECTORY_CANNOT_DECODE_DN,
                    "An error occurred while trying to decode the value " +
                    "\"%s\" read from the first line of %s as the DN of " +
                    "the backend configuration entry:  %s.");
                    "the backend configuration entry:  %s");
    registerMessage(MSGID_FILELOCKER_LOCK_SHARED_REJECTED_BY_EXCLUSIVE,
                    "The attempt to obtain a shared lock on file %s was " +
                    "rejected because an exclusive lock was already held on " +
                    "that file.");
                    "that file");
    registerMessage(MSGID_FILELOCKER_LOCK_SHARED_FAILED_CREATE,
                    "The attempt to obtain a shared lock on file %s was " +
                    "rejected because the attempt to create the lock file " +
                    "failed:  %s.");
                    "failed:  %s");
    registerMessage(MSGID_FILELOCKER_LOCK_SHARED_FAILED_OPEN,
                    "The attempt to obtain a shared lock on file %s was " +
                    "rejected because the attempt to open the lock file " +
                    "failed:  %s.");
                    "failed:  %s");
    registerMessage(MSGID_FILELOCKER_LOCK_SHARED_FAILED_LOCK,
                    "The attempt to obtain a shared lock on file %s was " +
                    "rejected because an error occurred while attempting to " +
                    "acquire the lock:  %s.");
                    "acquire the lock:  %s");
    registerMessage(MSGID_FILELOCKER_LOCK_SHARED_NOT_GRANTED,
                    "The shared lock requested for file %s was not granted, " +
                    "which indicates that another process already holds an "+
                    "exclusive lock on that file.");
                    "exclusive lock on that file");
    registerMessage(MSGID_FILELOCKER_LOCK_EXCLUSIVE_REJECTED_BY_EXCLUSIVE,
                    "The attempt to obtain an exclusive lock on file %s was " +
                    "rejected because an exclusive lock was already held on " +
                    "that file.");
                    "that file");
    registerMessage(MSGID_FILELOCKER_LOCK_EXCLUSIVE_REJECTED_BY_SHARED,
                    "The attempt to obtain an exclusive lock on file %s was " +
                    "rejected because a shared lock was already held on that " +
                    "file.");
                    "file");
    registerMessage(MSGID_FILELOCKER_LOCK_EXCLUSIVE_FAILED_CREATE,
                    "The attempt to obtain an exclusive lock on file %s was " +
                    "rejected because the attempt to create the lock file " +
                    "failed:  %s.");
                    "failed:  %s");
    registerMessage(MSGID_FILELOCKER_LOCK_EXCLUSIVE_FAILED_OPEN,
                    "The attempt to obtain an exclusive lock on file %s was " +
                    "rejected because the attempt to open the lock file " +
                    "failed:  %s.");
                    "failed:  %s");
    registerMessage(MSGID_FILELOCKER_LOCK_EXCLUSIVE_FAILED_LOCK,
                    "The attempt to obtain an exclusive lock on file %s was " +
                    "rejected because an error occurred while attempting to " +
                    "acquire the lock:  %s.");
                    "acquire the lock:  %s");
    registerMessage(MSGID_FILELOCKER_LOCK_EXCLUSIVE_NOT_GRANTED,
                    "The exclusive lock requested for file %s was not " +
                    "granted, which indicates that another process already " +
                    "holds a shared or exclusive lock on that file.");
                    "holds a shared or exclusive lock on that file");
    registerMessage(MSGID_FILELOCKER_UNLOCK_EXCLUSIVE_FAILED_RELEASE,
                    "The attempt to release the exclusive lock held on %s " +
                    "failed:  %s.");
                    "failed:  %s");
    registerMessage(MSGID_FILELOCKER_UNLOCK_SHARED_FAILED_RELEASE,
                    "The attempt to release the shared lock held on %s " +
                    "failed:  %s.");
                    "failed:  %s");
    registerMessage(MSGID_FILELOCKER_UNLOCK_UNKNOWN_FILE,
                    "The attempt to release the lock held on %s failed " +
                    "because no record of a lock on that file was found.");
                    "because no record of a lock on that file was found");
    registerMessage(MSGID_ADD_ENTRY_ALREADY_EXISTS,
                    "The entry %s cannot be added because an entry with " +
                    "that name already exists.");
                    "that name already exists");
    registerMessage(MSGID_ADD_SYNCH_CONFLICT_RESOLUTION_FAILED,
                    "An error occurred during conflict resolution " +
                    "synchronization processing for the add operation with " +
                    "connection ID %d and operation ID %d:  %s.");
                    "connection ID %d and operation ID %d:  %s");
    registerMessage(MSGID_ADD_SYNCH_PREOP_FAILED,
                    "An error occurred during preoperation synchronization " +
                    "processing for the add operation with connection ID %d " +
                    "and operation ID %d:  %s.");
                    "and operation ID %d:  %s");
    registerMessage(MSGID_ADD_SYNCH_POSTOP_FAILED,
                    "An error occurred during postoperation synchronization " +
                    "processing for the add operation with connection ID %d " +
                    "and operation ID %d:  %s.");
                    "and operation ID %d:  %s");
    registerMessage(MSGID_DELETE_SYNCH_CONFLICT_RESOLUTION_FAILED,
                    "An error occurred during conflict resolution " +
                    "synchronization processing for the delete operation " +
                    "with connection ID %d and operation ID %d:  %s.");
                    "with connection ID %d and operation ID %d:  %s");
    registerMessage(MSGID_DELETE_SYNCH_PREOP_FAILED,
                    "An error occurred during preoperation synchronization " +
                    "processing for the delete operation with connection ID " +
                    "%d and operation ID %d:  %s.");
                    "%d and operation ID %d:  %s");
    registerMessage(MSGID_DELETE_SYNCH_POSTOP_FAILED,
                    "An error occurred during postoperation synchronization " +
                    "processing for the delete operation with connection ID " +
                    "%d and operation ID %d:  %s.");
                    "%d and operation ID %d:  %s");
    registerMessage(MSGID_MODIFY_SYNCH_CONFLICT_RESOLUTION_FAILED,
                    "An error occurred during conflict resolution " +
                    "synchronization processing for the modify operation " +
                    "with connection ID %d and operation ID %d:  %s.");
                    "with connection ID %d and operation ID %d:  %s");
    registerMessage(MSGID_MODIFY_SYNCH_PREOP_FAILED,
                    "An error occurred during preoperation synchronization " +
                    "processing for the modify operation with connection ID " +
                    "%d and operation ID %d:  %s.");
                    "%d and operation ID %d:  %s");
    registerMessage(MSGID_MODIFY_SYNCH_POSTOP_FAILED,
                    "An error occurred during postoperation synchronization " +
                    "processing for the modify operation with connection ID " +
                    "%d and operation ID %d:  %s.");
                    "%d and operation ID %d:  %s");
    registerMessage(MSGID_MODDN_SYNCH_CONFLICT_RESOLUTION_FAILED,
                    "An error occurred during conflict resolution " +
                    "synchronization processing for the modify DN operation " +
                    "with connection ID %d and operation ID %d:  %s.");
                    "with connection ID %d and operation ID %d:  %s");
    registerMessage(MSGID_MODDN_SYNCH_PREOP_FAILED,
                    "An error occurred during preoperation synchronization " +
                    "processing for the modify DN operation with connection " +
                    "ID %d and operation ID %d:  %s.");
                    "ID %d and operation ID %d:  %s");
    registerMessage(MSGID_MODDN_SYNCH_POSTOP_FAILED,
                    "An error occurred during postoperation synchronization " +
                    "processing for the modify DN operation with connection " +
                    "ID %d and operation ID %d:  %s.");
                    "ID %d and operation ID %d:  %s");
    registerMessage(MSGID_ADD_SERVER_READONLY,
                    "Unable to add entry %s because the Directory Server " +
                    "is configured in read-only mode.");
                    "is configured in read-only mode");
    registerMessage(MSGID_ADD_BACKEND_READONLY,
                    "Unable to add entry %s because the backend that should " +
                    "hold that entry is configured in read-only mode.");
                    "hold that entry is configured in read-only mode");
    registerMessage(MSGID_DELETE_SERVER_READONLY,
                    "Unable to delete entry %s because the Directory Server " +
                    "is configured in read-only mode.");
                    "is configured in read-only mode");
    registerMessage(MSGID_DELETE_BACKEND_READONLY,
                    "Unable to delete entry %s because the backend that " +
                    "holds that entry is configured in read-only mode.");
                    "holds that entry is configured in read-only mode");
    registerMessage(MSGID_MODIFY_SERVER_READONLY,
                    "Unable to modify entry %s because the Directory Server " +
                    "is configured in read-only mode.");
                    "is configured in read-only mode");
    registerMessage(MSGID_MODIFY_BACKEND_READONLY,
                    "Unable to modify entry %s because the backend that " +
                    "holds that entry is configured in read-only mode.");
                    "holds that entry is configured in read-only mode");
    registerMessage(MSGID_MODDN_SERVER_READONLY,
                    "Unable to rename entry %s because the Directory Server " +
                    "is configured in read-only mode.");
                    "is configured in read-only mode");
    registerMessage(MSGID_MODDN_BACKEND_READONLY,
                    "Unable to rename entry %s because the backend that " +
                    "holds that entry is configured in read-only mode.");
                    "holds that entry is configured in read-only mode");
    registerMessage(MSGID_PWPOLICY_NO_PASSWORD_ATTRIBUTE,
                    "The password policy configuration entry \"%s\" does not " +
                    "contain a value for attribute " +
                    ATTR_PWPOLICY_PASSWORD_ATTRIBUTE + ", which specifies " +
                    "the attribute to hold user passwords.");
                    "the attribute to hold user passwords");
    registerMessage(MSGID_PWPOLICY_NO_DEFAULT_STORAGE_SCHEMES,
                    "The password policy configuration entry \"%s\" does not " +
                    "contain any values for attribute " +
                    ATTR_PWPOLICY_DEFAULT_SCHEME + ", which specifies " +
                    "the set of default password storage schemes.");
                    "the set of default password storage schemes");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_PW_ATTR,
                    "Specifies the attribute type used to hold user " +
                    "passwords.  This attribute type must be defined in the " +
                    "server schema.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_UNDEFINED_PASSWORD_ATTRIBUTE,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because the " +
                    "specified password attribute \"%s\" is not defined in " +
                    "the server schema.");
                    "the server schema");
    registerMessage(MSGID_PWPOLICY_INVALID_PASSWORD_ATTRIBUTE_SYNTAX,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because the " +
@@ -7583,11 +7583,11 @@
                    "%s.  The password attribute must have a syntax OID of " +
                    "either " + SYNTAX_USER_PASSWORD_OID + " (for the user " +
                    "password syntax) or " + SYNTAX_AUTH_PASSWORD_OID +
                    " (for the authentication password syntax).");
                    " (for the authentication password syntax)");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_PASSWORD_ATTRIBUTE,
                    "An error occurred while attempting to determine the " +
                    "value of attribute " + ATTR_PWPOLICY_PASSWORD_ATTRIBUTE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_DEFAULT_STORAGE_SCHEMES,
                    "Specifies the password storage scheme (or set of " +
                    "schemes) that will be used to encode clear-text " +
@@ -7595,16 +7595,16 @@
                    "defined for a password policy, then the same password " +
                    "will be encoded using all of those schemes.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_NO_SUCH_DEFAULT_SCHEME,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because it " +
                    "references a default password storage scheme \"%s\" " +
                    "that is not defined in the server configuration.");
                    "that is not defined in the server configuration");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_DEFAULT_STORAGE_SCHEMES,
                    "An error occurred while attempting to determine the " +
                    "values for attribute " + ATTR_PWPOLICY_DEFAULT_SCHEME +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_DEPRECATED_STORAGE_SCHEMES,
                    "Specifies the password storage scheme (or set of " +
                    "schemes) that should be considered deprecated.  If an " +
@@ -7612,96 +7612,96 @@
                    "these schemes, those passwords will be removed and " +
                    "replaced with passwords encoded using the default " +
                    "schemes.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_DEPRECATED_STORAGE_SCHEMES,
                    "An error occurred while attempting to determine the " +
                    "values for attribute " + ATTR_PWPOLICY_DEPRECATED_SCHEME +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_PASSWORD_VALIDATORS,
                    "Specifies the DN(s) of the password validator(s) that " +
                    "should be used with the associated password storage " +
                    "scheme.  Changes to this configuration attribute will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_PWPOLICY_NO_SUCH_VALIDATOR,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because it " +
                    "references a password validator \"%s\" that is not " +
                    "defined in the server configuration.");
                    "defined in the server configuration");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_PASSWORD_VALIDATORS,
                    "An error occurred while attempting to determine the " +
                    "values for attribute " + ATTR_PWPOLICY_PASSWORD_VALIDATOR +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_NOTIFICATION_HANDLERS,
                    "Specifies the DN(s) of the account status notification " +
                    "handler(s) that should be used with the associated " +
                    "password storage scheme.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_NO_SUCH_NOTIFICATION_HANDLER,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because it " +
                    "references account status notification handler \"%s\" " +
                    "that is not defined in the server configuration.");
                    "that is not defined in the server configuration");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_NOTIFICATION_HANDLERS,
                    "An error occurred while attempting to determine the " +
                    "values for attribute " +
                    ATTR_PWPOLICY_NOTIFICATION_HANDLER +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_ALLOW_USER_PW_CHANGES,
                    "Indicates whether users will be allowed to change " +
                    "their own passwords.  This check is made in addition " +
                    "to access control evaluation, and therefore both must " +
                    "allow the password change for it to occur.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_USER_PW_CHANGES,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " + ATTR_PWPOLICY_ALLOW_USER_CHANGE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_REQUIRE_CURRENT_PW,
                    "Indicates whether user password changes will be " +
                    "required to use the password modify extended operation " +
                    "and include the user's current password before the " +
                    "change will be allowed.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_CURRENT_PW,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " + ATTR_PWPOLICY_ALLOW_USER_CHANGE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_FORCE_CHANGE_ON_ADD,
                    "Indicates whether users will be forced to change their " +
                    "passwords upon first authenticating to the Directory " +
                    "Server after their account has been created.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_FORCE_CHANGE_ON_ADD,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_FORCE_CHANGE_ON_ADD +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_FORCE_CHANGE_ON_RESET,
                    "Indicates whether users will be forced to change their " +
                    "passwords if they are reset by an administrator.  " +
                    "For this purpose, anyone with permission to change a " +
                    "given user's password other than that user will be " +
                    "considered an administrator.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_FORCE_CHANGE_ON_RESET,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_FORCE_CHANGE_ON_RESET +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_SKIP_ADMIN_VALIDATION,
                    "Indicates whether passwords set by administrators (in " +
                    "add, modify, or password modify operations) will be " +
                    "allowed to bypass the password validation process that " +
                    "will be required for user password changes.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_SKIP_ADMIN_VALIDATION,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_SKIP_ADMIN_VALIDATION +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_PASSWORD_GENERATOR,
                    "Specifies the DN of the configuration entry that " +
                    "references the password generator for use with the " +
@@ -7709,16 +7709,16 @@
                    "conjunction with the password modify extended operation " +
                    "to generate a new password for a user when none was " +
                    "provided in the request.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_NO_SUCH_GENERATOR,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because it " +
                    "references password generator \"%s\" that is not " +
                    "defined in the server configuration.");
                    "defined in the server configuration");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_PASSWORD_GENERATOR,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " + ATTR_PWPOLICY_PASSWORD_GENERATOR +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_REQUIRE_SECURE_AUTH,
                    "Indicates whether users with the associated password " +
                    "policy will be required to authenticate in a secure " +
@@ -7726,23 +7726,23 @@
                    "communication channel between the client and the " +
                    "server, or using a SASL mechanism that does not expose " +
                    "the credentials.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_SECURE_AUTH,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_REQUIRE_SECURE_AUTHENTICATION +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_REQUIRE_SECURE_CHANGES,
                    "Indicates whether users with the associated password " +
                    "policy will be required to change their password in " +
                    "a secure manner that does not expose the credentials.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_SECURE_CHANGES,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_REQUIRE_SECURE_PASSWORD_CHANGES +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_ALLOW_MULTIPLE_PW_VALUES,
                    "Indicates whether user entries will be allowed to have " +
                    "multiple distinct values for the password attribute.  " +
@@ -7752,24 +7752,24 @@
                    "allowed, then any of them may be used to authenticate, " +
                    "and they will all be subject to the same policy " +
                    "constraints.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_MULTIPLE_PW_VALUES,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_ALLOW_MULTIPLE_PW_VALUES +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_ALLOW_PREENCODED,
                    "Indicates whether users will be allowed to change their " +
                    "passwords by providing a pre-encoded value.  This can " +
                    "cause a security risk because the clear-text version of " +
                    "the password is not known and therefore validation " +
                    "checks cannot be applied to it.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_PREENCODED,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_ALLOW_PRE_ENCODED_PASSWORDS +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_MIN_AGE,
                    "Specifies the minimum length of time that must pass " +
                    "after a password change before the user will be allowed " +
@@ -7780,12 +7780,12 @@
                    "passwords repeatedly over a short period of time to " +
                    "flush and old password from the history so that it may " +
                    "be re-used.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_MIN_AGE,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_MINIMUM_PASSWORD_AGE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_MAX_AGE,
                    "Specifies the maximum length of time that a user may " +
                    "continue using the same password before it must be " +
@@ -7794,12 +7794,12 @@
                    "by a unit of seconds, minutes, hours, days, or weeks.  " +
                    "A value of 0 seconds will disable password expiration.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_MAX_AGE,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_MAXIMUM_PASSWORD_AGE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_MAX_RESET_AGE,
                    "Specifies the maximum length of time that users have to " +
                    "change passwords after they have been reset by an " +
@@ -7808,12 +7808,12 @@
                    "unit of seconds, minutes, hours, days, or weeks.  A " +
                    "value of 0 seconds will disable this feature.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_MAX_RESET_AGE,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_MAXIMUM_PASSWORD_RESET_AGE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_WARNING_INTERVAL,
                    "Specifies the maximum length of time before a user's " +
                    "password actually expires that the server will begin " +
@@ -7822,11 +7822,11 @@
                    "integer followed by a unit of seconds, minutes, hours, " +
                    "days, or weeks.  A value of 0 seconds will disable " +
                    "the warning interval.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_WARNING_INTERVAL,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " + ATTR_PWPOLICY_WARNING_INTERVAL +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_EXPIRE_WITHOUT_WARNING,
                    "Indicates whether the Directory Server should allow " +
                    "a user's password to expire even if that user has " +
@@ -7837,12 +7837,12 @@
                    "one warning notification, and the password expiration " +
                    "will be set to the warning time plus the warning " +
                    "interval.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_EXPIRE_WITHOUT_WARNING,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_EXPIRE_WITHOUT_WARNING +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(
         MSGID_PWPOLICY_MUST_HAVE_WARNING_IF_NOT_EXPIRE_WITHOUT_WARNING,
         "The password policy defined in configuration entry %s is " +
@@ -7850,41 +7850,41 @@
         "the password is expired, but no warning interval has been set.  " +
         "If configuration attribute " + ATTR_PWPOLICY_EXPIRE_WITHOUT_WARNING +
         " is set to \"false\", then configuration attribute " +
         ATTR_PWPOLICY_WARNING_INTERVAL + " must have a positive value.");
         ATTR_PWPOLICY_WARNING_INTERVAL + " must have a positive value");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_ALLOW_EXPIRED_CHANGES,
                    "Indicates whether a user whose password is expired " +
                    "will still be allowed to change that password using " +
                    "the password modify extended operation.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_ALLOW_EXPIRED_CHANGES,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_ALLOW_EXPIRED_CHANGES +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_GRACE_LOGIN_COUNT,
                    "Specifies the number of grace logins that a user will " +
                    "be allowed after the account has expired to allow that " +
                    "user to choose a new password.  A value of 0 " +
                    "indicates that no grace logins will be allowed.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_GRACE_LOGIN_COUNT,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " + ATTR_PWPOLICY_GRACE_LOGIN_COUNT +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_LOCKOUT_FAILURE_COUNT,
                    "Specifies the maximum number of authentication failures " +
                    "that a user should be allowed before the account is " +
                    "locked out.  A value of 0 indicates that accounts " +
                    "should never be locked out due to failed attempts.  " +
                    "changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_LOCKOUT_FAILURE_COUNT,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_LOCKOUT_FAILURE_COUNT +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_LOCKOUT_DURATION,
                    "Specifies the length of time that an account should be " +
                    "locked after too many authentication failures.  The " +
@@ -7893,11 +7893,11 @@
                    "A value of 0 seconds indicates that the account should " +
                    "remain locked until an administrator resets the " +
                    "password.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_LOCKOUT_DURATION,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " + ATTR_PWPOLICY_LOCKOUT_DURATION +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_FAILURE_EXPIRATION,
                    "Specifies the length of time that should pass before " +
                    "an authentication failure is no longer counted against " +
@@ -7908,12 +7908,12 @@
                    "failures should never expire.  The failure count will " +
                    "always be cleared upon a successful authentication.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_FAILURE_EXPIRATION,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_LOCKOUT_FAILURE_EXPIRATION_INTERVAL +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_REQUIRE_CHANGE_BY_TIME,
                    "Specifies the time by which all users with the " +
                    "associated password policy must change their " +
@@ -7925,12 +7925,12 @@
                    "to the behavior observed when users are forced to " +
                    "change their passwords after an administrative reset.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_REQUIRE_CHANGE_BY_TIME,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_REQUIRE_CHANGE_BY_TIME +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_LAST_LOGIN_TIME_ATTR,
                    "Specifies the name or OID of the attribute type that "+
                    "should be used to hold the last login time for users " +
@@ -7940,17 +7940,17 @@
                    "must be allowed by the set of objectClasses for all " +
                    "users with the associated password policy.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_UNDEFINED_LAST_LOGIN_TIME_ATTRIBUTE,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because the " +
                    "specified last login time attribute \"%s\" is not " +
                    "defined in the server schema.");
                    "defined in the server schema");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_LAST_LOGIN_TIME_ATTR,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_LAST_LOGIN_TIME_ATTRIBUTE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_LAST_LOGIN_TIME_FORMAT,
                    "Specifies the format string that should be used to " +
                    "generate the last login time value for users with the " +
@@ -7959,7 +7959,7 @@
                    "documentation for the " +
                    "<CODE>java.text.SimpleDateFormat</CODE> class.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_INVALID_LAST_LOGIN_TIME_FORMAT,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because the " +
@@ -7967,12 +7967,12 @@
                    "a valid format string  The last login time format " +
                    "string should conform to the syntax described in the " +
                    "API documentation for the " +
                    "<CODE>java.text.SimpleDateFormat</CODE> class.");
                    "<CODE>java.text.SimpleDateFormat</CODE> class");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_LAST_LOGIN_TIME_FORMAT,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_LAST_LOGIN_TIME_FORMAT +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_PREVIOUS_LAST_LOGIN_TIME_FORMAT,
                    "Specifies the format string(s) that may have been " +
                    "used with the last login time at any point in the " +
@@ -7983,7 +7983,7 @@
                    "syntax described in the API documentation for the " +
                    "<CODE>java.text.SimpleDateFormat</CODE> class.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWPOLICY_INVALID_PREVIOUS_LAST_LOGIN_TIME_FORMAT,
                    "The password policy definition contained in " +
                    "configuration entry \"%s\" is invalid because the " +
@@ -7991,12 +7991,12 @@
                    "a valid format string  The previous last login time " +
                    "format strings should conform to the syntax described " +
                    "in the API documentation for the " +
                    "<CODE>java.text.SimpleDateFormat</CODE> class.");
                    "<CODE>java.text.SimpleDateFormat</CODE> class");
    registerMessage(
         MSGID_PWPOLICY_CANNOT_DETERMINE_PREVIOUS_LAST_LOGIN_TIME_FORMAT,
         "An error occurred while attempting to determine the values for " +
         "attribute " + ATTR_PWPOLICY_PREVIOUS_LAST_LOGIN_TIME_FORMAT +
         " in configuration entry %s:  %s.");
         " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_DESCRIPTION_IDLE_LOCKOUT_INTERVAL,
                    "Specifies the maximum length of time that an account " +
                    "may remain idle (i.e., the associated user does not" +
@@ -8007,174 +8007,174 @@
                    "accounts should not automatically be locked out.  This " +
                    "feature will only be available if the last login time " +
                    "is maintained.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PWPOLICY_CANNOT_DETERMINE_IDLE_LOCKOUT_INTERVAL,
                    "An error occurred while attempting to determine the " +
                    "value for attribute " +
                    ATTR_PWPOLICY_IDLE_LOCKOUT_INTERVAL +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_PWPOLICY_UPDATED_POLICY,
                    "The password policy defined in configuration entry %s " +
                    "has been successfully updated.");
                    "has been successfully updated");
    registerMessage(MSGID_PWPOLICY_ATTRIBUTE_OPTIONS_NOT_ALLOWED,
                    "Attribute options are not allowed for the password " +
                    "attribute %s.");
                    "attribute %s");
    registerMessage(MSGID_PWPOLICY_MULTIPLE_PW_VALUES_NOT_ALLOWED,
                    "Only a single value may be provided for the password " +
                    "attribute %s.");
                    "attribute %s");
    registerMessage(MSGID_PWPOLICY_PREENCODED_NOT_ALLOWED,
                    "Pre-encoded passwords are not allowed for the password " +
                    "attribute %s.");
                    "attribute %s");
    registerMessage(MSGID_PWPOLICY_VALIDATION_FAILED,
                    "The password value for attribute %s was found to be " +
                    "unacceptable:  %s.");
                    "unacceptable:  %s");
    registerMessage(MSGID_ENQUEUE_BIND_IN_PROGRESS,
                    "A bind operation is currently in progress on the " +
                    "associated client connection.  No other requests may " +
                    "be made on this client connection until the bind " +
                    "processing has completed.");
                    "processing has completed");
    registerMessage(MSGID_ENQUEUE_MUST_CHANGE_PASSWORD,
                    "You must change your password before you will be " +
                    "allowed to request any other operations.");
                    "allowed to request any other operations");
    registerMessage(MSGID_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN,
                    "An error occurred while attempting to decode the " +
                    OP_ATTR_PWPOLICY_POLICY_DN + " value \"%s\" in user " +
                    "entry \"%s\" as a DN:  %s.");
                    "entry \"%s\" as a DN:  %s");
    registerMessage(MSGID_PWPSTATE_NO_SUCH_POLICY,
                    "User entry %s is configured to use a password policy " +
                    "subentry of %s but no such password policy has been " +
                    "defined in the server configuration.");
                    "defined in the server configuration");
    registerMessage(MSGID_PWPSTATE_CANNOT_DECODE_GENERALIZED_TIME,
                    "An error occurred while attempting to decode value " +
                    "\"%s\" for attribute %s in user entry %s in accordance " +
                    "with the generalized time format:  %s.");
                    "with the generalized time format:  %s");
    registerMessage(MSGID_PWPSTATE_CANNOT_DECODE_BOOLEAN,
                    "Unable to decode value \"%s\" for attribute %s in user " +
                    "entry %s as a Boolean value.");
                    "entry %s as a Boolean value");
    registerMessage(MSGID_PWPSTATE_CANNOT_UPDATE_USER_ENTRY,
                    "An error occurred while attempting to update password " +
                    "policy state information for user %s:  %s.");
                    "policy state information for user %s:  %s");
    registerMessage(MSGID_ADD_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The entry %s cannot be added due to insufficient access rights.");
        "The entry %s cannot be added due to insufficient access rights");
    registerMessage(MSGID_BIND_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The user %s cannot bind due to insufficient access rights.");
        "The user %s cannot bind due to insufficient access rights");
    registerMessage(MSGID_COMPARE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The entry %s cannot be compared due to insufficient access rights.");
        "The entry %s cannot be compared due to insufficient access rights");
    registerMessage(MSGID_DELETE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The entry %s cannot be deleted due to insufficient access rights.");
        "The entry %s cannot be deleted due to insufficient access rights");
    registerMessage(MSGID_EXTENDED_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The extended operation %s cannot be performed "
            + "due to insufficient access rights.");
            + "due to insufficient access rights");
    registerMessage(MSGID_MODDN_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The entry %s cannot be renamed due to insufficient access rights.");
        "The entry %s cannot be renamed due to insufficient access rights");
    registerMessage(MSGID_MODIFY_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The entry %s cannot be modified due to insufficient access rights.");
        "The entry %s cannot be modified due to insufficient access rights");
    registerMessage(MSGID_SEARCH_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS,
        "The entry %s cannot be searched due to insufficient access rights.");
        "The entry %s cannot be searched due to insufficient access rights");
    registerMessage(MSGID_BIND_OPERATION_INSECURE_SIMPLE_BIND,
                    "Rejecting a simple bind request for user %s because the " +
                    "password policy requires secure authentication.");
                    "password policy requires secure authentication");
    registerMessage(MSGID_BIND_OPERATION_ACCOUNT_DISABLED,
                    "Rejecting a bind request for user %s because the " +
                    "account has been administrative disabled.");
                    "account has been administrative disabled");
    registerMessage(MSGID_BIND_OPERATION_ACCOUNT_EXPIRED,
                    "Rejecting a bind request for user %s because the " +
                    "account has expired.");
                    "account has expired");
    registerMessage(MSGID_BIND_OPERATION_ACCOUNT_FAILURE_LOCKED,
                    "Rejecting a bind request for user %s because the " +
                    "account has been locked due to too many failed " +
                    "authentication attempts.");
                    "authentication attempts");
    registerMessage(MSGID_BIND_OPERATION_ACCOUNT_RESET_LOCKED,
                    "Rejecting a bind request for user %s because the " +
                    "account has been locked after the user's password was " +
                    "not changed in a timely manner after an administrative " +
                    "reset.");
                    "reset");
    registerMessage(MSGID_BIND_OPERATION_ACCOUNT_IDLE_LOCKED,
                    "Rejecting a bind request for user %s because the " +
                    "account has been locked after remaining idle for too " +
                    "long.");
                    "long");
    registerMessage(MSGID_BIND_OPERATION_PASSWORD_EXPIRED,
                    "Rejecting a bind request for user %s because that " +
                    "user's password is expired.");
                    "user's password is expired");
    registerMessage(MSGID_BIND_OPERATION_INSECURE_SASL_BIND,
                    "Rejecting a SASL %s bind request for user %s because " +
                    "the password policy requires secure authentication.");
                    "the password policy requires secure authentication");
    registerMessage(MSGID_WORKQ_CANNOT_PARSE_DN,
                    "An error occurred while attempting to parse string %s " +
                    "as the DN of the work queue configuration entry:  %s.");
                    "as the DN of the work queue configuration entry:  %s");
    registerMessage(MSGID_WORKQ_NO_CONFIG,
                    "Work queue configuration entry %s does not exist in " +
                    "the server configuration.");
                    "the server configuration");
    registerMessage(MSGID_WORKQ_DESCRIPTION_CLASS,
                    "Specifies the fully-qualified name of the Java class " +
                    "that provides the core work queue logic for the " +
                    "Directory Server.  Changes to this configuration " +
                    "attribute require that the server be restarted for the " +
                    "change to take effect.");
                    "change to take effect");
    registerMessage(MSGID_WORKQ_NO_CLASS_ATTR,
                    "Configuration entry %s does not contain required " +
                    "attribute %s that specifies the fully-qualified class " +
                    "name for the work queue implementation.");
                    "name for the work queue implementation");
    registerMessage(MSGID_WORKQ_CANNOT_LOAD,
                    "An error occurred while trying to load class %s to use " +
                    "as the Directory Server work queue implementation:  %s.");
                    "as the Directory Server work queue implementation:  %s");
    registerMessage(MSGID_WORKQ_CANNOT_INSTANTIATE,
                    "An error occured while trying to create an instance " +
                    "of class %s to use as the Directory Server work queue:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_BIND_MULTIPLE_USER_LOOKTHROUGH_LIMITS,
                    "There are multiple user-specific lookthrough limit " +
                    "values contained in user entry %s.  The default server " +
                    "lookthrough limit will be used.");
                    "lookthrough limit will be used");
    registerMessage(MSGID_BIND_CANNOT_PROCESS_USER_LOOKTHROUGH_LIMIT,
                    "The user-specific lookthrough limit value %s contained " +
                    "in user entry %s could not be parsed as an integer.  " +
                    "The default server lookthrough limit will be used.");
                    "The default server lookthrough limit will be used");
    registerMessage(MSGID_REGISTER_BACKEND_ALREADY_EXISTS,
                    "Unable to register backend %s with the Directory Server " +
                    "because another backend with the same backend ID is " +
                    "already registered.");
                    "already registered");
    registerMessage(MSGID_REGISTER_BASEDN_ALREADY_EXISTS,
                    "Unable to register base DN %s with the Directory Server " +
                    "for backend %s because that base DN is already " +
                    "registered for backend %s.");
                    "registered for backend %s");
    registerMessage(MSGID_REGISTER_BASEDN_HIERARCHY_CONFLICT,
                    "Unable to register base DN %s with the Directory Server " +
                    "for backend %s because that backend already contains " +
                    "another base DN %s that is within the same hierarchical " +
                    "path.");
                    "path");
    registerMessage(MSGID_REGISTER_BASEDN_DIFFERENT_PARENT_BASES,
                    "Unable to register base DN %s with the Directory Server " +
                    "for backend %s because that backend already contains " +
                    "another base DN %s that is not subordinate to the same " +
                    "base DN in the parent backend.");
                    "base DN in the parent backend");
    registerMessage(MSGID_REGISTER_BASEDN_NEW_BASE_NOT_SUBORDINATE,
                    "Unable to register base DN %s with the Directory Server " +
                    "for backend %s because that backend already contains " +
                    "one or more other base DNs that are subordinate to " +
                    "backend %s but the new base DN is not.");
                    "backend %s but the new base DN is not");
    registerMessage(MSGID_REGISTER_BASEDN_ENTRIES_IN_MULTIPLE_BACKENDS,
                    "Backend %s already contains entry %s which has just " +
                    "been registered as the base DN for backend %s.  " +
                    "These conflicting entries may cause unexpected or " +
                    "errant search results, and both backends should be " +
                    "reinitialized to ensure that each has the correct " +
                    "content.");
                    "content");
    registerMessage(MSGID_DEREGISTER_BASEDN_NOT_REGISTERED,
                    "Unable to de-register base DN %s with the Directory " +
                    "Server because that base DN is not registered for any " +
                    "active backend.");
                    "active backend");
    registerMessage(MSGID_DEREGISTER_BASEDN_MISSING_HIERARCHY,
                    "Base DN %s has been deregistered from the Directory " +
                    "Server for backend %s.  This base DN had both superior " +
@@ -8182,16 +8182,16 @@
                    "may be inconsistent or unexpected behavior when " +
                    "accessing entries in this portion of the hierarchy " +
                    "because of the missing entries that had been held in " +
                    "the de-registered backend.");
                    "the de-registered backend");
    registerMessage(MSGID_REJECT_UNAUTHENTICATED_OPERATION,
                     "Rejecting the requested operation  " +
                     "because the connection has not been authenticated.");
                     "because the connection has not been authenticated");
    registerMessage(MSGID_CLIENTCONNECTION_DISCONNECT_DUE_TO_DELETE,
                    "Terminating the client connection because its " +
                    "associated authentication or authorization entry %s has " +
                    "been deleted.");
                    "been deleted");
    registerMessage(MSGID_CLIENTCONNECTION_AUDIT_HASPRIVILEGE,
                    "hasPrivilege determination for connID=%d opID=%d " +
                    "requesterDN=\"%s\" privilege=\"%s\" result=%b");
@@ -8200,11 +8200,11 @@
                    "requesterDN=\"%s\" privilegeSet=\"%s\" result=%b");
    registerMessage(MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to use the " +
                    "proxied authorization control.");
                    "proxied authorization control");
    registerMessage(MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to use the " +
                    "proxied authorization control.");
                    "proxied authorization control");
  }
}
opends/src/server/org/opends/server/messages/ExtensionsMessages.java
@@ -5020,26 +5020,26 @@
  {
    registerMessage(MSGID_PWSCHEME_CANNOT_INITIALIZE_MESSAGE_DIGEST,
                    "An error occurred while attempting to initialize the " +
                    "message digest generator for the %s algorithm:  %s.");
                    "message digest generator for the %s algorithm:  %s");
    registerMessage(MSGID_PWSCHEME_CANNOT_BASE64_DECODE_STORED_PASSWORD,
                    "An error occurred while attempting to base64-decode " +
                    "the password value %s:  %s.");
                    "the password value %s:  %s");
    registerMessage(MSGID_PWSCHEME_DOES_NOT_SUPPORT_AUTH_PASSWORD,
                    "Password storage scheme %s does not support use with " +
                    "the authentication password attribute syntax.");
                    "the authentication password attribute syntax");
    registerMessage(MSGID_PWSCHEME_NOT_REVERSIBLE,
                    "The %s password storage scheme is not reversible, so it " +
                    "is impossible to recover the plaintext version of an " +
                    "encoded password.");
                    "encoded password");
    registerMessage(MSGID_PWSCHEME_CANNOT_ENCODE_PASSWORD,
                    "An unexpected error occurred while attempting to encode " +
                    "a password using the storage scheme defined in class " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_JMX_ALERT_HANDLER_CANNOT_REGISTER,
                    "An error occurred while trying to register the JMX " +
                    "alert handler with the MBean server:  %s.");
                    "alert handler with the MBean server:  %s");
    registerMessage(MSGID_FIFOCACHE_DESCRIPTION_MAX_MEMORY_PCT,
@@ -5050,12 +5050,12 @@
                    "effect immediately, although if the value is reduced " +
                    "to a percentage that is less than the current " +
                    "consumption in the JVM, it may take some time for " +
                    "existing cache items to be purged.");
                    "existing cache items to be purged");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DETERMINE_MAX_MEMORY_PCT,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_FIFOCACHE_MAX_MEMORY_PCT +
                    " attribute in configuration entry %s:  %s.  The default " +
                    "of %d will be used.");
                    "of %d will be used");
    registerMessage(MSGID_FIFOCACHE_DESCRIPTION_MAX_ENTRIES,
                    "Specifies the maximum number of entries that may be " +
                    "held in the entry cache, with a value of zero " +
@@ -5065,24 +5065,24 @@
                    "will take effect immediately, although if it is reduced " +
                    "to a value that is less than the number of entries " +
                    "currently held in the cache, it may take some time for " +
                    "existing cache items to be purged.");
                    "existing cache items to be purged");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DETERMINE_MAX_ENTRIES,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_FIFOCACHE_MAX_ENTRIES +
                    " attribute in configuration entry %s:  %s.  No hard " +
                    "limit on the number of entries will be enforced, but " +
                    "the value of " + ATTR_FIFOCACHE_MAX_MEMORY_PCT +
                    " will still be observed.");
                    " will still be observed");
    registerMessage(MSGID_FIFOCACHE_DESCRIPTION_LOCK_TIMEOUT,
                    "Specifies the maximum length of time in milliseconds " +
                    "that the entry cache should block while attempting " +
                    "to acquire a lock for an entry.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DETERMINE_LOCK_TIMEOUT,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_FIFOCACHE_LOCK_TIMEOUT +
                    " attribute in configuration entry %s:  %s.  The default " +
                    "of %d will be used.");
                    "of %d will be used");
    registerMessage(MSGID_FIFOCACHE_DESCRIPTION_INCLUDE_FILTERS,
                    "Specifies a set of search filters that may be used to " +
                    "indicate which entries should be included in the entry " +
@@ -5091,22 +5091,22 @@
                    "are provided, then any entry will be accepted.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately, but will not impact existing entries that " +
                    "are already held in the cache.");
                    "are already held in the cache");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DECODE_INCLUDE_FILTER,
                    "An error occurred while attempting to decode the value " +
                    "\"%s\" from attribute " + ATTR_FIFOCACHE_INCLUDE_FILTER +
                    " of entry %s:  %s.  This filter will not be used when " +
                    "determining whether to store an entry in the cache.");
                    "determining whether to store an entry in the cache");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DECODE_ANY_INCLUDE_FILTERS,
                    "An error occurred while attempting to decode any of the " +
                    "values from attribute " + ATTR_FIFOCACHE_INCLUDE_FILTER +
                    " of entry %s.  All entries will be considered eligible " +
                    "for inclusion in the cache.");
                    "for inclusion in the cache");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DETERMINE_INCLUDE_FILTERS,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_FIFOCACHE_INCLUDE_FILTER +
                    " attribute in configuration entry %s:  %s.  All entries " +
                    "will be considered eligible for inclusion in the cache.");
                    "will be considered eligible for inclusion in the cache");
    registerMessage(MSGID_FIFOCACHE_DESCRIPTION_EXCLUDE_FILTERS,
                    "Specifies a set of search filters that may be used to " +
                    "indicate which entries should be excluded from the " +
@@ -5115,61 +5115,61 @@
                    "provided, then any entry will be accepted.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately, but will not impact existing entries that " +
                    "are already held in the cache.");
                    "are already held in the cache");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DECODE_EXCLUDE_FILTER,
                    "An error occurred while attempting to decode the value " +
                    "\"%s\" from attribute " + ATTR_FIFOCACHE_EXCLUDE_FILTER +
                    " of entry %s:  %s.  This filter will not be used when " +
                    "determining whether to store an entry in the cache.");
                    "determining whether to store an entry in the cache");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DECODE_ANY_EXCLUDE_FILTERS,
                    "An error occurred while attempting to decode any of the " +
                    "values from attribute " + ATTR_FIFOCACHE_EXCLUDE_FILTER +
                    " of entry %s.  All entries will be considered eligible " +
                    "for inclusion in the cache.");
                    "for inclusion in the cache");
    registerMessage(MSGID_FIFOCACHE_CANNOT_DETERMINE_EXCLUDE_FILTERS,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_FIFOCACHE_EXCLUDE_FILTER +
                    " attribute in configuration entry %s:  %s.  All entries " +
                    "will be considered eligible for inclusion in the cache.");
                    "will be considered eligible for inclusion in the cache");
    registerMessage(MSGID_FIFOCACHE_INVALID_MAX_MEMORY_PCT,
                    "The " + ATTR_FIFOCACHE_MAX_MEMORY_PCT + " attribute of " +
                    "entry %s, which holds the maximum percentage of JVM " +
                    "memory available for use in the entry cache, has an " +
                    "invalid value:  %s.  Its value must be an integer " +
                    "between 1 and 100.");
                    "between 1 and 100");
    registerMessage(MSGID_FIFOCACHE_INVALID_MAX_ENTRIES,
                    "The " + ATTR_FIFOCACHE_MAX_ENTRIES + " attribute of " +
                    "entry %s, which specifies the maximum number of entries " +
                    "that may be held in the entry cache, has an invalid " +
                    "value:  %s.  Its value must be a positive integer, or " +
                    "zero to indicate that no limit should be enforced.");
                    "zero to indicate that no limit should be enforced");
    registerMessage(MSGID_FIFOCACHE_INVALID_LOCK_TIMEOUT,
                    "The " + ATTR_FIFOCACHE_LOCK_TIMEOUT + " attribute of " +
                    "entry %s, which specifies the maximum length of time in " +
                    "milliseconds that the cache should block while " +
                    "attempting to obtain a lock on an entry, has an invalid " +
                    "value:  %s.  Its value must be a positive integer, or " +
                    "zero to indicate that it should never block.");
                    "zero to indicate that it should never block");
    registerMessage(MSGID_FIFOCACHE_INVALID_INCLUDE_FILTER,
                    "The " + ATTR_FIFOCACHE_INCLUDE_FILTER + " attribute of " +
                    "entry %s, which specifies a set of search filters that " +
                    "may be used to control which entries are included in " +
                    "the cache, has an invalid value of \"%s\":  %s.");
                    "the cache, has an invalid value of \"%s\":  %s");
    registerMessage(MSGID_FIFOCACHE_INVALID_INCLUDE_FILTERS,
                    "The " + ATTR_FIFOCACHE_INCLUDE_FILTER + " attribute of " +
                    "entry %s, which specifies a set of search filters that " +
                    "may be used to control which entries are included in " +
                    "the cache, has an invalid value:  %s.");
                    "the cache, has an invalid value:  %s");
    registerMessage(MSGID_FIFOCACHE_INVALID_EXCLUDE_FILTER,
                    "The " + ATTR_FIFOCACHE_EXCLUDE_FILTER + " attribute of " +
                    "entry %s, which specifies a set of search filters that " +
                    "may be used to control which entries are excluded from " +
                    "the cache, has an invalid value of \"%s\":  %s.");
                    "the cache, has an invalid value of \"%s\":  %s");
    registerMessage(MSGID_FIFOCACHE_INVALID_EXCLUDE_FILTERS,
                    "The " + ATTR_FIFOCACHE_EXCLUDE_FILTER + " attribute of " +
                    "entry %s, which specifies a set of search filters that " +
                    "may be used to control which entries are excluded from " +
                    "the cache, has an invalid value:  %s.");
                    "the cache, has an invalid value:  %s");
    registerMessage(MSGID_FIFOCACHE_UPDATED_MAX_MEMORY_PCT,
                    "The amount of memory that may be used for the entry " +
                    "cache has been updated to %d percent of the total " +
@@ -5177,24 +5177,24 @@
                    "bytes.  If this percentage has been reduced, it may " +
                    "take some time for entries to be purged so that the " +
                    "current cache memory consumption can reflect this new " +
                    "setting.");
                    "setting");
    registerMessage(MSGID_FIFOCACHE_UPDATED_MAX_ENTRIES,
                    "The number of entries that may be held in the entry " +
                    "cache has been updated to %d.  If this value has been " +
                    "reduced, it may take some time for entries to be purged " +
                    "so that the cache can reflect this new setting.");
                    "so that the cache can reflect this new setting");
    registerMessage(MSGID_FIFOCACHE_UPDATED_LOCK_TIMEOUT,
                    "The lock timeout that will be used to determine the " +
                    "length of time that the cache should block while " +
                    "attempting to acquire a lock for an entry has been " +
                    "set to %d milliseconds.");
                    "set to %d milliseconds");
    registerMessage(MSGID_FIFOCACHE_UPDATED_INCLUDE_FILTERS,
                    "The set of search filters that will control which " +
                    "entries may be included in the cache has been updated.");
                    "entries may be included in the cache has been updated");
    registerMessage(MSGID_FIFOCACHE_UPDATED_EXCLUDE_FILTERS,
                    "The set of search filters that will control which " +
                    "entries should be be excluded from the cache has been " +
                    "updated.");
                    "updated");
    registerMessage(MSGID_EXTOP_PASSMOD_NO_SUCH_ID_MAPPER,
@@ -5203,127 +5203,127 @@
                    "operation defined in entry %s either does not exist or " +
                    "is not enabled.  The identity mapper is a required " +
                    "component, and the password modify extended operation " +
                    "will not be enabled.");
                    "will not be enabled");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_DETERMINE_ID_MAPPER,
                    "An error occurred while attempting to determine the " +
                    "identity mapper to use in conjunction with the password " +
                    "modify extended operation defined in configuration " +
                    "entry %s:  %s.  The password modify extended operation " +
                    "will not be enabled for use in the server.");
                    "will not be enabled for use in the server");
    registerMessage(MSGID_EXTOP_PASSMOD_ILLEGAL_REQUEST_ELEMENT_TYPE,
                    "The password modify extended request sequence included " +
                    "an ASN.1 element of an invalid type:  %s.");
                    "an ASN.1 element of an invalid type:  %s");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_DECODE_REQUEST,
                    "An unexpected error occurred while attempting to decode " +
                    "the password modify extended request sequence:  %s.");
                    "the password modify extended request sequence:  %s");
    registerMessage(MSGID_EXTOP_PASSMOD_NO_AUTH_OR_USERID,
                    "The password modify extended request cannot be " +
                    "processed because it does not contain an authorization " +
                    "ID and the underlying connection is not authenticated.");
                    "ID and the underlying connection is not authenticated");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_LOCK_USER_ENTRY,
                    "The password modify extended request cannot be " +
                    "processed because the server was unable to obtain a " +
                    "write lock on user entry %s after multiple attempts.");
                    "write lock on user entry %s after multiple attempts");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_DECODE_AUTHZ_DN,
                    "The password modify extended request cannot be " +
                    "processed because the server cannot decode \"%s\" as a " +
                    "valid DN for use in the authorization ID for the " +
                    "operation.");
                    "operation");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_MAP_USER,
                    "The provided authorization ID string \"%s\" could not " +
                    "be mapped to any user in the directory.");
                    "be mapped to any user in the directory");
    registerMessage(MSGID_EXTOP_PASSMOD_ERROR_MAPPING_USER,
                    "An error occurred while attempting to map authorization " +
                    "ID string \"%s\" to a user entry:  %s.");
                    "ID string \"%s\" to a user entry:  %s");
    registerMessage(MSGID_EXTOP_PASSMOD_INVALID_AUTHZID_STRING,
                    "The password modify extended request cannot be " +
                    "processed because it contained an invalid authorization " +
                    "ID that did not start with either \"dn:\" or \"u:\".  " +
                    "The provided authorization ID string was \"%s\".");
                    "The provided authorization ID string was \"%s\"");
    registerMessage(MSGID_EXTOP_PASSMOD_NO_USER_ENTRY_BY_AUTHZID,
                    "The password modify extended request cannot be " +
                    "processed because it was not possible to identify the " +
                    "user entry to update based on the authorization DN of " +
                    "\"%s\".");
                    "\"%s\"");
    registerMessage(MSGID_EXTOP_PASSMOD_NO_DN_BY_AUTHZID,
                    "The password modify extended request cannot be " +
                    "processed because the provided authorization UID of " +
                    "\"%s\" did not match any entries in the directory.");
                    "\"%s\" did not match any entries in the directory");
    registerMessage(MSGID_EXTOP_PASSMOD_MULTIPLE_ENTRIES_BY_AUTHZID,
                    "The password modify extended request cannot be " +
                    "processed because the provided authorization UID of " +
                    "\"%s\" matched more than one entry in the directory.");
                    "\"%s\" matched more than one entry in the directory");
    registerMessage(MSGID_EXTOP_PASSMOD_INVALID_OLD_PASSWORD,
                    "The password modify extended operation cannot be " +
                    "processed because the current password provided for the " +
                    "user is invalid.");
                    "user is invalid");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_GET_PW_POLICY,
                    "An error occurred while attempting to get the " +
                    "password policy for user %s:  %s.");
                    "password policy for user %s:  %s");
    registerMessage(MSGID_EXTOP_PASSMOD_INSUFFICIENT_PRIVILEGES,
                    "You do not have sufficient privileges to perform " +
                    "password reset operations.");
                    "password reset operations");
    registerMessage(MSGID_EXTOP_PASSMOD_ACCOUNT_DISABLED,
                    "The user account has been administratively disabled.");
                    "The user account has been administratively disabled");
    registerMessage(MSGID_EXTOP_PASSMOD_ACCOUNT_LOCKED,
                    "The user account is locked.");
                    "The user account is locked");
    registerMessage(MSGID_EXTOP_PASSMOD_REQUIRE_CURRENT_PW,
                    "The current password must be provided for self password " +
                    "changes.");
                    "changes");
    registerMessage(MSGID_EXTOP_PASSMOD_SECURE_AUTH_REQUIRED,
                    "Password modify operations that supply the user's " +
                    "current password must be performed over a secure " +
                    "communication channel.");
                    "communication channel");
    registerMessage(MSGID_EXTOP_PASSMOD_USER_PW_CHANGES_NOT_ALLOWED,
                    "End users are not allowed to change their passwords.");
                    "End users are not allowed to change their passwords");
    registerMessage(MSGID_EXTOP_PASSMOD_SECURE_CHANGES_REQUIRED,
                    "Password changes must be performed over a secure " +
                    "communication channel.");
                    "communication channel");
    registerMessage(MSGID_EXTOP_PASSMOD_IN_MIN_AGE,
                    "The password cannot be changed because the previous " +
                    "password change was too recent.");
                    "password change was too recent");
    registerMessage(MSGID_EXTOP_PASSMOD_PASSWORD_IS_EXPIRED,
                    "The password cannot be changed because it is expired.");
                    "The password cannot be changed because it is expired");
    registerMessage(MSGID_EXTOP_PASSMOD_NO_PW_GENERATOR,
                    "No new password was provided, and no password generator " +
                    "has been defined that may be used to automatically " +
                    "create a new password.");
                    "create a new password");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_GENERATE_PW,
                    "An error occurred while attempting to create a new " +
                    "password using the password generator:  %s.");
                    "password using the password generator:  %s");
    registerMessage(MSGID_EXTOP_PASSMOD_PRE_ENCODED_NOT_ALLOWED,
                    "The password policy does not allow users to supply " +
                    "pre-encoded passwords.");
                    "pre-encoded passwords");
    registerMessage(MSGID_EXTOP_PASSMOD_UNACCEPTABLE_PW,
                    "The provided new password failed the validation checks " +
                    "defined in the server:  %s.");
                    "defined in the server:  %s");
    registerMessage(MSGID_EXTOP_PASSMOD_CANNOT_ENCODE_PASSWORD,
                    "Unable to encode the provided password using the " +
                    "default scheme(s):  %s.");
                    "default scheme(s):  %s");
    registerMessage(MSGID_EXTOP_PASSMOD_NOOP,
                    "The password modify operation was not actually " +
                    "performed in the Directory Server because the LDAP " +
                    "no-op control was present in the request.");
                    "no-op control was present in the request");
    registerMessage(MSGID_FILE_KEYMANAGER_DESCRIPTION_FILE,
                    "Specifies the path to the file containing the Directory " +
                    "Server keystore information.  Changes to this " +
                    "configuration attribute will take effect the next time " +
                    "that the key manager is accessed.");
                    "that the key manager is accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_NO_FILE_ATTR,
                    "The configuration entry %s that defines a file-based " +
                    "key manager does not contain attribute " +
                    ATTR_KEYSTORE_FILE + " that should hold the path to the " +
                    "keystore file.");
                    "keystore file");
    registerMessage(MSGID_FILE_KEYMANAGER_NO_SUCH_FILE,
                    "The keystore file %s specified in attribute " +
                    ATTR_KEYSTORE_FILE + " of configuration entry %s does " +
                    " not exist.");
                    " not exist");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_FILE,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_FILE + " in configuration entry %s:  %s.");
                    ATTR_KEYSTORE_FILE + " in configuration entry %s:  %s");
    registerMessage(MSGID_FILE_KEYMANAGER_DESCRIPTION_TYPE,
                    "Specifies the keystore type for the Directory Server " +
                    "keystore.  Valid values should always include 'JKS' and " +
@@ -5331,82 +5331,82 @@
                    "values as well.  If no value is provided, then the " +
                    "JVM-default value will be used.  Changes to this " +
                    "configuration attribute will take effect the next time " +
                    "that the key manager is accessed.");
                    "that the key manager is accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_INVALID_TYPE,
                    "The keystore type %s specified in attribute " +
                    ATTR_KEYSTORE_TYPE + " of configuration entry %s is not " +
                    "valid:  %s.");
                    "valid:  %s");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_TYPE,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_TYPE + " in configuration entry %s:  %s.");
                    ATTR_KEYSTORE_TYPE + " in configuration entry %s:  %s");
    registerMessage(MSGID_FILE_KEYMANAGER_DESCRIPTION_PIN_PROPERTY,
                    "Specifies the name of the Java property that contains " +
                    "the clear-text PIN needed to access the file-based " +
                    "key manager.  Changes to this configuration attribute " +
                    "will take effect the next time that the key manager is " +
                    "accessed.");
                    "accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_PIN_PROPERTY_NOT_SET,
                    "Java property %s which is specified in attribute " +
                    ATTR_KEYSTORE_PIN_PROPERTY + " of configuration entry %s " +
                    "should contain the PIN needed to access the file-based " +
                    "key manager, but this property is not set.");
                    "key manager, but this property is not set");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN_PROPERTY + " in configuration entry " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_FILE_KEYMANAGER_DESCRIPTION_PIN_ENVAR,
                    "Specifies the name of the environment variable that " +
                    "contains the clear-text PIN needed to access the " +
                    "file-based key manager.  Changes to this configuration " +
                    "attribute will take effect the next time that the " +
                    "key manager is accessed.");
                    "key manager is accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_PIN_ENVAR_NOT_SET,
                    "Environment variable %s which is specified in attribute " +
                    ATTR_KEYSTORE_PIN_ENVAR + " of configuration entry %s " +
                    "should contain the PIN needed to access the file-based " +
                    "key manager, but this property is not set.");
                    "key manager, but this property is not set");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN_ENVAR + " in configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_FILE_KEYMANAGER_DESCRIPTION_PIN_FILE,
                    "Specifies the path to the text file whose only contents " +
                    "should be a single line containing the clear-text PIN " +
                    "needed to access the file-based key manager.  Changes " +
                    "to this configuration attribute will take effect the " +
                    "next time that the key manager is accessed.");
                    "next time that the key manager is accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_PIN_NO_SUCH_FILE,
                    "File %s specified in attribute " + ATTR_KEYSTORE_PIN_FILE +
                    " of configuration entry %s should contain the PIN " +
                    "needed to access the file-based key manager, but this " +
                    "file does not exist.");
                    "file does not exist");
    registerMessage(MSGID_FILE_KEYMANAGER_PIN_FILE_CANNOT_READ,
                    "An error occurred while trying to read the keystore PIN " +
                    "from file %s specified in configuration attribute " +
                    ATTR_KEYSTORE_PIN_FILE + " of configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_FILE_KEYMANAGER_PIN_FILE_EMPTY,
                    "File %s specified in attribute " + ATTR_KEYSTORE_PIN_FILE +
                    " of configuration entry %s should contain the PIN " +
                    "needed to access the file-based key manager, but this " +
                    "file is empty.");
                    "file is empty");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN_FILE + " in configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_FILE_KEYMANAGER_DESCRIPTION_PIN_ATTR,
                    "Specifies the clear-text PIN needed to access the " +
                    "file-based key manager.  Changes to this configuration " +
                    "attribute will take effect the next time that the " +
                    "key manager is accessed.");
                    "key manager is accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN + " in configuration entry %s:  %s.");
                    ATTR_KEYSTORE_PIN + " in configuration entry %s:  %s");
    registerMessage(MSGID_FILE_KEYMANAGER_NO_PIN,
                    "Configuration entry %s does not specify a means of " +
                    "determining the PIN needed to access the contents of " +
@@ -5416,27 +5416,27 @@
                    "variable (named by attribute " + ATTR_KEYSTORE_PIN_ENVAR +
                    "), a text file (named by attribute " +
                    ATTR_KEYSTORE_PIN_FILE + "), or directly in the entry " +
                    "using attribute " + ATTR_KEYSTORE_PIN + ".");
                    "using attribute " + ATTR_KEYSTORE_PIN + "");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_LOAD,
                    "An error occurred while trying to load the keystore " +
                    "contents from file %s:  %s.");
                    "contents from file %s:  %s");
    registerMessage(MSGID_FILE_KEYMANAGER_CANNOT_CREATE_FACTORY,
                    "An error occurred while trying to create a key manager " +
                    "factory to access the contents of keystore file %s:  %s.");
                    "factory to access the contents of keystore file %s:  %s");
    registerMessage(MSGID_FILE_KEYMANAGER_UPDATED_FILE,
                    "The value of the " + ATTR_KEYSTORE_FILE +
                    " attribute in configuration entry %s has been updated " +
                    "to %s.  The new value will take effect the next time " +
                    "the key manager is accessed.");
                    "the key manager is accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_UPDATED_TYPE,
                    "The value of the " + ATTR_KEYSTORE_TYPE +
                    " attribute in configuration entry %s has been updated " +
                    "to %s.  The new value will take effect the next time " +
                    "the key manager is accessed.");
                    "the key manager is accessed");
    registerMessage(MSGID_FILE_KEYMANAGER_UPDATED_PIN,
                    "The PIN to use to access the file-based key manager has " +
                    "been updated.  The new value will take effect the next " +
                    "time the key manager is accessed.");
                    "time the key manager is accessed");
    registerMessage(MSGID_PKCS11_KEYMANAGER_DESCRIPTION_PIN_PROPERTY,
@@ -5444,68 +5444,68 @@
                    "the clear-text PIN needed to access the PKCS#11 key " +
                    "manager.  Changes to this configuration attribute will " +
                    "take effect the next time that the key manager is " +
                    "accessed.");
                    "accessed");
    registerMessage(MSGID_PKCS11_KEYMANAGER_PIN_PROPERTY_NOT_SET,
                    "Java property %s which is specified in attribute " +
                    ATTR_KEYSTORE_PIN_PROPERTY + " of configuration entry %s " +
                    "should contain the PIN needed to access the PKCS#11 key " +
                    "manager, but this property is not set.");
                    "manager, but this property is not set");
    registerMessage(MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_PROPERTY,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN_PROPERTY + " in configuration entry " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_PKCS11_KEYMANAGER_DESCRIPTION_PIN_ENVAR,
                    "Specifies the name of the environment variable that " +
                    "contains the clear-text PIN needed to access the " +
                    "PKCS#11 key manager.  Changes to this configuration " +
                    "attribute will take effect the next time that the key " +
                    "manager is accessed.");
                    "manager is accessed");
    registerMessage(MSGID_PKCS11_KEYMANAGER_PIN_ENVAR_NOT_SET,
                    "Environment variable %s which is specified in attribute " +
                    ATTR_KEYSTORE_PIN_ENVAR + " of configuration entry %s " +
                    "should contain the PIN needed to access the PKCS#11 " +
                    "key manager, but this property is not set.");
                    "key manager, but this property is not set");
    registerMessage(MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_ENVAR,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN_ENVAR + " in configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_PKCS11_KEYMANAGER_DESCRIPTION_PIN_FILE,
                    "Specifies the path to the text file whose only contents " +
                    "should be a single line containing the clear-text PIN " +
                    "needed to access the PKCS#11 key manager.  Changes to " +
                    "this configuration attribute will take effect the next " +
                    "time that the key manager is accessed.");
                    "time that the key manager is accessed");
    registerMessage(MSGID_PKCS11_KEYMANAGER_PIN_NO_SUCH_FILE,
                    "File %s specified in attribute " + ATTR_KEYSTORE_PIN_FILE +
                    " of configuration entry %s should contain the PIN " +
                    "needed to access the PKCS#11 key manager, but this file " +
                    "does not exist.");
                    "does not exist");
    registerMessage(MSGID_PKCS11_KEYMANAGER_PIN_FILE_CANNOT_READ,
                    "An error occurred while trying to read the keystore PIN " +
                    "from file %s specified in configuration attribute " +
                    ATTR_KEYSTORE_PIN_FILE + " of configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_PKCS11_KEYMANAGER_PIN_FILE_EMPTY,
                    "File %s specified in attribute " + ATTR_KEYSTORE_PIN_FILE +
                    " of configuration entry %s should contain the PIN " +
                    "needed to access the PKCS#11 key manager, but this file " +
                    "is empty.");
                    "is empty");
    registerMessage(MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FILE,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN_FILE + " in configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_PKCS11_KEYMANAGER_DESCRIPTION_PIN_ATTR,
                    "Specifies the clear-text PIN needed to access the " +
                    "PKCS#11 key manager.  Changes to this configuration " +
                    "attribute will take effect the next time that the key " +
                    "manager is accessed.");
                    "manager is accessed");
    registerMessage(MSGID_PKCS11_KEYMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_KEYSTORE_PIN + " in configuration entry %s:  %s.");
                    ATTR_KEYSTORE_PIN + " in configuration entry %s:  %s");
    registerMessage(MSGID_PKCS11_KEYMANAGER_NO_PIN,
                    "Configuration entry %s does not specify a means of " +
                    "determining the PIN needed to access the contents of " +
@@ -5515,38 +5515,38 @@
                    "variable (named by attribute " + ATTR_KEYSTORE_PIN_ENVAR +
                    "), a text file (named by attribute " +
                    ATTR_KEYSTORE_PIN_FILE + "), or directly in the entry " +
                    "using attribute " + ATTR_KEYSTORE_PIN + ".");
                    "using attribute " + ATTR_KEYSTORE_PIN + "");
    registerMessage(MSGID_PKCS11_KEYMANAGER_CANNOT_LOAD,
                    "An error occurred while trying to access the PKCS#11 " +
                    "key manager:  %s.");
                    "key manager:  %s");
    registerMessage(MSGID_PKCS11_KEYMANAGER_CANNOT_CREATE_FACTORY,
                    "An error occurred while trying to create a key manager " +
                    "factory to access the contents of the PKCS#11 " +
                    "keystore:  %s.");
                    "keystore:  %s");
    registerMessage(MSGID_PKCS11_KEYMANAGER_UPDATED_PIN,
                    "The PIN to use to access the PKCS#11 key manager has " +
                    "been updated.  The new value will take effect the next " +
                    "time the key manager is accessed.");
                    "time the key manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_DESCRIPTION_FILE,
                    "Specifies the path to the file containing the Directory " +
                    "Server trust store information.  Changes to this " +
                    "configuration attribute will take effect the next time " +
                    "that the trust manager is accessed.");
                    "that the trust manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_NO_FILE_ATTR,
                    "The configuration entry %s that defines a file-based " +
                    "trust manager does not contain attribute " +
                    ATTR_TRUSTSTORE_FILE + " that should hold the path to " +
                    "the trust store file.");
                    "the trust store file");
    registerMessage(MSGID_FILE_TRUSTMANAGER_NO_SUCH_FILE,
                    "The trust store file %s specified in attribute " +
                    ATTR_TRUSTSTORE_FILE + " of configuration entry %s does " +
                    " not exist.");
                    " not exist");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_FILE,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_TRUSTSTORE_FILE + " in configuration entry %s:  %s.");
                    ATTR_TRUSTSTORE_FILE + " in configuration entry %s:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_DESCRIPTION_TYPE,
                    "Specifies the keystore type for the Directory Server " +
                    "trust store.  Valid values should always include 'JKS' " +
@@ -5554,127 +5554,127 @@
                    "other values as well.  If no value is provided, then " +
                    "the JVM-default value will be used.  Changes to this " +
                    "configuration attribute will take effect the next time " +
                    "that the trust manager is accessed.");
                    "that the trust manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_INVALID_TYPE,
                    "The trust store type %s specified in attribute " +
                    ATTR_TRUSTSTORE_TYPE + " of configuration entry %s is " +
                    "not valid:  %s.");
                    "not valid:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_TYPE,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_TRUSTSTORE_TYPE + " in configuration entry %s:  %s.");
                    ATTR_TRUSTSTORE_TYPE + " in configuration entry %s:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_DESCRIPTION_PIN_PROPERTY,
                    "Specifies the name of the Java property that contains " +
                    "the clear-text PIN needed to access the file-based " +
                    "trust manager.  Changes to this configuration attribute " +
                    "will take effect the next time that the trust manager " +
                    "is accessed.");
                    "is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_PIN_PROPERTY_NOT_SET,
                    "Java property %s which is specified in attribute " +
                    ATTR_TRUSTSTORE_PIN_PROPERTY + " of configuration entry " +
                    "%s should contain the PIN needed to access the " +
                    "file-based trust manager, but this property is not set.");
                    "file-based trust manager, but this property is not set");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_PROPERTY,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_TRUSTSTORE_PIN_PROPERTY + " in configuration entry " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_DESCRIPTION_PIN_ENVAR,
                    "Specifies the name of the environment variable that " +
                    "contains the clear-text PIN needed to access the " +
                    "file-based trust manager.  Changes to this " +
                    "configuration attribute will take effect the next time " +
                    "that the trust manager is accessed.");
                    "that the trust manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_PIN_ENVAR_NOT_SET,
                    "Environment variable %s which is specified in attribute " +
                    ATTR_TRUSTSTORE_PIN_ENVAR + " of configuration entry %s " +
                    "should contain the PIN needed to access the file-based " +
                    "trust manager, but this property is not set.");
                    "trust manager, but this property is not set");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_ENVAR,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_TRUSTSTORE_PIN_ENVAR + " in configuration entry " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_DESCRIPTION_PIN_FILE,
                    "Specifies the path to the text file whose only contents " +
                    "should be a single line containing the clear-text PIN " +
                    "needed to access the file-based trust manager.  Changes " +
                    "to this configuration attribute will take effect the " +
                    "next time that the trust manager is accessed.");
                    "next time that the trust manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_PIN_NO_SUCH_FILE,
                    "File %s specified in attribute " +
                    ATTR_TRUSTSTORE_PIN_FILE + " of configuration entry %s " +
                    "should contain the PIN needed to access the file-based " +
                    "trust manager, but this file does not exist.");
                    "trust manager, but this file does not exist");
    registerMessage(MSGID_FILE_TRUSTMANAGER_PIN_FILE_CANNOT_READ,
                    "An error occurred while trying to read the trust store " +
                    "PIN from file %s specified in configuration attribute " +
                    ATTR_TRUSTSTORE_PIN_FILE + " of configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_PIN_FILE_EMPTY,
                    "File %s specified in attribute " +
                    ATTR_TRUSTSTORE_PIN_FILE + " of configuration entry %s " +
                    "should contain the PIN needed to access the file-based " +
                    "trust manager, but this file is empty.");
                    "trust manager, but this file is empty");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FILE,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_TRUSTSTORE_PIN_FILE + " in configuration entry %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_DESCRIPTION_PIN_ATTR,
                    "Specifies the clear-text PIN needed to access the " +
                    "file-based trust manager.  Changes to this " +
                    "configuration attribute will take effect the next time " +
                    "that the trust manager is accessed.");
                    "that the trust manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_DETERMINE_PIN_FROM_ATTR,
                    "An unexpected error occurred while trying to determine " +
                    "the value of configuration attribute " +
                    ATTR_TRUSTSTORE_PIN + " in configuration entry %s:  %s.");
                    ATTR_TRUSTSTORE_PIN + " in configuration entry %s:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_LOAD,
                    "An error occurred while trying to load the trust store " +
                    "contents from file %s:  %s.");
                    "contents from file %s:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_CANNOT_CREATE_FACTORY,
                    "An error occurred while trying to create a trust " +
                    "manager factory to access the contents of trust store " +
                    "file %s:  %s.");
                    "file %s:  %s");
    registerMessage(MSGID_FILE_TRUSTMANAGER_UPDATED_FILE,
                    "The value of the " + ATTR_TRUSTSTORE_FILE +
                    " attribute in configuration entry %s has been updated " +
                    "to %s.  The new value will take effect the next time " +
                    "the trust manager is accessed.");
                    "the trust manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_UPDATED_TYPE,
                    "The value of the " + ATTR_TRUSTSTORE_TYPE +
                    " attribute in configuration entry %s has been updated " +
                    "to %s.  The new value will take effect the next time " +
                    "the trust manager is accessed.");
                    "the trust manager is accessed");
    registerMessage(MSGID_FILE_TRUSTMANAGER_UPDATED_PIN,
                    "The PIN to use to access the file-based trust manager " +
                    "has been updated.  The new value will take effect the " +
                    "next time the trust manager is accessed.");
                    "next time the trust manager is accessed");
    registerMessage(MSGID_NULL_SECURITY_PROVIDER_READ_ERROR,
                    "An unexpected error occurred while attempting to read " +
                    "data from the client using the null connection security " +
                    "provider:  %s.");
                    "provider:  %s");
    registerMessage(MSGID_NULL_SECURITY_PROVIDER_WRITE_ERROR,
                    "An unexpected error occurred while attempting to write " +
                    "data to the client using the null connection security " +
                    "provider:  %s.");
                    "provider:  %s");
    registerMessage(MSGID_TLS_SECURITY_PROVIDER_CANNOT_INITIALIZE,
                    "An error occurred while attempting to initialize the " +
                    "SSL context for use in the TLS connection security " +
                    "provider:  %s.");
                    "provider:  %s");
    registerMessage(MSGID_TLS_SECURITY_PROVIDER_UNEXPECTED_UNWRAP_STATUS,
                    "An unexpected status result was returned to the TLS " +
                    "connection security provider when attempting to unwrap " +
                    "encrypted data read from the client:  %s.");
                    "encrypted data read from the client:  %s");
    registerMessage(MSGID_TLS_SECURITY_PROVIDER_READ_ERROR,
                    "An unexpected error occurred while attempting to read " +
                    "data from the client using the TLS connection security " +
                    "provider:  %s.");
                    "provider:  %s");
    registerMessage(MSGID_TLS_SECURITY_PROVIDER_WRITE_NEEDS_UNWRAP,
                    "An attempt was made to write data to a client through " +
                    "the TLS connection security provider, but the SSL " +
@@ -5684,64 +5684,64 @@
                    "condition, and it is not possible to continue " +
                    "processing on this client connection without the " +
                    "potential for blocking other client connections, so " +
                    "connection will be closed.");
                    "connection will be closed");
    registerMessage(MSGID_TLS_SECURITY_PROVIDER_UNEXPECTED_WRAP_STATUS,
                    "An unexpected status result was returned to the TLS " +
                    "connection security provider when attempting to wrap " +
                    "clear-text data for writing to the client:  %s.");
                    "clear-text data for writing to the client:  %s");
    registerMessage(MSGID_TLS_SECURITY_PROVIDER_WRITE_ERROR,
                    "An unexpected error occurred while attempting to write " +
                    "data to the client using the TLS connection security " +
                    "provider:  %s.");
                    "provider:  %s");
    registerMessage(MSGID_SEDCM_NO_PEER_CERTIFICATE,
                    "Could not map the provided certificate chain to a user " +
                    "entry because no peer certificate was available.");
                    "entry because no peer certificate was available");
    registerMessage(MSGID_SEDCM_PEER_CERT_NOT_X509,
                    "Could not map the provided certificate chain to a user " +
                    "because the peer certificate was not an X.509 " +
                    "certificate (peer certificate format was %s).");
                    "certificate (peer certificate format was %s)");
    registerMessage(MSGID_SEDCM_CANNOT_DECODE_SUBJECT_AS_DN,
                    "Could not map the provided certificate chain to a user " +
                    "because the peer certificate subject \"%s\" could not " +
                    "be decoded as an LDAP DN:  %s.");
                    "be decoded as an LDAP DN:  %s");
    registerMessage(MSGID_SEDCM_CANNOT_GET_ENTRY,
                    "Could not map the provided certificate chain to a user " +
                    "because an error occurred while attempting to retrieve " +
                    "the user entry with DN \"%s\":  %s.");
                    "the user entry with DN \"%s\":  %s");
    registerMessage(MSGID_SEDCM_NO_USER_FOR_DN,
                    "Could not map the provided certificate chain to a user " +
                    "because no user entry exists with a DN of %s.");
                    "because no user entry exists with a DN of %s");
    registerMessage(MSGID_SEDCM_CANNOT_LOCK_ENTRY,
                    "The Directory Server was unable to obtain a read lock " +
                    "on user entry %s in order to retrieve that entry.");
                    "on user entry %s in order to retrieve that entry");
    registerMessage(MSGID_SASLEXTERNAL_NO_CLIENT_CONNECTION,
                    "The SASL EXTERNAL bind request could not be processed " +
                    "because the associated bind request does not have a " +
                    "reference to the client connection.");
                    "reference to the client connection");
    registerMessage(MSGID_SASLEXTERNAL_NO_SECURITY_PROVIDER,
                    "The SASL EXTERNAL bind request could not be processed " +
                    "because the associated client connection does not " +
                    "have a security provider.");
                    "have a security provider");
    registerMessage(MSGID_SASLEXTERNAL_CLIENT_NOT_USING_TLS_PROVIDER,
                    "The SASL EXTERNAL bind request could not be processed " +
                    "because the client connection is not using the TLS " +
                    "security provider (client security provider is %s).  " +
                    "The TLS security provider is required for clients that " +
                    "wish to use SASL EXTERNAL authentication.");
                    "wish to use SASL EXTERNAL authentication");
    registerMessage(MSGID_SASLEXTERNAL_NO_CLIENT_CERT,
                    "The SASL EXTERNAL bind request could not be processed " +
                    "because the client did not present an certificate chain " +
                    "during SSL/TLS negotiation.");
                    "during SSL/TLS negotiation");
    registerMessage(MSGID_SASLEXTERNAL_NO_MAPPING,
                    "The SASL EXTERNAL bind request failed because the " +
                    "certificate chain presented by the client during " +
                    "SSL/TLS negotiation could not be mapped to a user " +
                    "entry in the Directory Server.");
                    "entry in the Directory Server");
    registerMessage(MSGID_SASLEXTERNAL_DESCRIPTION_VALIDATION_POLICY,
                    "Indicates whether the SASL EXTERNAL mechanism handler " +
                    "should attempt to validate the peer certificate against " +
@@ -5754,96 +5754,96 @@
                    "if there are one or more certificates in the user's " +
                    "entry, but will not fail if there are no certificates " +
                    "in the entry.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_SASLEXTERNAL_INVALID_VALIDATION_VALUE,
                    "Configuration entry %s has an invalid value %s for " +
                    "attribute " + ATTR_CLIENT_CERT_VALIDATION_POLICY +
                    ".  The value must be one of \"always\", \"never\", or " +
                    "\"ifpresent\".");
                    "\"ifpresent\"");
    registerMessage(MSGID_SASLEXTERNAL_CANNOT_GET_VALIDATION_POLICY,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " +
                    ATTR_CLIENT_CERT_VALIDATION_POLICY +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLEXTERNAL_DESCRIPTION_CERTIFICATE_ATTRIBUTE,
                    "Specifies the name of the attribute that will be used " +
                    "to hold the certificate information in user entries " +
                    "for the purpose of validation.  This must specify the " +
                    "name of a valid attribute type defined in the server " +
                    "schema.  Changes to this configuration attribute will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_SASLEXTERNAL_CANNOT_GET_CERT_ATTR,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " +
                    ATTR_VALIDATION_CERT_ATTRIBUTE +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLEXTERNAL_UNKNOWN_CERT_ATTR,
                    "The attribute %s referenced in configuration attribute " +
                    ATTR_VALIDATION_CERT_ATTRIBUTE +
                    " in configuration entry %s does not exist in the " +
                    "Directory Server schema.  The attribute that is to be " +
                    "used for certificate validation during SASL EXTERNAL " +
                    "authentication must be defined in the server schema.");
                    "authentication must be defined in the server schema");
    registerMessage(MSGID_SASLEXTERNAL_DESCRIPTION_CERT_MAPPER_DN,
                    "Specifies the DN of the configuration entry that " +
                    "defines the certificate mapper to use when mapping a " +
                    "certificate to a user entry.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_SASLEXTERNAL_NO_CERTIFICATE_MAPPER_DN,
                    "Configuration entry %s does not contain attribute " +
                    ATTR_CERTMAPPER_DN + " which is required to specify " +
                    "which certificate mapper should be used to map " +
                    "certificates to user entries.");
                    "certificates to user entries");
    registerMessage(MSGID_SASLEXTERNAL_INVALID_CERTIFICATE_MAPPER_DN,
                    "Configuration entry %s contains a certificate mapper DN " +
                    "of %s, but no such certificate mapper is enabled for " +
                    "use in the Directory Server.");
                    "use in the Directory Server");
    registerMessage(MSGID_SASLEXTERNAL_CANNOT_GET_CERT_MAPPER_DN,
                    "An error occurred while attempting to retrieve the " +
                    "certificate mapper DN from configuration entry %s:  %s.");
                    "certificate mapper DN from configuration entry %s:  %s");
    registerMessage(MSGID_SASLEXTERNAL_NO_CERT_IN_ENTRY,
                    "Unable to authenticate via SASL EXTERNAL because the " +
                    "mapped user entry %s does not have any certificates " +
                    "with which to verify the presented peer certificate.");
                    "with which to verify the presented peer certificate");
    registerMessage(MSGID_SASLEXTERNAL_PEER_CERT_NOT_FOUND,
                    "Unable to authenticate via SASL EXTERNAL because the " +
                    "mapped user entry %s did not contain the peer " +
                    "certificate presented by the client.");
                    "certificate presented by the client");
    registerMessage(MSGID_SASLEXTERNAL_CANNOT_VALIDATE_CERT,
                    "An error occurred while attempting to validate the peer " +
                    "certificate presented by the client with a certificate " +
                    "from the user's entry %s:  %s.");
                    "from the user's entry %s:  %s");
    registerMessage(MSGID_SASLEXTERNAL_UPDATED_VALIDATION_POLICY,
                    "Attribute " + ATTR_CLIENT_CERT_VALIDATION_POLICY +
                    " in configuration entry %s has been updated.  The new " +
                    "client certificate validation policy is %s.");
                    "client certificate validation policy is %s");
    registerMessage(MSGID_SASLEXTERNAL_UPDATED_CERT_ATTR,
                    "Attribute " + ATTR_VALIDATION_CERT_ATTRIBUTE +
                    " in configuration entry %s has been updated.  The %s " +
                    "attribute will now be used when validating peer " +
                    "certificates.");
                    "certificates");
    registerMessage(MSGID_SASLEXTERNAL_UPDATED_CERT_MAPPER_DN,
                    "Attribute " + ATTR_CERTMAPPER_DN +
                    " in configuration entry %s has been updated.  " +
                    "Certificate mapper %s will now be used to map " +
                    "certificates to user entries.");
                    "certificates to user entries");
    registerMessage(MSGID_STARTTLS_NO_CLIENT_CONNECTION,
                    "StartTLS cannot be used on this connection because the " +
                    "underlying client connection is not available.");
                    "underlying client connection is not available");
    registerMessage(MSGID_STARTTLS_NOT_TLS_CAPABLE,
                    "StartTLS cannot be used on this client connection " +
                    "because this connection type is not capable of using " +
                    "StartTLS to protect its communication.");
                    "StartTLS to protect its communication");
    registerMessage(MSGID_STARTTLS_ERROR_ON_ENABLE,
                    "An unexpected error occurred while attempting to enable " +
                    "the TLS connection security manager on the client " +
                    "connection for the purpose of StartTLS:  %s.");
                    "connection for the purpose of StartTLS:  %s");
    registerMessage(MSGID_STARTTLS_ERROR_SENDING_CLEAR_RESPONSE,
                    "An unexpected error occurred while attempting to " +
                    "send the clear-text response to the client after " +
                    "starting TLS negotiation:  %s.");
                    "starting TLS negotiation:  %s");
@@ -5852,587 +5852,587 @@
                    "the configuration for the identity mapper that should " +
                    "be used to map the provided username to a Directory " +
                    "Server user entry.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLPLAIN_NO_IDENTITY_MAPPER_ATTR,
                    "Configuration entry %s does not contain attribute " +
                    ATTR_IDMAPPER_DN + " which specifies the DN of the " +
                    "identity mapper to use in conjunction with the PLAIN " +
                    "SASL mechanism.  This is a required attribute.");
                    "SASL mechanism.  This is a required attribute");
    registerMessage(MSGID_SASLPLAIN_NO_SUCH_IDENTITY_MAPPER,
                    "The identity mapper %s specified in attribute " +
                    ATTR_IDMAPPER_DN + " of configuration entry %s does not " +
                    "reference a valid identity mapper configuration that is " +
                    "enabled for use in the Directory Server.");
                    "enabled for use in the Directory Server");
    registerMessage(MSGID_SASLPLAIN_CANNOT_GET_IDENTITY_MAPPER,
                    "An error occurred while trying to process the value " +
                    "of the " + ATTR_IDMAPPER_DN + " attribute in " +
                    "configuration entry %s to determine which identity " +
                    "mapper should be used in conjunction with the PLAIN " +
                    "SASL mechanism:  %s.");
                    "SASL mechanism:  %s");
    registerMessage(MSGID_SASLPLAIN_DESCRIPTION_USERNAME_ATTRIBUTE,
                    "Specifies the name of the attribute that will be used " +
                    "to identify user entries based on the authcID/authzID " +
                    "provided during SASL PLAIN authentication.  This must " +
                    "specify the name of a valid attribute type defined in " +
                    "the server schema.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLPLAIN_CANNOT_GET_USERNAME_ATTR,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USERNAME_ATTRIBUTE +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLPLAIN_UNKNOWN_USERNAME_ATTR,
                    "The attribute %s referenced in configuration attribute " +
                    ATTR_USERNAME_ATTRIBUTE + " in configuration entry %s " +
                    "does not exist in the Directory Server schema.  The " +
                    "attribute that is to be used for username lookups " +
                    "during SASL PLAIN authentication must be defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_SASLPLAIN_DESCRIPTION_USER_BASE_DN,
                    "Specifies the base DN that should be used when " +
                    "searching for entries based on the authcID/authzID " +
                    "provided during SASL PLAIN authentication.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_SASLPLAIN_CANNOT_GET_USER_BASE_DN,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USER_BASE_DN +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLPLAIN_NO_SASL_CREDENTIALS,
                    "SASL PLAIN authentication requires that SASL " +
                    "credentials be provided but none were included in the " +
                    "bind request.");
                    "bind request");
    registerMessage(MSGID_SASLPLAIN_NO_NULLS_IN_CREDENTIALS,
                    "The SASL PLAIN bind request did not include any NULL " +
                    "characters.  NULL characters are required as delimiters " +
                    "between the authorization ID and authentication ID, and " +
                    "also between the authentication ID and the password.");
                    "also between the authentication ID and the password");
    registerMessage(MSGID_SASLPLAIN_NO_SECOND_NULL,
                    "The SASL PLAIN bind request did not include a second " +
                    "NULL character in the credentials, which is required as " +
                    "a delimiter between the authentication ID and the " +
                    "password.");
                    "password");
    registerMessage(MSGID_SASLPLAIN_ZERO_LENGTH_AUTHCID,
                    "The authentication ID contained in the SASL PLAIN bind " +
                    "request had a length of zero characters, which is not " +
                    "allowed.  SASL PLAIN authentication does not allow an " +
                    "empty string for use as the authentication ID.");
                    "empty string for use as the authentication ID");
    registerMessage(MSGID_SASLPLAIN_ZERO_LENGTH_PASSWORD,
                    "The password contained in the SASL PLAIN bind request " +
                    "had a length of zero characters, which is not allowed.  " +
                    "SASL PLAIN authentication does not allow an empty " +
                    "string for use as the password.");
                    "string for use as the password");
    registerMessage(MSGID_SASLPLAIN_CANNOT_DECODE_AUTHCID_AS_DN,
                    "An error occurred while attempting to decode the SASL " +
                    "PLAIN authentication ID \"%s\" because it appeared to " +
                    "contain a DN but DN decoding failed:  %s.");
                    "contain a DN but DN decoding failed:  %s");
    registerMessage(MSGID_SASLPLAIN_AUTHCID_IS_NULL_DN,
                    "The authentication ID in the SASL PLAIN bind request " +
                    "appears to be an empty DN.  This is not allowed.");
                    "appears to be an empty DN.  This is not allowed");
    registerMessage(MSGID_SASLPLAIN_CANNOT_GET_ENTRY_BY_DN,
                    "An error occurred while attempting to retrieve user " +
                    "entry %s as specified in the DN-based authentication ID " +
                    "of a SASL PLAIN bind request:  %s.");
                    "of a SASL PLAIN bind request:  %s");
    registerMessage(MSGID_SASLPLAIN_CANNOT_MAP_USERNAME,
                    "An error occurred while attempting to map username %s " +
                    "to a Directory Server entry:  %s.");
                    "to a Directory Server entry:  %s");
    registerMessage(MSGID_SASLPLAIN_CANNOT_PERFORM_INTERNAL_SEARCH,
                    "An error occurred while trying to perform an internal " +
                    "search to retrieve the user entry associated with the " +
                    "SASL PLAIN authentication ID %s.  The result of that " +
                    "search was %s with a message of %s.");
                    "search was %s with a message of %s");
    registerMessage(MSGID_SASLPLAIN_MULTIPLE_MATCHING_ENTRIES,
                    "The internal search attempting to resolve SASL PLAIN " +
                    "authentication ID %s matched multiple entries.  " +
                    "Authentication cannot succeed unless the authentication " +
                    "ID is mapped to exactly one user entry.");
                    "ID is mapped to exactly one user entry");
    registerMessage(MSGID_SASLPLAIN_NO_MATCHING_ENTRIES,
                    "The server was not able to find any user entries for " +
                    "the provided authentication ID of %s.");
                    "the provided authentication ID of %s");
    registerMessage(MSGID_SASLPLAIN_AUTHZID_INVALID_DN,
                    "The provided authorization ID %s contained an invalid " +
                    "DN:  %s.");
                    "DN:  %s");
    registerMessage(MSGID_SASLPLAIN_AUTHZID_INSUFFICIENT_PRIVILEGES,
                    "The authenticating user %s does not have sufficient " +
                    "privileges to specify an alternate authorization ID.");
                    "privileges to specify an alternate authorization ID");
    registerMessage(MSGID_SASLPLAIN_AUTHZID_NO_SUCH_ENTRY,
                    "The entry corresponding to authorization DN %s does not " +
                    "exist in the Directory Server.");
                    "exist in the Directory Server");
    registerMessage(MSGID_SASLPLAIN_AUTHZID_CANNOT_GET_ENTRY,
                    "An error occurred while attempting to retrieve entry %s " +
                    "specified as the authorization ID:  %s.");
                    "specified as the authorization ID:  %s");
    registerMessage(MSGID_SASLPLAIN_AUTHZID_NO_MAPPED_ENTRY,
                    "No entry corresponding to authorization ID %s was found " +
                    "in the server.");
                    "in the server");
    registerMessage(MSGID_SASLPLAIN_AUTHZID_CANNOT_MAP_AUTHZID,
                    "An error occurred while attempting to map authorization " +
                    "ID %s to a user entry:  %s.");
                    "ID %s to a user entry:  %s");
    registerMessage(MSGID_SASLPLAIN_NO_PW_ATTR,
                    "The SASL PLAIN authentication failed because the mapped " +
                    "user entry did not contain any values for the %s " +
                    "attribute.");
                    "attribute");
    registerMessage(MSGID_SASLPLAIN_UNKNOWN_STORAGE_SCHEME,
                    "A password in the target user entry %s could not be " +
                    "processed via SASL PLAIN because that password has an " +
                    "unknown storage scheme of %s.");
                    "unknown storage scheme of %s");
    registerMessage(MSGID_SASLPLAIN_INVALID_PASSWORD,
                    "The provided password is invalid.");
                    "The provided password is invalid");
    registerMessage(MSGID_SASLPLAIN_CANNOT_CHECK_PASSWORD_VALIDITY,
                    "An error occurred while attempting to verify the " +
                    "password for user %s during SASL PLAIN authentication:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_SASLPLAIN_UPDATED_IDENTITY_MAPPER,
                    "Attribute " + ATTR_IDMAPPER_DN +
                    " in configuration entry %s has been updated.  The " +
                    "identity mapper defined in configuration entry %s " +
                    "will now be used to map usernames to entries when " +
                    "processing SASL PLAIN bind requests.");
                    "processing SASL PLAIN bind requests");
    registerMessage(MSGID_SASLPLAIN_UPDATED_USERNAME_ATTR,
                    "Attribute " + ATTR_USERNAME_ATTRIBUTE +
                    " in configuration entry %s has been updated.  The %s " +
                    "attribute will now be used when looking up user entries " +
                    "based on their authcID/authzID.");
                    "based on their authcID/authzID");
    registerMessage(MSGID_SASLPLAIN_UPDATED_USER_BASE_DN,
                    "Attribute " + ATTR_USER_BASE_DN +
                    " in configuration entry %s has been updated.  The DN %s " +
                    "will now be used as the search base when looking up " +
                    "user entries based on their authcID/authzID.");
                    "user entries based on their authcID/authzID");
    registerMessage(MSGID_SASLPLAIN_CANNOT_LOCK_ENTRY,
                    "The Directory Server was unable to obtain a read lock " +
                    "on user entry %s in order to retrieve that entry.");
                    "on user entry %s in order to retrieve that entry");
    registerMessage(MSGID_SASLANONYMOUS_TRACE,
                    "SASL ANONYMOUS bind operation (conn=%d, op=%d) provided " +
                    "trace information:  %s.");
                    "trace information:  %s");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_GET_MESSAGE_DIGEST,
                    "An unexpected error occurred while attempting to obtain " +
                    "an MD5 digest engine for use by the CRAM-MD5 SASL " +
                    "handler:  %s.");
                    "handler:  %s");
    registerMessage(MSGID_SASLCRAMMD5_DESCRIPTION_IDENTITY_MAPPER_DN,
                    "Specifies the DN of the configuration entry that holds " +
                    "the configuration for the identity mapper that should " +
                    "be used to map the CRAM-MD5 username to a Directory " +
                    "Server user entry.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLCRAMMD5_NO_IDENTITY_MAPPER_ATTR,
                    "Configuration entry %s does not contain attribute " +
                    ATTR_IDMAPPER_DN + " which specifies the DN of the " +
                    "identity mapper to use in conjunction with the CRAM-MD5 " +
                    "SASL mechanism.  This is a required attribute.");
                    "SASL mechanism.  This is a required attribute");
    registerMessage(MSGID_SASLCRAMMD5_NO_SUCH_IDENTITY_MAPPER,
                    "The identity mapper %s specified in attribute " +
                    ATTR_IDMAPPER_DN + " of configuration entry %s does not " +
                    "reference a valid identity mapper configuration that is " +
                    "enabled for use in the Directory Server.");
                    "enabled for use in the Directory Server");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_GET_IDENTITY_MAPPER,
                    "An error occurred while trying to process the value " +
                    "of the " + ATTR_IDMAPPER_DN + " attribute in " +
                    "configuration entry %s to determine which identity " +
                    "mapper should be used in conjunction with the CRAM-MD5 " +
                    "SASL mechanism:  %s.");
                    "SASL mechanism:  %s");
    registerMessage(MSGID_SASLCRAMMD5_DESCRIPTION_USERNAME_ATTRIBUTE,
                    "Specifies the name of the attribute that will be used " +
                    "to identify user entries based on the username provided " +
                    "during SASL CRAM-MD5 authentication.  This must specify " +
                    "the name of a valid attribute type defined in the " +
                    "server schema.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_GET_USERNAME_ATTR,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USERNAME_ATTRIBUTE +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLCRAMMD5_UNKNOWN_USERNAME_ATTR,
                    "The attribute %s referenced in configuration attribute " +
                    ATTR_USERNAME_ATTRIBUTE + " in configuration entry %s " +
                    "does not exist in the Directory Server schema.  The " +
                    "attribute that is to be used for username lookups " +
                    "during SASL CRAM-MD5 authentication must be defined in " +
                    "the server schema.");
                    "the server schema");
    registerMessage(MSGID_SASLCRAMMD5_DESCRIPTION_USER_BASE_DN,
                    "Specifies the base DN that should be used when " +
                    "searching for entries based on the username provided " +
                    "during SASL CRAM-MD5 authentication.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_GET_USER_BASE_DN,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USER_BASE_DN +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLCRAMMD5_NO_STORED_CHALLENGE,
                    "The SASL CRAM-MD5 bind request contained SASL " +
                    "credentials but there is no stored challenge for this " +
                    "client connection.  The first CRAM-MD5 bind request in " +
                    "the two-stage process must not contain client SASL " +
                    "credentials.");
                    "credentials");
    registerMessage(MSGID_SASLCRAMMD5_INVALID_STORED_CHALLENGE,
                    "The SASL CRAM-MD5 bind request contained SASL " +
                    "credentials, but the stored SASL state information for " +
                    "this client connection is not in an appropriate form " +
                    "for the challenge.");
                    "for the challenge");
    registerMessage(MSGID_SASLCRAMMD5_NO_SPACE_IN_CREDENTIALS,
                    "The SASL CRAM-MD5 bind request from the client included " +
                    "SASL credentials but there was no space to separate " +
                    "the username from the authentication digest.");
                    "the username from the authentication digest");
    registerMessage(MSGID_SASLCRAMMD5_INVALID_DIGEST_LENGTH,
                    "The SASL CRAM-MD5 bind request included SASL " +
                    "credentials, but the decoded digest string had an " +
                    "invalid length of %d bytes rather than the %d bytes " +
                    "expected for a hex representation of an MD5 digest.");
                    "expected for a hex representation of an MD5 digest");
    registerMessage(MSGID_SASLCRAMMD5_INVALID_DIGEST_CONTENT,
                    "The SASL CRAM-MD5 bind request included SASL " +
                    "credentials, but the decoded digest was not comprised " +
                    "of only hexadecimal digits:  %s.");
                    "of only hexadecimal digits:  %s");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_DECODE_USERNAME_AS_DN,
                    "An error occurred while attempting to decode the SASL " +
                    "CRAM-MD5 username \"%s\" because it appeared to contain " +
                    "a DN but DN decoding failed:  %s.");
                    "a DN but DN decoding failed:  %s");
    registerMessage(MSGID_SASLCRAMMD5_USERNAME_IS_NULL_DN,
                    "The username in the SASL CRAM-MD5 bind request appears " +
                    "to be an empty DN.  This is not allowed.");
                    "to be an empty DN.  This is not allowed");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_LOCK_ENTRY,
                    "The Directory Server was unable to obtain a read lock " +
                    "on user entry %s in order to retrieve that entry.");
                    "on user entry %s in order to retrieve that entry");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_GET_ENTRY_BY_DN,
                    "An error occurred while attempting to retrieve user " +
                    "entry %s as specified in the DN-based username of a " +
                    "SASL CRAM-MD5 bind request:  %s.");
                    "SASL CRAM-MD5 bind request:  %s");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_MAP_USERNAME,
                    "An error occurred while attempting to map username %s " +
                    "to a Directory Server entry:  %s.");
                    "to a Directory Server entry:  %s");
    registerMessage(MSGID_SASLCRAMMD5_ZERO_LENGTH_USERNAME,
                    "The username contained in the SASL CRAM-MD5 bind " +
                    "request had a length of zero characters, which is not " +
                    "allowed.  CRAM-MD5 authentication does not allow an " +
                    "empty string for use as the username.");
                    "empty string for use as the username");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_PERFORM_INTERNAL_SEARCH,
                    "An error occurred while trying to perform an internal " +
                    "search to retrieve the user entry associated with the " +
                    "SASL CRAM-MD5 username %s.  The result of that " +
                    "search was %s with a message of %s.");
                    "search was %s with a message of %s");
    registerMessage(MSGID_SASLCRAMMD5_MULTIPLE_MATCHING_ENTRIES,
                    "The internal search attempting to resolve SASL CRAM-MD5 " +
                    "username %s matched multiple entries.  Authentication " +
                    "cannot succeed unless the username is mapped to exactly " +
                    "one user entry.");
                    "one user entry");
    registerMessage(MSGID_SASLCRAMMD5_NO_MATCHING_ENTRIES,
                    "The server was not able to find any user entries for " +
                    "the provided username of %s.");
                    "the provided username of %s");
    registerMessage(MSGID_SASLCRAMMD5_NO_PW_ATTR,
                    "The SASL CRAM-MD5 authentication failed because the " +
                    "mapped user entry did not contain any values for the %s " +
                    "attribute.");
                    "attribute");
    registerMessage(MSGID_SASLCRAMMD5_UNKNOWN_STORAGE_SCHEME,
                    "A password in the target user entry %s could not be " +
                    "processed via SASL CRAM-MD5 because that password has " +
                    "an unknown storage scheme of %s.");
                    "an unknown storage scheme of %s");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_GET_CLEAR_PASSWORD,
                    "An error occurred while attempting to obtain the " +
                    "clear-text password for user %s from the value with " +
                    "storage scheme %s:  %s.");
                    "storage scheme %s:  %s");
    registerMessage(MSGID_SASLCRAMMD5_INVALID_PASSWORD,
                    "The provided password is invalid.");
                    "The provided password is invalid");
    registerMessage(MSGID_SASLCRAMMD5_NO_REVERSIBLE_PASSWORDS,
                    "SASL CRAM-MD5 authentication is not possible for user " +
                    "%s because none of the passwords in the user entry are " +
                    "stored in a reversible form.");
                    "stored in a reversible form");
    registerMessage(MSGID_SASLCRAMMD5_CANNOT_GET_REVERSIBLE_PASSWORDS,
                    "An error occurred while attempting to retrieve the " +
                    "clear-text password(s) for user %s in order to perform " +
                    "SASL CRAM-MD5 authentication:  %s.");
                    "SASL CRAM-MD5 authentication:  %s");
    registerMessage(MSGID_SASLCRAMMD5_UPDATED_IDENTITY_MAPPER,
                    "Attribute " + ATTR_IDMAPPER_DN +
                    " in configuration entry %s has been updated.  The " +
                    "identity mapper defined in configuration entry %s " +
                    "will now be used to map usernames to entries when " +
                    "processing SASL CRAM-MD5 bind requests.");
                    "processing SASL CRAM-MD5 bind requests");
    registerMessage(MSGID_SASLCRAMMD5_UPDATED_USERNAME_ATTR,
                    "Attribute " + ATTR_USERNAME_ATTRIBUTE +
                    " in configuration entry %s has been updated.  The %s " +
                    "attribute will now be used when looking up user entries " +
                    "based on their username.");
                    "based on their username");
    registerMessage(MSGID_SASLCRAMMD5_UPDATED_USER_BASE_DN,
                    "Attribute " + ATTR_USER_BASE_DN +
                    " in configuration entry %s has been updated.  The DN %s " +
                    "will now be used as the search base when looking up " +
                    "user entries based on their username.");
                    "user entries based on their username");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_MESSAGE_DIGEST,
                    "An unexpected error occurred while attempting to obtain " +
                    "an MD5 digest engine for use by the DIGEST-MD5 SASL " +
                    "handler:  %s.");
                    "handler:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_DESCRIPTION_IDENTITY_MAPPER_DN,
                    "Specifies the DN of the configuration entry that holds " +
                    "the configuration for the identity mapper that should " +
                    "be used to map the DIGEST-MD5 username to a Directory " +
                    "Server user entry.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLDIGESTMD5_NO_IDENTITY_MAPPER_ATTR,
                    "Configuration entry %s does not contain attribute " +
                    ATTR_IDMAPPER_DN + " which specifies the DN of the " +
                    "identity mapper to use in conjunction with the " +
                    "DIGEST-MD5 SASL mechanism.  This is a required " +
                    "attribute.");
                    "attribute");
    registerMessage(MSGID_SASLDIGESTMD5_NO_SUCH_IDENTITY_MAPPER,
                    "The identity mapper %s specified in attribute " +
                    ATTR_IDMAPPER_DN + " of configuration entry %s does not " +
                    "reference a valid identity mapper configuration that is " +
                    "enabled for use in the Directory Server.");
                    "enabled for use in the Directory Server");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_IDENTITY_MAPPER,
                    "An error occurred while trying to process the value " +
                    "of the " + ATTR_IDMAPPER_DN + " attribute in " +
                    "configuration entry %s to determine which identity " +
                    "mapper should be used in conjunction with the " +
                    "DIGEST-MD5 SASL mechanism:  %s.");
                    "DIGEST-MD5 SASL mechanism:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_DESCRIPTION_USERNAME_ATTRIBUTE,
                    "Specifies the name of the attribute that will be used " +
                    "to identify user entries based on the username provided " +
                    "during SASL DIGEST-MD5 authentication.  This must " +
                    "specify the name of a valid attribute type defined in " +
                    "the server schema.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_USERNAME_ATTR,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USERNAME_ATTRIBUTE +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_UNKNOWN_USERNAME_ATTR,
                    "The attribute %s referenced in configuration attribute " +
                    ATTR_USERNAME_ATTRIBUTE + " in configuration entry %s " +
                    "does not exist in the Directory Server schema.  The " +
                    "attribute that is to be used for username lookups " +
                    "during SASL DIGEST-MD5 authentication must be defined " +
                    "in the server schema.");
                    "in the server schema");
    registerMessage(MSGID_SASLDIGESTMD5_DESCRIPTION_USER_BASE_DN,
                    "Specifies the base DN that should be used when " +
                    "searching for entries based on the username provided " +
                    "during SASL DIGEST-MD5 authentication.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_USER_BASE_DN,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USER_BASE_DN +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_DESCRIPTION_REALM,
                    "Specifies the realm that should be used by the server " +
                    "for DIGEST-MD5 authentication.  If this is not " +
                    "provided, then the server will default to using a set " +
                    "of realm names that correspond to the defined " +
                    "suffixes.  Changes to this configuration attribute will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_REALM,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_DIGESTMD5_REALM +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_CHALLENGE_TOO_LONG,
                    "The initial DIGEST-MD5 must be less than 2048 bytes, " +
                    "but the generated challenge was %d bytes.");
                    "but the generated challenge was %d bytes");
    registerMessage(MSGID_SASLDIGESTMD5_NO_STORED_STATE,
                    "The SASL DIGEST-MD5 bind request contained SASL " +
                    "credentials but there is no stored SASL state " +
                    "information for this client connection.  If this is " +
                    "an initial authentication, then the client must not " +
                    "provide any SASL credentials.");
                    "provide any SASL credentials");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_STORED_STATE,
                    "The SASL DIGEST-MD5 bind request contained SASL " +
                    "credentials, but the stored SASL state information for " +
                    "this client connection is not in an appropriate form " +
                    "for the challenge.");
                    "for the challenge");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_PARSE_ISO_CREDENTIALS,
                    "An error occurred while attempting to parse the " +
                    "DIGEST-MD5 credentials as a string using the %s " +
                    "character set:  %s.  The server will re-try using UTF-8.");
                    "character set:  %s.  The server will re-try using UTF-8");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_PARSE_UTF8_CREDENTIALS,
                    "An error occurred while attempting to parse the " +
                    "DIGEST-MD5 credentials as a string using the UTF-8 " +
                    "character set:  %s.");
                    "character set:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_TOKEN_IN_CREDENTIALS,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "contained an invalid token of \"%s\" starting at " +
                    "position %d.");
                    "position %d");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_CHARSET,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "specified an invalid character set of %s.  Only a value " +
                    "of 'utf-8' is acceptable for this parameter.");
                    "of 'utf-8' is acceptable for this parameter");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_DECODE_REALM_AS_DN,
                    "An error occurred while attempting to parse the " +
                    "provided response realm \"%s\" as a DN:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_REALM,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "included an invalid realm of \"%s\".");
                    "included an invalid realm of \"%s\"");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_NONCE,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "included a nonce that was different from the nonce " +
                    "supplied by the server.  This could indicate a replay " +
                    "attack or a chosen plaintext attack, and as a result " +
                    "the client connection will be terminated.");
                    "the client connection will be terminated");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_DECODE_NONCE_COUNT,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "included a nonce count \"%s\" that could not be decoded " +
                    "as a hex-encoded integer.");
                    "as a hex-encoded integer");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_DECODE_STORED_NONCE_COUNT,
                    "An unexpected error occurred while attempting to decode " +
                    "the nonce count stored by the server for this client " +
                    "connection:  %s.");
                    "connection:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_NONCE_COUNT,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "included a nonce count that was different from the " +
                    "count expected by the server.  This could indicate a " +
                    "replay attack, and as a result the client connection " +
                    "will be terminated.");
                    "will be terminated");
    registerMessage(MSGID_SASLDIGESTMD5_INTEGRITY_NOT_SUPPORTED,
                    "The client requested the auth-int quality of protection " +
                    "but integrity protection is not currently supported by " +
                    "the Directory Server.");
                    "the Directory Server");
    registerMessage(MSGID_SASLDIGESTMD5_CONFIDENTIALITY_NOT_SUPPORTED,
                    "The client requested the auth-conf quality of " +
                    "protection but confidentiality protection is not " +
                    "currently supported by the Directory Server.");
                    "currently supported by the Directory Server");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_QOP,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "requested an invalid quality of protection mechanism of " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_PARSE_RESPONSE_DIGEST,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "included a digest that could not be decoded as a " +
                    "hex-encoded byte sequence:  %s.");
                    "hex-encoded byte sequence:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_RESPONSE_TOKEN,
                    "The DIGEST-MD5 credentials provided by the client " +
                    "included an invalid token named \"%s\".");
                    "included an invalid token named \"%s\"");
    registerMessage(MSGID_SASLDIGESTMD5_NO_USERNAME_IN_RESPONSE,
                    "The DIGEST-MD5 credentials provided by the client did " +
                    "not contain the required \"username\" token.");
                    "not contain the required \"username\" token");
    registerMessage(MSGID_SASLDIGESTMD5_NO_NONCE_IN_RESPONSE,
                    "The DIGEST-MD5 credentials provided by the client did " +
                    "not contain the required \"nonce\" token.");
                    "not contain the required \"nonce\" token");
    registerMessage(MSGID_SASLDIGESTMD5_NO_CNONCE_IN_RESPONSE,
                    "The DIGEST-MD5 credentials provided by the client did " +
                    "not contain the required \"cnonce\" token.");
                    "not contain the required \"cnonce\" token");
    registerMessage(MSGID_SASLDIGESTMD5_NO_NONCE_COUNT_IN_RESPONSE,
                    "The DIGEST-MD5 credentials provided by the client did " +
                    "not contain the required \"nc\" token.");
                    "not contain the required \"nc\" token");
    registerMessage(MSGID_SASLDIGESTMD5_NO_DIGEST_URI_IN_RESPONSE,
                    "The DIGEST-MD5 credentials provided by the client did " +
                    "not contain the required \"digest-uri\" token.");
                    "not contain the required \"digest-uri\" token");
    registerMessage(MSGID_SASLDIGESTMD5_NO_DIGEST_IN_RESPONSE,
                    "The DIGEST-MD5 credentials provided by the client did " +
                    "not contain the required \"response\" token.");
                    "not contain the required \"response\" token");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_DECODE_USERNAME_AS_DN,
                    "An error occurred while attempting to decode the SASL " +
                    "DIGEST-MD5 username \"%s\" because it appeared to " +
                    "contain a DN but DN decoding failed:  %s.");
                    "contain a DN but DN decoding failed:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_USERNAME_IS_NULL_DN,
                    "The username in the SASL DIGEST-MD5 bind request " +
                    "appears to be an empty DN.  This is not allowed.");
                    "appears to be an empty DN.  This is not allowed");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_LOCK_ENTRY,
                    "The Directory Server was unable to obtain a read lock " +
                    "on user entry %s in order to retrieve that entry.");
                    "on user entry %s in order to retrieve that entry");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_ENTRY_BY_DN,
                    "An error occurred while attempting to retrieve user " +
                    "entry %s as specified in the DN-based username of a " +
                    "SASL DIGEST-MD5 bind request:  %s.");
                    "SASL DIGEST-MD5 bind request:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_ZERO_LENGTH_USERNAME,
                    "The username contained in the SASL DIGEST-MD5 bind " +
                    "request had a length of zero characters, which is not " +
                    "allowed.  DIGEST-MD5 authentication does not allow an " +
                    "empty string for use as the username.");
                    "empty string for use as the username");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_MAP_USERNAME,
                    "An error occurred while attempting to map username %s " +
                    "to a Directory Server entry:  %s.");
                    "to a Directory Server entry:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_PERFORM_INTERNAL_SEARCH,
                    "An error occurred while trying to perform an internal " +
                    "search to retrieve the user entry associated with the " +
                    "SASL DIGEST-MD5 username %s.  The result of that " +
                    "search was %s with a message of %s.");
                    "search was %s with a message of %s");
    registerMessage(MSGID_SASLDIGESTMD5_MULTIPLE_MATCHING_ENTRIES,
                    "The internal search attempting to resolve SASL " +
                    "DIGEST-MD5 username %s matched multiple entries.  " +
                    "Authentication cannot succeed unless the username is " +
                    "mapped to exactly one user entry.");
                    "mapped to exactly one user entry");
    registerMessage(MSGID_SASLDIGESTMD5_NO_MATCHING_ENTRIES,
                    "The server was not able to find any user entries for " +
                    "the provided username of %s.");
                    "the provided username of %s");
    registerMessage(MSGID_SASLDIGESTMD5_EMPTY_AUTHZID,
                    "The provided authorization ID was empty, which is not " +
                    "allowed for DIGEST-MD5 authentication.");
                    "allowed for DIGEST-MD5 authentication");
    registerMessage(MSGID_SASLDIGESTMD5_AUTHZID_INVALID_DN,
                    "The provided authorization ID %s contained an invalid " +
                    "DN:  %s.");
                    "DN:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_AUTHZID_INSUFFICIENT_PRIVILEGES,
                    "The authenticating user %s does not have sufficient " +
                    "privileges to assume a different authorization identity.");
                    "privileges to assume a different authorization identity");
    registerMessage(MSGID_SASLDIGESTMD5_AUTHZID_NO_SUCH_ENTRY,
                    "The entry %s specified as the authorization identity " +
                    "does not exist.");
                    "does not exist");
    registerMessage(MSGID_SASLDIGESTMD5_AUTHZID_CANNOT_GET_ENTRY,
                    "The entry %s specified as the authorization identity " +
                    "could not be retrieved:  %s.");
                    "could not be retrieved:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_AUTHZID_NO_MAPPED_ENTRY,
                    "The server was unable to find any entry corresponding " +
                    "to authorization ID %s.");
                    "to authorization ID %s");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_MAP_AUTHZID,
                    "An error occurred while attempting to map authorization " +
                    "ID %s to a user entry:  %s.");
                    "ID %s to a user entry:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_NO_PW_ATTR,
                    "The SASL DIGEST-MD5 authentication failed because the " +
                    "mapped user entry did not contain any values for the %s " +
                    "attribute.");
                    "attribute");
    registerMessage(MSGID_SASLDIGESTMD5_UNKNOWN_STORAGE_SCHEME,
                    "A password in the target user entry %s could not be " +
                    "processed via SASL DIGEST-MD5 because that password has " +
                    "an unknown storage scheme of %s.");
                    "an unknown storage scheme of %s");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_CLEAR_PASSWORD,
                    "An error occurred while attempting to obtain the " +
                    "clear-text password for user %s from the value with " +
                    "storage scheme %s:  %s.");
                    "storage scheme %s:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_CREDENTIALS,
                    "The DIGEST-MD5 credentials provided by the client are " +
                    "not appropriate for any password in the associated user " +
                    "account.");
                    "account");
    registerMessage(MSGID_SASLDIGESTMD5_NO_REVERSIBLE_PASSWORDS,
                    "SASL DIGEST-MD5 authentication is not possible for user " +
                    "%s because none of the passwords in the user entry are " +
                    "stored in a reversible form.");
                    "stored in a reversible form");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GET_REVERSIBLE_PASSWORDS,
                    "An error occurred while attempting to retrieve the " +
                    "clear-text password(s) for user %s in order to perform " +
                    "SASL DIGEST-MD5 authentication:  %s.");
                    "SASL DIGEST-MD5 authentication:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GENERATE_RESPONSE_DIGEST,
                    "An error occurred while attempting to generate a " +
                    "server-side digest to compare with the client " +
                    "response:  %s.");
                    "response:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_CANNOT_GENERATE_RESPONSE_AUTH_DIGEST,
                    "An error occurred while trying to generate the " +
                    "response auth digest to include in the server SASL " +
                    "credentials:  %s.");
                    "credentials:  %s");
    registerMessage(MSGID_SASLDIGESTMD5_INVALID_CLOSING_QUOTE_POS,
                    "The DIGEST-MD5 response challenge could not be parsed " +
                    "because it had an invalid quotation mark at position %d.");
                    "because it had an invalid quotation mark at position %d");
    registerMessage(MSGID_SASLDIGESTMD5_UPDATED_IDENTITY_MAPPER,
                    "Attribute " + ATTR_IDMAPPER_DN +
                    " in configuration entry %s has been updated.  The " +
                    "identity mapper defined in configuration entry %s " +
                    "will now be used to map usernames to entries when " +
                    "processing SASL DIGEST-MD5 bind requests.");
                    "processing SASL DIGEST-MD5 bind requests");
    registerMessage(MSGID_SASLDIGESTMD5_UPDATED_USERNAME_ATTR,
                    "Attribute " + ATTR_USERNAME_ATTRIBUTE +
                    " in configuration entry %s has been updated.  The %s " +
                    "attribute will now be used when looking up user entries " +
                    "based on their username.");
                    "based on their username");
    registerMessage(MSGID_SASLDIGESTMD5_UPDATED_USER_BASE_DN,
                    "Attribute " + ATTR_USER_BASE_DN +
                    " in configuration entry %s has been updated.  The DN %s " +
                    "will now be used as the search base when looking up " +
                    "user entries based on their username.");
                    "user entries based on their username");
    registerMessage(MSGID_SASLDIGESTMD5_UPDATED_NEW_REALM,
                    "Attribute " + ATTR_DIGESTMD5_REALM +
                    " in configuration entry %s has been updated.  The realm " +
                    "\"%s\" will now be advertised by the server in the " +
                    "challenge response.");
                    "challenge response");
    registerMessage(MSGID_SASLDIGESTMD5_UPDATED_NO_REALM,
                    "Attribute " + ATTR_DIGESTMD5_REALM +
                    " in configuration entry %s has been updated.  The " +
                    "realm(s) advertised by the server in the challenge " +
                    "response will be the DNs of the server suffixes.");
                    "response will be the DNs of the server suffixes");
    registerMessage(MSGID_SASLGSSAPI_DESCRIPTION_USERNAME_ATTRIBUTE,
@@ -6441,165 +6441,165 @@
                    "during SASL GSSAPI authentication.  This must " +
                    "specify the name of a valid attribute type defined in " +
                    "the server schema.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_GET_USERNAME_ATTR,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USERNAME_ATTRIBUTE +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLGSSAPI_UNKNOWN_USERNAME_ATTR,
                    "The attribute %s referenced in configuration attribute " +
                    ATTR_USERNAME_ATTRIBUTE + " in configuration entry %s " +
                    "does not exist in the Directory Server schema.  The " +
                    "attribute that is to be used for username lookups " +
                    "during SASL GSSAPI authentication must be defined " +
                    "in the server schema.");
                    "in the server schema");
    registerMessage(MSGID_SASLGSSAPI_DESCRIPTION_USER_BASE_DN,
                    "Specifies the base DN that should be used when " +
                    "searching for entries based on the username provided " +
                    "during SASL GSSAPI authentication.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_GET_USER_BASE_DN,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_USER_BASE_DN +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLGSSAPI_DESCRIPTION_IDENTITY_MAPPER_DN,
                    "Specifies the DN of the configuration entry that holds " +
                    "the configuration for the identity mapper that should " +
                    "be used to map the GSSAPI principal to a Directory " +
                    "Server user entry.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLGSSAPI_NO_IDENTITY_MAPPER_ATTR,
                    "Configuration entry %s does not contain attribute " +
                    ATTR_IDMAPPER_DN + " which specifies the DN of the " +
                    "identity mapper to use in conjunction with the GSSAPI " +
                    "SASL mechanism.  This is a required attribute.");
                    "SASL mechanism.  This is a required attribute");
    registerMessage(MSGID_SASLGSSAPI_NO_SUCH_IDENTITY_MAPPER,
                    "The identity mapper %s specified in attribute " +
                    ATTR_IDMAPPER_DN + " of configuration entry %s does not " +
                    "reference a valid identity mapper configuration that is " +
                    "enabled for use in the Directory Server.");
                    "enabled for use in the Directory Server");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_GET_IDENTITY_MAPPER,
                    "An error occurred while trying to process the value " +
                    "of the " + ATTR_IDMAPPER_DN + " attribute in " +
                    "configuration entry %s to determine which identity " +
                    "mapper should be used in conjunction with the GSSAPI " +
                    "SASL mechanism:  %s.");
                    "SASL mechanism:  %s");
    registerMessage(MSGID_SASLGSSAPI_DESCRIPTION_SERVER_FQDN,
                    "Specifies the fully-qualified domain name that should " +
                    "be used for the server during SASL GSSAPI " +
                    "authentication.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_GET_SERVER_FQDN,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_SERVER_FQDN +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLGSSAPI_UPDATED_USERNAME_ATTR,
                    "Attribute " + ATTR_USERNAME_ATTRIBUTE +
                    " in configuration entry %s has been updated.  The %s " +
                    "attribute will now be used when looking up user entries " +
                    "based on their username.");
                    "based on their username");
    registerMessage(MSGID_SASLGSSAPI_UPDATED_USER_BASE_DN,
                    "Attribute " + ATTR_USER_BASE_DN +
                    " in configuration entry %s has been updated.  The DN %s " +
                    "will now be used as the search base when looking up " +
                    "user entries based on their username.");
                    "user entries based on their username");
    registerMessage(MSGID_SASLGSSAPI_UPDATED_IDENTITY_MAPPER,
                    "Attribute " + ATTR_IDMAPPER_DN +
                    " in configuration entry %s has been updated.  The value " +
                    "\"%s\" will now be used as the DN of the identity " +
                    "mapper configuration entry for GSSAPI authentication.");
                    "mapper configuration entry for GSSAPI authentication");
    registerMessage(MSGID_SASLGSSAPI_UPDATED_NEW_SERVER_FQDN,
                    "Attribute " + ATTR_SERVER_FQDN +
                    " in configuration entry %s has been updated.  The value " +
                    "\"%s\" will now be used as the fully-qualified name of " +
                    "the Directory Server for GSSAPI authentication.");
                    "the Directory Server for GSSAPI authentication");
    registerMessage(MSGID_SASLGSSAPI_UPDATED_NO_SERVER_FQDN,
                    "Attribute " + ATTR_SERVER_FQDN +
                    " in configuration entry %s has been updated.  The " +
                    "Directory Server will attempt to determine its own " +
                    "FQDN for use in GSSAPI authentication.");
                    "FQDN for use in GSSAPI authentication");
    registerMessage(MSGID_SASLGSSAPI_UNEXPECTED_CALLBACK,
                    "An unexpected callback was provided for the SASL server " +
                    "for use during GSSAPI authentication:  %s.");
                    "for use during GSSAPI authentication:  %s");
    registerMessage(MSGID_SASLGSSAPI_DESCRIPTION_KDC_ADDRESS,
                    "Specifies the address of the KDC that should be used " +
                    "during SASL GSSAPI authentication.  If this is not " +
                    "specified, then an attempt will be made to obtain it " +
                    "from the system-wide Kerberos configuration.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately for subsequent GSSAPI bind attempts.");
                    "immediately for subsequent GSSAPI bind attempts");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_GET_KDC_ADDRESS,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_GSSAPI_KDC +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLGSSAPI_DESCRIPTION_REALM,
                    "Specifies the default realm that should be used during " +
                    "SASL GSSAPI authentication.  If this is not specified, " +
                    "then an attempt will be made to obtain it from the " +
                    "system-wide Kerberos configuration.  Changes to this " +
                    "configuration attribute will take effect immediately " +
                    "for subsequent GSSAPI bind attempts.");
                    "for subsequent GSSAPI bind attempts");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_GET_REALM,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_GSSAPI_REALM +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLGSSAPI_NO_CLIENT_CONNECTION,
                    "No client connection was available for use in " +
                    "processing the GSSAPI bind request.");
                    "processing the GSSAPI bind request");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_CREATE_SASL_SERVER,
                    "An error occurred while attempting to create the " +
                    "SASL server instance to process the GSSAPI bind " +
                    "request:  %s.");
                    "request:  %s");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_EVALUATE_RESPONSE,
                    "An error occurred while attempting to evaluate the " +
                    "challenge response provided by the client in the " +
                    "GSSAPI bind request:  %s.");
                    "GSSAPI bind request:  %s");
    registerMessage(MSGID_SASLGSSAPI_NO_AUTHZ_ID,
                    "The GSSAPI authentication process appears to have " +
                    "completed but no authorization ID is available for " +
                    "mapping to a directory user.");
                    "mapping to a directory user");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_PERFORM_INTERNAL_SEARCH,
                    "An error occurred while attempting to perform an " +
                    "internal search to map the GSSAPI authorization ID %s " +
                    "to a Directory Server user (result code %d, error " +
                    "message \"%s\").");
                    "message \"%s\")");
    registerMessage(MSGID_SASLGSSAPI_MULTIPLE_MATCHING_ENTRIES,
                    "The GSSAPI authorization ID %s appears to have multiple " +
                    "matches in the Directory Server.");
                    "matches in the Directory Server");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_MAP_AUTHZID,
                    "The GSSAPI authorization ID %s could not be mapped to " +
                    "any user in the Directory Server.");
                    "any user in the Directory Server");
    registerMessage(MSGID_SASLGSSAPI_UPDATED_KDC,
                    "Attribute " + ATTR_GSSAPI_KDC +
                    " in configuration entry %s has been updated.  The value " +
                    "\"%s\" will now be used as the address of the KDC for " +
                    "GSSAPI authentication.");
                    "GSSAPI authentication");
    registerMessage(MSGID_SASLGSSAPI_UNSET_KDC,
                    "Attribute " + ATTR_GSSAPI_KDC +
                    " in configuration entry %s has been un-set as a system " +
                    "property.  Any further GSSAPI authentication attempts " +
                    "will rely on the Kerberos configuration in the " +
                    "underlying operating system to determine the KDC " +
                    "address.");
                    "address");
    registerMessage(MSGID_SASLGSSAPI_UPDATED_REALM,
                    "Attribute " + ATTR_GSSAPI_REALM +
                    " in configuration entry %s has been updated.  The value " +
                    "\"%s\" will now be used as the default realm for GSSAPI " +
                    "authentication.");
                    "authentication");
    registerMessage(MSGID_SASLGSSAPI_UNSET_REALM,
                    "Attribute " + ATTR_GSSAPI_REALM +
                    " in configuration entry %s has been un-set as a system " +
                    "property.  Any further GSSAPI authentication attempts " +
                    "will rely on the Kerberos configuration in the " +
                    "underlying operating system to determine the default " +
                    "realm.");
                    "realm");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_CREATE_LOGIN_CONTEXT,
                    "An error occurred while attempting to create the JAAS " +
                    "login context for GSSAPI authentication:  %s.");
                    "login context for GSSAPI authentication:  %s");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_AUTHENTICATE_SERVER,
                    "An error occurred while attempting to perform " +
                    "server-side Kerberos authentication to support a GSSAPI " +
                    "bind operation:  %s.");
                    "bind operation:  %s");
    registerMessage(MSGID_SASLGSSAPI_DESCRIPTION_KEYTAB_FILE,
                    "Specifies the path to the keytab file containing the " +
                    "secret key for the Kerberos principal to use when " +
@@ -6608,36 +6608,36 @@
                    "will be used.  Changes to this configuration attribute " +
                    "will not take effect until the GSSAPI SASL mechanism " +
                    "handler is disabled and re-enabled or the Directory " +
                    "Server is restarted.");
                    "Server is restarted");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_GET_KEYTAB_FILE,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_GSSAPI_KEYTAB_FILE +
                    " attribute in configuration entry %s:  %s.");
                    " attribute in configuration entry %s:  %s");
    registerMessage(MSGID_SASLGSSAPI_CANNOT_CREATE_JAAS_CONFIG,
                    "An error occurred while attempting to write a " +
                    "temporary JAAS configuration file for use during " +
                    "GSSAPI processing:  %s.");
                    "GSSAPI processing:  %s");
    registerMessage(MSGID_SASLGSSAPI_DIFFERENT_AUTHID_AND_AUTHZID,
                    "The authentication ID %s was not equal to the " +
                    "authorization ID %s.  This is not supported for " +
                    "GSSAPI authentication.");
                    "GSSAPI authentication");
    registerMessage(MSGID_EXTOP_WHOAMI_NO_CLIENT_CONNECTION,
                    "No client connection structure is available for use in " +
                    "determining the requested authorization ID.");
                    "determining the requested authorization ID");
    registerMessage(MSGID_SOFTREFCACHE_DESCRIPTION_LOCK_TIMEOUT,
                    "Specifies the maximum length of time in milliseconds " +
                    "that the entry cache should block while attempting " +
                    "to acquire a lock for an entry.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_SOFTREFCACHE_CANNOT_DETERMINE_LOCK_TIMEOUT,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_SOFTREFCACHE_LOCK_TIMEOUT +
                    " attribute in configuration entry %s:  %s.  The default " +
                    "of %d will be used.");
                    "of %d will be used");
    registerMessage(MSGID_SOFTREFCACHE_DESCRIPTION_INCLUDE_FILTERS,
                    "Specifies a set of search filters that may be used to " +
                    "indicate which entries should be included in the entry " +
@@ -6646,24 +6646,24 @@
                    "are provided, then any entry will be accepted.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately, but will not impact existing entries that " +
                    "are already held in the cache.");
                    "are already held in the cache");
    registerMessage(MSGID_SOFTREFCACHE_CANNOT_DECODE_INCLUDE_FILTER,
                    "An error occurred while attempting to decode the value " +
                    "\"%s\" from attribute " +
                    ATTR_SOFTREFCACHE_INCLUDE_FILTER + " of entry %s:  %s.  " +
                    "This filter will not be used when determining whether " +
                    "to store an entry in the cache.");
                    "to store an entry in the cache");
    registerMessage(MSGID_SOFTREFCACHE_CANNOT_DECODE_ANY_INCLUDE_FILTERS,
                    "An error occurred while attempting to decode any of the " +
                    "values from attribute " +
                    ATTR_SOFTREFCACHE_INCLUDE_FILTER + " of entry %s.  All " +
                    "entries will be considered eligible for inclusion in " +
                    "the cache.");
                    "the cache");
    registerMessage(MSGID_SOFTREFCACHE_CANNOT_DETERMINE_INCLUDE_FILTERS,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_SOFTREFCACHE_INCLUDE_FILTER +
                    " attribute in configuration entry %s:  %s.  All entries " +
                    "will be considered eligible for inclusion in the cache.");
                    "will be considered eligible for inclusion in the cache");
    registerMessage(MSGID_SOFTREFCACHE_DESCRIPTION_EXCLUDE_FILTERS,
                    "Specifies a set of search filters that may be used to " +
                    "indicate which entries should be excluded from the " +
@@ -6672,63 +6672,63 @@
                    "provided, then any entry will be accepted.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately, but will not impact existing entries that " +
                    "are already held in the cache.");
                    "are already held in the cache");
    registerMessage(MSGID_SOFTREFCACHE_CANNOT_DECODE_EXCLUDE_FILTER,
                    "An error occurred while attempting to decode the value " +
                    "\"%s\" from attribute " +
                    ATTR_SOFTREFCACHE_EXCLUDE_FILTER + " of entry %s:  %s.  " +
                    "This filter will not be used when determining whether " +
                    "to store an entry in the cache.");
                    "to store an entry in the cache");
    registerMessage(MSGID_SOFTREFCACHE_CANNOT_DECODE_ANY_EXCLUDE_FILTERS,
                    "An error occurred while attempting to decode any of the " +
                    "values from attribute " +
                    ATTR_SOFTREFCACHE_EXCLUDE_FILTER + " of entry %s.  All " +
                    "entries will be considered eligible for inclusion in " +
                    "the cache.");
                    "the cache");
    registerMessage(MSGID_SOFTREFCACHE_CANNOT_DETERMINE_EXCLUDE_FILTERS,
                    "An error occurred while attempting to determine the " +
                    "value of the " + ATTR_SOFTREFCACHE_EXCLUDE_FILTER +
                    " attribute in configuration entry %s:  %s.  All entries " +
                    "will be considered eligible for inclusion in the cache.");
                    "will be considered eligible for inclusion in the cache");
    registerMessage(MSGID_SOFTREFCACHE_INVALID_LOCK_TIMEOUT,
                    "The " + ATTR_SOFTREFCACHE_LOCK_TIMEOUT + " attribute of " +
                    "entry %s, which specifies the maximum length of time in " +
                    "milliseconds that the cache should block while " +
                    "attempting to obtain a lock on an entry, has an invalid " +
                    "value:  %s.  Its value must be a positive integer, or " +
                    "zero to indicate that it should never block.");
                    "zero to indicate that it should never block");
    registerMessage(MSGID_SOFTREFCACHE_INVALID_INCLUDE_FILTER,
                    "The " + ATTR_SOFTREFCACHE_INCLUDE_FILTER + " attribute " +
                    "of entry %s, which specifies a set of search filters " +
                    "that may be used to control which entries are included " +
                    "in the cache, has an invalid value of \"%s\":  %s.");
                    "in the cache, has an invalid value of \"%s\":  %s");
    registerMessage(MSGID_SOFTREFCACHE_INVALID_INCLUDE_FILTERS,
                    "The " + ATTR_SOFTREFCACHE_INCLUDE_FILTER + " attribute " +
                    "of entry %s, which specifies a set of search filters " +
                    "that may be used to control which entries are included " +
                    "in the cache, has an invalid value:  %s.");
                    "in the cache, has an invalid value:  %s");
    registerMessage(MSGID_SOFTREFCACHE_INVALID_EXCLUDE_FILTER,
                    "The " + ATTR_SOFTREFCACHE_EXCLUDE_FILTER + " attribute " +
                    "of entry %s, which specifies a set of search filters " +
                    "that may be used to control which entries are excluded " +
                    "from the cache, has an invalid value of \"%s\":  %s.");
                    "from the cache, has an invalid value of \"%s\":  %s");
    registerMessage(MSGID_SOFTREFCACHE_INVALID_EXCLUDE_FILTERS,
                    "The " + ATTR_SOFTREFCACHE_EXCLUDE_FILTER + " attribute " +
                    "of entry %s, which specifies a set of search filters " +
                    "that may be used to control which entries are excluded " +
                    "from the cache, has an invalid value:  %s.");
                    "from the cache, has an invalid value:  %s");
    registerMessage(MSGID_SOFTREFCACHE_UPDATED_LOCK_TIMEOUT,
                    "The lock timeout that will be used to determine the " +
                    "length of time that the cache should block while " +
                    "attempting to acquire a lock for an entry has been " +
                    "set to %d milliseconds.");
                    "set to %d milliseconds");
    registerMessage(MSGID_SOFTREFCACHE_UPDATED_INCLUDE_FILTERS,
                    "The set of search filters that will control which " +
                    "entries may be included in the cache has been updated.");
                    "entries may be included in the cache has been updated");
    registerMessage(MSGID_SOFTREFCACHE_UPDATED_EXCLUDE_FILTERS,
                    "The set of search filters that will control which " +
                    "entries should be be excluded from the cache has been " +
                    "updated.");
                    "updated");
    registerMessage(MSGID_EXACTMAP_DESCRIPTION_MATCH_ATTR,
@@ -6739,61 +6739,61 @@
                    "attribute type defined in the Directory Server schema.  " +
                    "If multiple attribute type names or OIDs are provided, " +
                    "then at least one of those attributes must contain the " +
                    "provided ID string value in exactly one entry.");
                    "provided ID string value in exactly one entry");
    registerMessage(MSGID_EXACTMAP_NO_MATCH_ATTR,
                    "Configuration entry %s does not have any values for " +
                    "attribute " + ATTR_MATCH_ATTRIBUTE + ", which is used " +
                    "to specify which attribute(s) may be used to map a " +
                    "given ID string to a user entry.");
                    "given ID string to a user entry");
    registerMessage(MSGID_EXACTMAP_UNKNOWN_ATTR,
                    "Configuration entry %s contains value %s for attribute " +
                    ATTR_MATCH_ATTRIBUTE + " but that is not a valid name or " +
                    "OID for any attribute type defined in the Directory " +
                    "Server schema.");
                    "Server schema");
    registerMessage(MSGID_EXACTMAP_CANNOT_DETERMINE_MATCH_ATTR,
                    "An error occurred while attempting to process the " +
                    "value(s) of attribute " + ATTR_MATCH_ATTRIBUTE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_EXACTMAP_DESCRIPTION_SEARCH_BASE,
                    "Specifies the base DN(s) that should be used when " +
                    "performing searches to map the provided ID string to a " +
                    "user entry.  If no values are provided, then the " +
                    "root DSE will be used as the search base.");
                    "root DSE will be used as the search base");
    registerMessage(MSGID_EXACTMAP_CANNOT_DETERMINE_MATCH_BASE,
                    "An error occurred while attempting to process the " +
                    "value(s) of attribute " + ATTR_MATCH_BASE +
                    " in configuration entry %s:  %s.");
                    " in configuration entry %s:  %s");
    registerMessage(MSGID_EXACTMAP_UPDATED_MATCH_ATTRS,
                    "The set of attributes to use when matching ID strings " +
                    "to user entries contained in attribute " +
                    ATTR_MATCH_ATTRIBUTE + " of configuration entry %s has " +
                    "been updated.");
                    "been updated");
    registerMessage(MSGID_EXACTMAP_UPDATED_MATCH_BASES,
                    "The set of search base DNs to use when matching ID " +
                    "strings to user entries contained in attribute " +
                    ATTR_MATCH_BASE + " of configuration entry %s has been " +
                    "updated.");
                    "updated");
    registerMessage(MSGID_EXACTMAP_MULTIPLE_MATCHING_ENTRIES,
                    "ID string %s mapped to multiple users.");
                    "ID string %s mapped to multiple users");
    registerMessage(MSGID_EXACTMAP_INEFFICIENT_SEARCH,
                    "The internal search based on ID string %s could not be " +
                    "processed efficiently:  %s.  Check the server " +
                    "configuration to ensure that all associated backends " +
                    "are properly configured for these types of searches.");
                    "are properly configured for these types of searches");
    registerMessage(MSGID_EXACTMAP_SEARCH_FAILED,
                    "An internal failure occurred while attempting to " +
                    "resolve ID string %s to a user entry:  %s.");
                    "resolve ID string %s to a user entry:  %s");
    registerMessage(MSGID_EXTOP_CANCEL_NO_REQUEST_VALUE,
                    "Unable to process the cancel request because the " +
                    "extended operation did not include a request value.");
                    "extended operation did not include a request value");
    registerMessage(MSGID_EXTOP_CANCEL_CANNOT_DECODE_REQUEST_VALUE,
                    "An error occurred while attempting to decode the value " +
                    "of the cancel extended request:  %s.");
                    "of the cancel extended request:  %s");
    registerMessage(MSGID_EXTOP_CANCEL_REASON,
                    "Processing on this operation was terminated as a " +
                    "result of receiving a cancel request (message ID %d).");
                    "result of receiving a cancel request (message ID %d)");
    registerMessage(MSGID_PWLENGTHVALIDATOR_DESCRIPTION_MIN_LENGTH,
@@ -6801,50 +6801,50 @@
                    "password will be allowed to have.  A value of zero " +
                    "indicates that there is no minimum length.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWLENGTHVALIDATOR_CANNOT_DETERMINE_MIN_LENGTH,
                    "An error occurred while attempting to determine the " +
                    "minimum allowed password length from the " +
                    ATTR_PASSWORD_MIN_LENGTH + " attribute:  %s.");
                    ATTR_PASSWORD_MIN_LENGTH + " attribute:  %s");
    registerMessage(MSGID_PWLENGTHVALIDATOR_DESCRIPTION_MAX_LENGTH,
                    "Specifies the maximum number of characters that a " +
                    "password will be allowed to have.  A value of zero " +
                    "indicates that there is no maximum length.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWLENGTHVALIDATOR_CANNOT_DETERMINE_MAX_LENGTH,
                    "An error occurred while attempting to determine the " +
                    "maximum allowed password length from the " +
                    ATTR_PASSWORD_MAX_LENGTH + " attribute:  %s.");
                    ATTR_PASSWORD_MAX_LENGTH + " attribute:  %s");
    registerMessage(MSGID_PWLENGTHVALIDATOR_MIN_GREATER_THAN_MAX,
                    "The configured minimum password length of %d characters " +
                    "is greater than the configured maximum password length " +
                    "of %d.");
                    "of %d");
    registerMessage(MSGID_PWLENGTHVALIDATOR_TOO_SHORT,
                    "The provided password is shorter than the minimum " +
                    "required length of %d characters.");
                    "required length of %d characters");
    registerMessage(MSGID_PWLENGTHVALIDATOR_TOO_LONG,
                    "The provided password is longer than the maximum " +
                    "allowed length of %d characters.");
                    "allowed length of %d characters");
    registerMessage(MSGID_PWLENGTHVALIDATOR_UPDATED_MIN_LENGTH,
                    "The minimum password length has been updated to %d.");
                    "The minimum password length has been updated to %d");
    registerMessage(MSGID_PWLENGTHVALIDATOR_UPDATED_MAX_LENGTH,
                    "The maximum password length has been updated to %d.");
                    "The maximum password length has been updated to %d");
    registerMessage(MSGID_PWDIFFERENCEVALIDATOR_DESCRIPTION_MIN_DIFFERENCE,
                    "Specifies the minimum difference that a " +
                    "password will be allowed to have.  A value of zero " +
                    "indicates that there is no minimum difference.  Changes " +
                    "to this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PWDIFFERENCEVALIDATOR_CANNOT_DETERMINE_MIN_DIFFERENCE,
                    "An error occurred while attempting to determine the " +
                    "minimum allowed password difference from the " +
                    ATTR_PASSWORD_MIN_DIFFERENCE + " attribute:  %s.");
                    ATTR_PASSWORD_MIN_DIFFERENCE + " attribute:  %s");
    registerMessage(MSGID_PWDIFFERENCEVALIDATOR_TOO_SMALL,
                    "The provided password differs less than the minimum " +
                    "required difference of %d characters.");
                    "required difference of %d characters");
    registerMessage(MSGID_PWDIFFERENCEVALIDATOR_UPDATED_MIN_DIFFERENCE,
                    "The minimum password difference has been updated to %d.");
                    "The minimum password difference has been updated to %d");
    registerMessage(MSGID_RANDOMPWGEN_DESCRIPTION_CHARSET,
@@ -6854,21 +6854,21 @@
                    "characters) followed immediately by a colon and the set " +
                    "of characters that should be included in that " +
                    "character set.  Changes to this configuration attribute " +
                    "will take effect immediately.");
                    "will take effect immediately");
    registerMessage(MSGID_RANDOMPWGEN_NO_CHARSETS,
                    "Configuration entry \"%s\" does not contain attribute " +
                    ATTR_PASSWORD_CHARSET + " which specifies the sets of " +
                    "characters that should be used when generating the " +
                    "password.  This is a required attribute.");
                    "password.  This is a required attribute");
    registerMessage(MSGID_RANDOMPWGEN_CHARSET_NAME_CONFLICT,
                    "Configuration entry \"%s\" contains multiple " +
                    "definitions for the %s character set.");
                    "definitions for the %s character set");
    registerMessage(MSGID_RANDOMPWGEN_CANNOT_DETERMINE_CHARSETS,
                    "An error occurred while attempting to decode the " +
                    "value(s) of the configuration attribute " +
                    ATTR_PASSWORD_CHARSET + ", which is used to hold the " +
                    "character set(s) for use in generating the password:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_RANDOMPWGEN_DESCRIPTION_PWFORMAT,
                    "Specifies the format that should be used for passwords " +
                    "constructed by this password generator.  The value " +
@@ -6876,40 +6876,40 @@
                    "each element is the name of a character set followed " +
                    "by a colon and the number of characters to choose at " +
                    "random from that character set.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_RANDOMPWGEN_NO_PWFORMAT,
                    "Configuration entry \"%s\" does not contain attribute " +
                    ATTR_PASSWORD_FORMAT + " which specifies the format to " +
                    "use for the generated password.  This is a required " +
                    "attribute.");
                    "attribute");
    registerMessage(MSGID_RANDOMPWGEN_UNKNOWN_CHARSET,
                    "The password format string \"%s\" references an " +
                    "undefined character set \"%s\".");
                    "undefined character set \"%s\"");
    registerMessage(MSGID_RANDOMPWGEN_INVALID_PWFORMAT,
                    "The password format string \"%s\" contains an invalid " +
                    "syntax.  This value should be a comma-delimited " +
                    "sequence of elements, where each element is the name of " +
                    "a character set followed by a colon and the number of " +
                    "characters to choose at random from that character set.");
                    "characters to choose at random from that character set");
    registerMessage(MSGID_RANDOMPWGEN_CANNOT_DETERMINE_PWFORMAT,
                    "An error occurred while attempting to decode the " +
                    "value for configuration attribute " +
                    ATTR_PASSWORD_FORMAT + ", which is used to specify the " +
                    "format for the generated passwords:  %s.");
                    "format for the generated passwords:  %s");
    registerMessage(
         MSGID_ERRORLOG_ACCTNOTHANDLER_DESCRIPTION_NOTIFICATION_TYPES,
         "Specifies the status notification types for which log messages " +
         "should be generated.  It is a multivalued attribute, and changes " +
         "will take effect immediately.");
         "will take effect immediately");
    registerMessage(MSGID_ERRORLOG_ACCTNOTHANDLER_INVALID_TYPE,
                    "Configuration entry %s contains unrecognized account " +
                    "status notification type %s.");
                    "status notification type %s");
    registerMessage(MSGID_ERRORLOG_ACCTNOTHANDLER_CANNOT_GET_NOTIFICATION_TYPES,
                    "An error occurred while attempting to determine " +
                    "the account status notification types from " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_ERRORLOG_ACCTNOTHANDLER_NOTIFICATION,
                    "Account-Status-Notification type='%s' userdn='%s' " +
                    "id=%d msg='%s'");
@@ -6918,79 +6918,79 @@
    registerMessage(MSGID_STATICMEMBERS_NO_SUCH_ENTRY,
                    "Unable to examine entry %s as a potential member of " +
                    "static group %s because that entry does not exist in " +
                    "the Directory Server.");
                    "the Directory Server");
    registerMessage(MSGID_STATICMEMBERS_CANNOT_GET_ENTRY,
                    "An error occurred while attempting to retrieve entry %s " +
                    "as a potential member of static group %s:  %s.");
                    "as a potential member of static group %s:  %s");
    registerMessage(MSGID_STATICGROUP_INVALID_OC_COMBINATION,
                    "Entry %s cannot be parsed as a valid static group " +
                    "because static groups are not allowed to have both the " +
                    "%s and %s object classes.");
                    "%s and %s object classes");
    registerMessage(MSGID_STATICGROUP_NO_VALID_OC,
                    "Entry %s cannot be parsed as a valid static group " +
                    "because it does not contain exactly one of the %s or " +
                    "the %s object classes.");
                    "the %s object classes");
    registerMessage(MSGID_STATICGROUP_CANNOT_DECODE_MEMBER_VALUE_AS_DN,
                    "Value %s for attribute %s in entry %s cannot be parsed " +
                    "as a valid DN:  %s.  It will be excluded from the set " +
                    "of group members.");
                    "of group members");
    registerMessage(MSGID_STATICGROUP_ADD_MEMBER_ALREADY_EXISTS,
                    "Cannot add user %s as a new member of static group %s " +
                    "because that user is already in the member list for the " +
                    "group.");
                    "group");
    registerMessage(MSGID_STATICGROUP_ADD_MEMBER_UPDATE_FAILED,
                    "Cannot add user %s as a new member of static group %s " +
                    "because an error occurred while attempting to perform " +
                    "an internal modification to update the group:  %s.");
                    "an internal modification to update the group:  %s");
    registerMessage(MSGID_STATICGROUP_REMOVE_MEMBER_NO_SUCH_MEMBER,
                    "Cannot remove user %s as a member of static group %s " +
                    "because that user is not included in the member list " +
                    "for the group.");
                    "for the group");
    registerMessage(MSGID_STATICGROUP_REMOVE_MEMBER_UPDATE_FAILED,
                    "Cannot remove user %s as a member of static group %s " +
                    "because an error occurred while attempting to perform " +
                    "an internal modification to update the group:  %s.");
                    "an internal modification to update the group:  %s");
    registerMessage(MSGID_SDTUACM_DESCRIPTION_SUBJECT_ATTR,
                    "Specifies the name of the attribute type in user " +
                    "entries that contains the subjects of the certificates " +
                    "held by that user.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SDTUACM_NO_SUBJECT_ATTR,
                    "Configuration entry %s does not contain required " +
                    "attribute %s, which is used to specify which attribute " +
                    "should contain the subjects of the certificates held " +
                    "by users.");
                    "by users");
    registerMessage(MSGID_SDTUACM_NO_SUCH_ATTR,
                    "Configuration entry %s indicates that certificate " +
                    "subjects should be held in attribute %s, but this " +
                    "attribute is not defined in the server schema.");
                    "attribute is not defined in the server schema");
    registerMessage(MSGID_SDTUACM_CANNOT_GET_SUBJECT_ATTR,
                    "An error occurred while attempting to determine which " +
                    "attribute type should be used to hold certificate " +
                    "subjects from configuration entry %s:  %s.");
                    "subjects from configuration entry %s:  %s");
    registerMessage(MSGID_SDTUACM_DESCRIPTION_BASE_DN,
                    "Specifies the base DNs below which the searches to " +
                    "find matching user entries will be performed.  If no " +
                    "base DN(s) are provided, then the server will search " +
                    "below all public naming contexts.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_SDTUACM_CANNOT_GET_BASE_DN,
                    "An error occurred while attempting to determine the " +
                    "search base DN(s) from configuration entry %s:  %s.");
                    "search base DN(s) from configuration entry %s:  %s");
    registerMessage(MSGID_SDTUACM_NO_PEER_CERTIFICATE,
                    "Could not map the provided certificate chain to a user " +
                    "entry because no peer certificate was available.");
                    "entry because no peer certificate was available");
    registerMessage(MSGID_SDTUACM_PEER_CERT_NOT_X509,
                    "Could not map the provided certificate chain to a user " +
                    "because the peer certificate was not an X.509 " +
                    "certificate (peer certificate format was %s).");
                    "certificate (peer certificate format was %s)");
    registerMessage(MSGID_SDTUACM_MULTIPLE_MATCHING_ENTRIES,
                    "The certificate with subject %s could not be mapped to " +
                    "exactly one user.  It maps to both %s and %s.");
                    "exactly one user.  It maps to both %s and %s");
    registerMessage(MSGID_SATUACM_DESCRIPTION_ATTR_MAP,
@@ -6999,212 +6999,212 @@
                    "in certificate subjects and attributes in user " +
                    "entries.  Values should be in the form " +
                    "'certattr:userattr'.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_SATUACM_NO_MAP_ATTR,
                    "Configuration entry %s does not contain required " +
                    "attribute %s, which is used to specify the mappings " +
                    "between attributes in certificate subjects and " +
                    "attributes in user entries.");
                    "attributes in user entries");
    registerMessage(MSGID_SATUACM_INVALID_MAP_FORMAT,
                    "Configuration entry %s has value '%s' which violates " +
                    "the format required for attribute mappings.  The " +
                    "expected format is 'certattr:userattr'.");
                    "expected format is 'certattr:userattr'");
    registerMessage(MSGID_SATUACM_DUPLICATE_CERT_ATTR,
                    "Configuration entry %s contains multiple mappings " +
                    "for certificate attribute %s.");
                    "for certificate attribute %s");
    registerMessage(MSGID_SATUACM_NO_SUCH_ATTR,
                    "Mapping %s in configuration entry %s references " +
                    "attribute %s which is not defined in the server schema.");
                    "attribute %s which is not defined in the server schema");
    registerMessage(MSGID_SATUACM_DUPLICATE_USER_ATTR,
                    "Configuration entry %s contains multiple mappings " +
                    "for user attribute %s.");
                    "for user attribute %s");
    registerMessage(MSGID_SATUACM_CANNOT_GET_ATTR_MAP,
                    "An error occurred while attempting to determine the set " +
                    "of attribute mappings from configuration entry %s:  %s.");
                    "of attribute mappings from configuration entry %s:  %s");
    registerMessage(MSGID_SATUACM_DESCRIPTION_BASE_DN,
                    "Specifies the base DNs below which the searches to " +
                    "find matching user entries will be performed.  If no " +
                    "base DN(s) are provided, then the server will search " +
                    "below all public naming contexts.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_SATUACM_CANNOT_GET_BASE_DN,
                    "An error occurred while attempting to determine the " +
                    "search base DN(s) from configuration entry %s:  %s.");
                    "search base DN(s) from configuration entry %s:  %s");
    registerMessage(MSGID_SATUACM_NO_PEER_CERTIFICATE,
                    "Could not map the provided certificate chain to a user " +
                    "entry because no peer certificate was available.");
                    "entry because no peer certificate was available");
    registerMessage(MSGID_SATUACM_PEER_CERT_NOT_X509,
                    "Could not map the provided certificate chain to a user " +
                    "because the peer certificate was not an X.509 " +
                    "certificate (peer certificate format was %s).");
                    "certificate (peer certificate format was %s)");
    registerMessage(MSGID_SATUACM_CANNOT_DECODE_SUBJECT_AS_DN,
                    "Unable to decode peer certificate subject %s as a DN:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_SATUACM_NO_MAPPABLE_ATTRIBUTES,
                    "Peer certificate subject %s does not contain any " +
                    "attributes for which a mapping has been established.");
                    "attributes for which a mapping has been established");
    registerMessage(MSGID_SATUACM_MULTIPLE_MATCHING_ENTRIES,
                    "The certificate with subject %s could not be mapped to " +
                    "exactly one user.  It maps to both %s and %s.");
                    "exactly one user.  It maps to both %s and %s");
    registerMessage(MSGID_FCM_DESCRIPTION_FINGERPRINT_ATTR,
                    "Specifies the name of the attribute type in user " +
                    "entries that contains the fingerprints of the " +
                    "certificates held by that user.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_FCM_NO_FINGERPRINT_ATTR,
                    "Configuration entry %s does not contain required " +
                    "attribute %s, which is used to specify which attribute " +
                    "should contain the fingerprints of the certificates " +
                    "held by users.");
                    "held by users");
    registerMessage(MSGID_FCM_NO_SUCH_ATTR,
                    "Configuration entry %s indicates that certificate " +
                    "fingerprints should be held in attribute %s, but this " +
                    "attribute is not defined in the server schema.");
                    "attribute is not defined in the server schema");
    registerMessage(MSGID_FCM_CANNOT_GET_FINGERPRINT_ATTR,
                    "An error occurred while attempting to determine which " +
                    "attribute type should be used to hold certificate " +
                    "fingerprints from configuration entry %s:  %s.");
                    "fingerprints from configuration entry %s:  %s");
    registerMessage(MSGID_FCM_DESCRIPTION_FINGERPRINT_ALGORITHM,
                    "Specifies the name of the digest algorithm used for " +
                    "the certificate fingerprints.  The value should be " +
                    "either 'MD5' or 'SHA1'.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_FCM_NO_FINGERPRINT_ALGORITHM,
                    "Configuration entry %s does not contain required " +
                    "attribute %s, which is used to specify which digest " +
                    "algorithm should be used to compute certificate " +
                    "fingerprints.");
                    "fingerprints");
    registerMessage(MSGID_FCM_CANNOT_GET_FINGERPRINT_ALGORITHM,
                    "An error occurred while attempting to determine the " +
                    "digest algorithm from configuration entry %s:  %s.");
                    "digest algorithm from configuration entry %s:  %s");
    registerMessage(MSGID_FCM_DESCRIPTION_BASE_DN,
                    "Specifies the base DNs below which the searches to " +
                    "find matching user entries will be performed.  If no " +
                    "base DN(s) are provided, then the server will search " +
                    "below all public naming contexts.  Changes to this " +
                    "configuration attribute will take effect immediately.");
                    "configuration attribute will take effect immediately");
    registerMessage(MSGID_FCM_CANNOT_GET_BASE_DN,
                    "An error occurred while attempting to determine the " +
                    "search base DN(s) from configuration entry %s:  %s.");
                    "search base DN(s) from configuration entry %s:  %s");
    registerMessage(MSGID_FCM_NO_PEER_CERTIFICATE,
                    "Could not map the provided certificate chain to a user " +
                    "entry because no peer certificate was available.");
                    "entry because no peer certificate was available");
    registerMessage(MSGID_FCM_PEER_CERT_NOT_X509,
                    "Could not map the provided certificate chain to a user " +
                    "because the peer certificate was not an X.509 " +
                    "certificate (peer certificate format was %s).");
                    "certificate (peer certificate format was %s)");
    registerMessage(MSGID_FCM_CANNOT_CALCULATE_FINGERPRINT,
                    "An error occurred while attempting to calculate the " +
                    "fingerprint for the peer certificate with subject %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_FCM_MULTIPLE_MATCHING_ENTRIES,
                    "The certificate with fingerprint %s could not be mapped " +
                    "to exactly one user.  It maps to both %s and %s.");
                    "to exactly one user.  It maps to both %s and %s");
    registerMessage(MSGID_DYNAMICGROUP_CANNOT_DECODE_MEMBERURL,
                    "Unable to decode value \"%s\" in entry \"%s\" as an " +
                    "LDAP URL:  %s.");
                    "LDAP URL:  %s");
    registerMessage(MSGID_DYNAMICGROUP_NESTING_NOT_SUPPORTED,
                    "Dynamic groups do not support nested groups.");
                    "Dynamic groups do not support nested groups");
    registerMessage(MSGID_DYNAMICGROUP_ALTERING_MEMBERS_NOT_SUPPORTED,
                    "Dynamic groups do not support explicitly altering their " +
                    "membership.");
                    "membership");
    registerMessage(MSGID_DYNAMICGROUP_NONEXISTENT_BASE_DN,
                    "Base DN %s specified in dynamic group %s does not exist " +
                    "in the server.");
                    "in the server");
    registerMessage(MSGID_DYNAMICGROUP_INTERNAL_SEARCH_FAILED,
                    "An error occurred while attempting perform an internal " +
                    "search with base DN %s and filter %s to resolve the " +
                    "member list for dynamic group %s:  result code %s, " +
                    "error message %s.");
                    "error message %s");
    registerMessage(MSGID_DYNAMICGROUP_CANNOT_RETURN_ENTRY,
                    "The server encountered a timeout while attempting to " +
                    "add user %s to the member list for dynamic group %s.");
                    "add user %s to the member list for dynamic group %s");
    registerMessage(MSGID_REPEATEDCHARS_VALIDATOR_TOO_MANY_CONSECUTIVE,
                    "The provided password contained too many instances " +
                    "of the same character appearing consecutively.  The " +
                    "maximum number of times the same character may appear " +
                    "consecutively in a password is %d.");
                    "consecutively in a password is %d");
    registerMessage(MSGID_UNIQUECHARS_VALIDATOR_NOT_ENOUGH_UNIQUE_CHARS,
                    "The provided password does not contain enough unique " +
                    "characters.  The minimum number of unique characters " +
                    "that may appear in a user password is %d.");
                    "that may appear in a user password is %d");
    registerMessage(MSGID_SUBSCHEMASUBENTRY_VATTR_NOT_SEARCHABLE,
                    "The %s attribute is not searchable and should not be " +
                    "included in otherwise unindexed search filters.");
                    "included in otherwise unindexed search filters");
    registerMessage(MSGID_DICTIONARY_VALIDATOR_PASSWORD_IN_DICTIONARY,
                    "The provided password was found in the server's " +
                    "dictionary.");
                    "dictionary");
    registerMessage(MSGID_DICTIONARY_VALIDATOR_NO_SUCH_FILE,
                    "The specified dictionary file %s does not exist.");
                    "The specified dictionary file %s does not exist");
    registerMessage(MSGID_DICTIONARY_VALIDATOR_CANNOT_READ_FILE,
                    "An error occurred while attempting to load the " +
                    "dictionary from file %s:  %s.");
                    "dictionary from file %s:  %s");
    registerMessage(MSGID_ATTRVALUE_VALIDATOR_PASSWORD_IN_ENTRY,
                    "The provided password was found in another attribute " +
                    "in the user entry.");
                    "in the user entry");
    registerMessage(MSGID_CHARSET_VALIDATOR_ILLEGAL_CHARACTER,
                    "The provided password contained character '%s' which is " +
                    "not allowed for use in passwords.");
                    "not allowed for use in passwords");
    registerMessage(MSGID_CHARSET_VALIDATOR_TOO_FEW_CHARS_FROM_SET,
                    "The provided password did not contain enough " +
                    "characters from the character set '%s'.  The minimum " +
                    "number of characters from that set that must be present " +
                    "in user passwords is %d.");
                    "in user passwords is %d");
    registerMessage(MSGID_CHARSET_VALIDATOR_NO_COLON,
                    "The provided character set definition '%s' is invalid " +
                    "because it does not contain a colon to separate the " +
                    "minimum count from the character set.");
                    "minimum count from the character set");
    registerMessage(MSGID_CHARSET_VALIDATOR_NO_CHARS,
                    "The provided character set definition '%s' is invalid " +
                    "because the provided character set is empty.");
                    "because the provided character set is empty");
    registerMessage(MSGID_CHARSET_VALIDATOR_INVALID_COUNT,
                    "The provided character set definition '%s' is invalid " +
                    "because the value before the colon must be an integer " +
                    "greater than zero.");
                    "greater than zero");
    registerMessage(MSGID_CHARSET_VALIDATOR_DUPLICATE_CHAR,
                    "The provided character set definition '%s' is invalid " +
                    "because it contains character '%s' which has already " +
                    "been used.");
                    "been used");
    registerMessage(MSGID_VIRTUAL_STATIC_GROUP_MULTIPLE_TARGETS,
                    "The virtual static group defined in entry %s contains " +
                    "multiple target group DNs, but only one is allowed.");
                    "multiple target group DNs, but only one is allowed");
    registerMessage(MSGID_VIRTUAL_STATIC_GROUP_CANNOT_DECODE_TARGET,
                    "Unable to decode \"%s\" as the target DN for group %s:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_VIRTUAL_STATIC_GROUP_NO_TARGET,
                    "The virtual static group defined in entry %s does not " +
                    "contain a target group definition.");
                    "contain a target group definition");
    registerMessage(MSGID_VIRTUAL_STATIC_GROUP_NESTING_NOT_SUPPORTED,
                    "Virtual static groups do not support nesting.");
                    "Virtual static groups do not support nesting");
    registerMessage(MSGID_VIRTUAL_STATIC_GROUP_NO_TARGET_GROUP,
                    "Target group %s referenced by virtual static group %s " +
                    "does not exist.");
                    "does not exist");
    registerMessage(MSGID_VIRTUAL_STATIC_GROUP_ALTERING_MEMBERS_NOT_SUPPORTED,
                    "Altering membership for virtual static group %s is not " +
                    "allowed.");
                    "allowed");
    registerMessage(MSGID_VIRTUAL_STATIC_GROUP_TARGET_CANNOT_BE_VIRTUAL,
                    "Virtual static group %s references target group %s " +
                    "which is itself a virtual static group.  One " +
                    "virtual static group is not allowed to reference " +
                    "another as its target group.");
                    "another as its target group");
  }
}
opends/src/server/org/opends/server/messages/JebMessages.java
@@ -1103,179 +1103,179 @@
    registerMessage(MSGID_JEB_INCORRECT_ROUTING,
                    "The backend does not contain that part of the Directory " +
                    "Information Tree pertaining to the entry " +
                    "'%s'.");
                    "'%s'");
    registerMessage(MSGID_JEB_OPEN_DATABASE_FAIL,
                    "The database could not be opened: %s.");
                    "The database could not be opened: %s");
    registerMessage(MSGID_JEB_OPEN_ENV_FAIL,
                    "The database environment could not be opened: %s.");
                    "The database environment could not be opened: %s");
    registerMessage(MSGID_JEB_HIGHEST_ID_FAIL,
                    "The database highest entry identifier could not be " +
                    "determined.");
                    "determined");
    registerMessage(MSGID_JEB_FUNCTION_NOT_SUPPORTED,
                    "The requested operation is not supported by this " +
                    "backend.");
                    "backend");
    registerMessage(MSGID_JEB_CREATE_FAIL,
                    "The backend database directory could not be created: %s.");
                    "The backend database directory could not be created: %s");
    registerMessage(MSGID_JEB_REMOVE_FAIL,
                    "The backend database files could not be removed: %s.");
                    "The backend database files could not be removed: %s");
    registerMessage(MSGID_JEB_DIRECTORY_INVALID,
                    "The backend database directory '%s' is not a valid " +
                    "directory.");
                    "directory");
    registerMessage(MSGID_JEB_MISSING_DN2ID_RECORD,
                    "The DN database does not contain a record for '%s'.");
                    "The DN database does not contain a record for '%s'");
    registerMessage(MSGID_JEB_MISSING_ID2ENTRY_RECORD,
                    "The entry database does not contain a record for ID %s.");
                    "The entry database does not contain a record for ID %s");
    registerMessage(MSGID_JEB_ENTRY_DATABASE_CORRUPT,
                    "The entry database does not contain a valid record " +
                    "for ID %s.");
                    "for ID %s");
    registerMessage(MSGID_JEB_DATABASE_EXCEPTION,
                    "Database exception: %s");
    registerMessage(MSGID_CONFIG_DESCRIPTION_INDEX_ATTRIBUTE,
                    "The attribute type name of the attribute index.");
                    "The attribute type name of the attribute index");
    registerMessage(MSGID_CONFIG_DESCRIPTION_INDEX_TYPE,
                    "The kind of indexing to be enabled on an attribute " +
                    "index. Permitted values include \"equality\", " +
                    "\"presence\", \"substring\" and \"ordering\").");
                    "\"presence\", \"substring\" and \"ordering\")");
    registerMessage(MSGID_CONFIG_DESCRIPTION_INDEX_ENTRY_LIMIT,
                    "A performance tuning parameter for attribute indexes. " +
                    "The entry limit of an attribute index, where " +
                    "a value of 0 means there is no threshold. " +
                    "When the number of entries " +
                    "matching an index value reaches the limit, the " +
                    "value is no longer maintained in the index.");
                    "value is no longer maintained in the index");
    registerMessage(MSGID_CONFIG_DESCRIPTION_INDEX_SUBSTRING_LENGTH,
                    "The length of substrings in a substring index.");
                    "The length of substrings in a substring index");
    registerMessage(MSGID_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE,
                    "The attribute '%s' cannot have indexing of type '%s' " +
                    "because it does not have a corresponding matching rule.");
                    "because it does not have a corresponding matching rule");
    registerMessage(MSGID_JEB_UNCHECKED_EXCEPTION,
                    "Unchecked exception during database transaction.");
                    "Unchecked exception during database transaction");
    registerMessage(MSGID_JEB_CLEAN_DATABASE_START,
                    "Starting database cleaning on %d log file(s) in '%s'.");
                    "Starting database cleaning on %d log file(s) in '%s'");
    registerMessage(MSGID_JEB_CLEAN_DATABASE_MARKED,
                    "Marked %d log file(s) for cleaning.");
                    "Marked %d log file(s) for cleaning");
    registerMessage(MSGID_JEB_CLEAN_DATABASE_FINISH,
                    "Finished database cleaning; " +
                    "now %d log file(s) remaining.");
                    "now %d log file(s) remaining");
    registerMessage(MSGID_JEB_SUBTREE_DELETE_SIZE_LIMIT_EXCEEDED,
                    "Exceeded the administrative limit on the number of " +
                    "entries that may be deleted in a subtree delete " +
                    "operation. The number of entries actually deleted was " +
                    "%d. The operation may be retried until all entries " +
                    "in the subtree have been deleted.");
                    "in the subtree have been deleted");
    registerMessage(MSGID_JEB_DELETED_ENTRY_COUNT,
                    "The number of entries deleted was %d.");
                    "The number of entries deleted was %d");
    registerMessage(MSGID_JEB_DUPLICATE_CONFIG_ENTRY,
                    "The configuration entry '%s' will be ignored. " +
                    "Only one configuration entry with object class '%s' is " +
                    "allowed.");
                    "allowed");
    registerMessage(MSGID_JEB_CONFIG_ENTRY_NOT_RECOGNIZED,
                    "The configuration entry '%s' will be ignored " +
                    "because it is not recognized.");
                    "because it is not recognized");
    registerMessage(MSGID_JEB_INDEX_ATTRIBUTE_TYPE_NOT_FOUND,
                    "The index configuration entry '%s' will be ignored " +
                    "because it specifies an unknown attribute type '%s'.");
                    "because it specifies an unknown attribute type '%s'");
    registerMessage(MSGID_JEB_DUPLICATE_INDEX_CONFIG,
                    "The index configuration entry '%s' will be ignored " +
                    "because it specifies the attribute type '%s', " +
                    "which has already been defined in another " +
                    "index configuration entry.");
                    "index configuration entry");
    registerMessage(MSGID_JEB_IO_ERROR,
                    "I/O error during backend operation: %s");
    registerMessage(MSGID_JEB_BACKEND_STARTED,
                    "A database backend containing %d entries has started.");
                    "A database backend containing %d entries has started");
    registerMessage(MSGID_JEB_IMPORT_PARENT_NOT_FOUND,
                    "The parent entry '%s' does not exist.");
                    "The parent entry '%s' does not exist");
    registerMessage(MSGID_JEB_IMPORT_ENTRY_EXISTS,
                    "The entry exists and the import options do not " +
                    "allow it to be replaced.");
                    "allow it to be replaced");
    registerMessage(MSGID_JEB_ATTRIBUTE_INDEX_NOT_CONFIGURED,
                    "There is no index configured for attribute type '%s'.");
                    "There is no index configured for attribute type '%s'");
    registerMessage(MSGID_JEB_SEARCH_NO_SUCH_OBJECT,
                    "The search base entry '%s' does not exist.");
                    "The search base entry '%s' does not exist");
    registerMessage(MSGID_JEB_ADD_NO_SUCH_OBJECT,
                    "The entry '%s' cannot be added because its parent " +
                    "entry does not exist.");
                    "entry does not exist");
    registerMessage(MSGID_JEB_DELETE_NO_SUCH_OBJECT,
                    "The entry '%s' cannot be removed because it does " +
                    "not exist.");
                    "not exist");
    registerMessage(MSGID_JEB_MODIFY_NO_SUCH_OBJECT,
                    "The entry '%s' cannot be modified because it does " +
                    "not exist.");
                    "not exist");
    registerMessage(MSGID_JEB_MODIFYDN_NO_SUCH_OBJECT,
                    "The entry '%s' cannot be renamed because it does " +
                    "not exist.");
                    "not exist");
    registerMessage(MSGID_JEB_ADD_ENTRY_ALREADY_EXISTS,
                    "The entry '%s' cannot be added because an entry with " +
                    "that name already exists.");
                    "that name already exists");
    registerMessage(MSGID_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF,
                    "The entry '%s' cannot be removed because it has " +
                    "subordinate entries.");
                    "subordinate entries");
    registerMessage(MSGID_JEB_MODIFYDN_ALREADY_EXISTS,
                    "The entry cannot be renamed to '%s' because an entry " +
                    "with that name already exists.");
                    "with that name already exists");
    registerMessage(MSGID_JEB_NEW_SUPERIOR_NO_SUCH_OBJECT,
                    "The entry cannot be moved because the new parent " +
                    "entry '%s' does not exist.");
                    "entry '%s' does not exist");
    registerMessage(MSGID_JEB_CACHE_SIZE_AFTER_PRELOAD,
                    "The database cache is %d MB after pre-loading.");
                    "The database cache is %d MB after pre-loading");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_GET_MAC,
                    "An error occurred while attempting to obtain the %s MAC " +
                    "provider to create the signed hash for the backup:  %s.");
                    "provider to create the signed hash for the backup:  %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_GET_DIGEST,
                    "An error occurred while attempting to obtain the %s " +
                    "message digest to create the hash for the backup:  %s.");
                    "message digest to create the hash for the backup:  %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_CREATE_ARCHIVE_FILE,
                    "An error occurred while trying to create the database " +
                    "archive file %s in directory %s:  %s.");
                    "archive file %s in directory %s:  %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_GET_CIPHER,
                    "An error occurred while attempting to obtain the %s " +
                    "cipher to use to encrypt the backup:  %s.");
                    "cipher to use to encrypt the backup:  %s");
    registerMessage(MSGID_JEB_BACKUP_ZIP_COMMENT,
                    "%s backup %s of backend %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_LIST_LOG_FILES,
                    "An error occurred while attempting to obtain a list " +
                    "of the files in directory %s to include in the database " +
                    "backup:  %s.");
                    "backup:  %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_WRITE_ARCHIVE_FILE,
                    "An error occurred while attempting to back up database " +
                    "file %s:  %s.");
                    "file %s:  %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_CLOSE_ZIP_STREAM,
                    "An error occurred while trying to close the database " +
                    "archive file %s in directory %s:  %s.");
                    "archive file %s in directory %s:  %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR,
                    "An error occurred while attempting to update the backup " +
                    "descriptor file %s with information about the database " +
                    "backup:  %s.");
                    "backup:  %s");
    registerMessage(MSGID_JEB_BACKUP_UNSIGNED_HASH_ERROR,
                    "The computed hash of backup %s is different to the " +
                    "value computed at time of backup.");
                    "value computed at time of backup");
    registerMessage(MSGID_JEB_BACKUP_SIGNED_HASH_ERROR,
                    "The computed signed hash of backup %s is different to " +
                    "the value computed at time of backup.");
                    "the value computed at time of backup");
    registerMessage(MSGID_JEB_INCR_BACKUP_REQUIRES_FULL,
                    "A full backup must be taken before an incremental " +
                    "backup can be taken.");
                    "backup can be taken");
    registerMessage(MSGID_JEB_CANNOT_RENAME_RESTORE_DIRECTORY,
                    "The directory %s, containing the files restored from " +
                    "backup, could not be renamed to the backend directory " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_JEB_INCR_BACKUP_FROM_WRONG_BASE,
                    "One of the following base backup IDs must be specified " +
                    "for the incremental backup: %s.");
                    "for the incremental backup: %s");
    registerMessage(MSGID_JEB_CANNOT_CREATE_BACKUP_TAG_FILE,
                    "The backup tag file %s could not be created in %s.");
                    "The backup tag file %s could not be created in %s");
    registerMessage(MSGID_JEB_BACKUP_CANNOT_RESTORE,
                    "An error occurred while attempting to restore the files " +
                    "from backup %s: %s.");
                    "from backup %s: %s");
    registerMessage(MSGID_JEB_BACKUP_MISSING_BACKUPID,
                    "The information for backup %s could not be found in " +
                    "the backup directory %s.");
                    "the backup directory %s");
    registerMessage(MSGID_JEB_BACKUP_FILE_UNCHANGED,
                    "Not changed: %s");
    registerMessage(MSGID_JEB_BACKUP_CLEANER_ACTIVITY,
                    "Including %s additional log file(s) due to cleaner " +
                    "activity.");
                    "activity");
    registerMessage(MSGID_JEB_BACKUP_VERIFY_FILE,
                    "Verifying: %s");
    registerMessage(MSGID_JEB_BACKUP_RESTORED_FILE,
@@ -1284,115 +1284,115 @@
                    "Archived: %s");
    registerMessage(MSGID_JEB_EXPORT_FINAL_STATUS,
                    "Exported %d entries and skipped %d in %d seconds " +
                    "(average rate %.1f/sec).");
                    "(average rate %.1f/sec)");
    registerMessage(MSGID_JEB_EXPORT_PROGRESS_REPORT,
                    "Exported %d records and skipped %d " +
                    "(recent rate %.1f/sec).");
                    "(recent rate %.1f/sec)");
    registerMessage(MSGID_JEB_IMPORT_THREAD_COUNT,
                    "Import thread count = %d");
    registerMessage(MSGID_JEB_IMPORT_BUFFER_SIZE,
                    "Buffer size per thread = %,d");
    registerMessage(MSGID_JEB_IMPORT_LDIF_PROCESSING_TIME,
                    "LDIF processing took %d seconds.");
                    "LDIF processing took %d seconds");
    registerMessage(MSGID_JEB_IMPORT_INDEX_PROCESSING_TIME,
                    "Index processing took %d seconds.");
                    "Index processing took %d seconds");
    registerMessage(MSGID_JEB_IMPORT_BEGINNING_INTERMEDIATE_MERGE,
                    "Ending LDIF import pass %d because the pass size has " +
                    "been reached.  Beginning the intermediate index merge.");
                    "been reached.  Beginning the intermediate index merge");
    registerMessage(MSGID_JEB_IMPORT_BEGINNING_FINAL_MERGE,
                    "End of LDIF reached.  Beginning final index merge.");
                    "End of LDIF reached.  Beginning final index merge");
    registerMessage(MSGID_JEB_IMPORT_RESUMING_LDIF_PROCESSING,
                    "Intermediate index merge processing complete (index " +
                    "processing time %d seconds).  Resuming LDIF processing.");
                    "processing time %d seconds).  Resuming LDIF processing");
    registerMessage(MSGID_JEB_IMPORT_FINAL_MERGE_COMPLETED,
                    "Final index merge complete (processing time %d seconds).");
                    "Final index merge complete (processing time %d seconds)");
    registerMessage(MSGID_JEB_IMPORT_CLOSING_DATABASE,
                    "Flushing data to disk.");
                    "Flushing data to disk");
    registerMessage(MSGID_JEB_IMPORT_FINAL_STATUS,
                    "Processed %d entries, imported %d, skipped %d, and " +
                    "rejected %d in %d seconds (average rate %.1f/sec).");
                    "rejected %d in %d seconds (average rate %.1f/sec)");
    registerMessage(MSGID_JEB_IMPORT_ENTRY_LIMIT_EXCEEDED_COUNT,
                    "Number of index values that exceeded the entry limit: %d");
    registerMessage(MSGID_JEB_IMPORT_PROGRESS_REPORT,
                    "Processed %d entries, skipped %d, and rejected %d " +
                    "(recent rate %.1f/sec).");
                    "(recent rate %.1f/sec)");
    registerMessage(MSGID_JEB_IMPORT_CACHE_AND_MEMORY_REPORT,
                    "Free memory = %d MB, Cache miss rate = %.1f/entry.");
                    "Free memory = %d MB, Cache miss rate = %.1f/entry");
    registerMessage(MSGID_JEB_INDEX_MERGE_NO_DATA,
                    "There is no data to be loaded into the %s index.");
                    "There is no data to be loaded into the %s index");
    registerMessage(MSGID_JEB_INDEX_MERGE_START,
                    "Starting %d-way merge to load the %s index.");
                    "Starting %d-way merge to load the %s index");
    registerMessage(MSGID_JEB_INDEX_MERGE_COMPLETE,
                    "The %s index has been loaded.");
                    "The %s index has been loaded");
    registerMessage(MSGID_JEB_VERIFY_CLEAN_FINAL_STATUS,
                    "Checked %d records and found %d error(s) in %d seconds " +
                    "(average rate %.1f/sec).");
                    "(average rate %.1f/sec)");
    registerMessage(MSGID_JEB_VERIFY_MULTIPLE_REFERENCE_COUNT,
                    "Number of records referencing more than one entry: %d.");
                    "Number of records referencing more than one entry: %d");
    registerMessage(MSGID_JEB_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT,
                    "Number of records that exceed the entry limit: %d.");
                    "Number of records that exceed the entry limit: %d");
    registerMessage(MSGID_JEB_VERIFY_AVERAGE_REFERENCE_COUNT,
                    "Average number of entries referenced is %.2f/record.");
                    "Average number of entries referenced is %.2f/record");
    registerMessage(MSGID_JEB_VERIFY_MAX_REFERENCE_COUNT,
                    "Maximum number of entries referenced " +
                    "by any record is %d.");
                    "by any record is %d");
    registerMessage(MSGID_JEB_VERIFY_FINAL_STATUS,
                    "Checked %d entries and found %d error(s) in %d seconds " +
                    "(average rate %.1f/sec).");
                    "(average rate %.1f/sec)");
    registerMessage(MSGID_JEB_VERIFY_ENTRY_LIMIT_STATS_HEADER,
                    "Statistics for records that have exceeded the " +
                    "entry limit:");
    registerMessage(MSGID_JEB_VERIFY_ENTRY_LIMIT_STATS_ROW,
                    "  File %s has %d such record(s) min=%d max=%d median=%d.");
                    "  File %s has %d such record(s) min=%d max=%d median=%d");
    registerMessage(MSGID_JEB_VERIFY_PROGRESS_REPORT,
                    "Processed %d records and found %d error(s) " +
                    "(recent rate %.1f/sec).");
                    "(recent rate %.1f/sec)");
    registerMessage(MSGID_JEB_VERIFY_CACHE_AND_MEMORY_REPORT,
                    "Free memory = %d MB, Cache miss rate = %.1f/record.");
                    "Free memory = %d MB, Cache miss rate = %.1f/record");
    registerMessage(MSGID_JEB_CONFIG_ATTR_REQUIRES_RESTART,
                    "The change to the %s attribute will not take effect " +
                    "until the backend is restarted.");
                    "until the backend is restarted");
    registerMessage(MSGID_JEB_INVALID_PAGED_RESULTS_COOKIE,
                    "The following paged results control cookie value was " +
                    "not recognized: %s.");
                    "not recognized: %s");
    registerMessage(MSGID_JEB_REFERRAL_RESULT_MESSAGE,
                    "A referral entry %s indicates that the operation must " +
                    "be processed at a different server.");
                    "be processed at a different server");
    registerMessage(MSGID_JEB_IMPORT_ENVIRONMENT_CONFIG,
                    "Database environment properties: %s.");
                    "Database environment properties: %s");
    registerMessage(MSGID_JEB_INCOMPATIBLE_ENTRY_VERSION,
                    "Entry record with ID %s is not compatible with this " +
                    "version of the backend database. " +
                    "Entry version: %x");
    registerMessage(MSGID_JEB_LOOKTHROUGH_LIMIT_EXCEEDED,
                    "This search operation has checked the maximum of %d " +
                    "entries for matches.");
                    "entries for matches");
    registerMessage(MSGID_JEB_SET_PERMISSIONS_FAILED,
                    "Unable to set file permissions for the backend database " +
                    "directory %s.");
                    "directory %s");
    registerMessage(MSGID_JEB_GET_ENTRY_COUNT_FAILED,
                    "Unable to determine the total number of entries in the " +
                    "container: %s");
    registerMessage(MSGID_JEB_REBUILD_START,
                    "Rebuild of index(es) %s started with %d total records " +
                    "to process.");
                    "to process");
    registerMessage(MSGID_JEB_REBUILD_PROGRESS_REPORT,
                    "%.1f%% Completed. Processed %d/%d records. " +
                    "(recent rate %.1f/sec).");
                    "(recent rate %.1f/sec)");
    registerMessage(MSGID_JEB_REBUILD_CACHE_AND_MEMORY_REPORT,
                    "Free memory = %d MB, Cache miss rate = %.1f/record.");
                    "Free memory = %d MB, Cache miss rate = %.1f/record");
    registerMessage(MSGID_JEB_REBUILD_FINAL_STATUS,
                    "Rebuild complete. Processed %d records in %d seconds " +
                    "(average rate %.1f/sec).");
                    "(average rate %.1f/sec)");
    registerMessage(MSGID_JEB_REBUILD_INDEX_FAILED,
                    "An error occured while rebuilding index %s: %s");
    registerMessage(MSGID_JEB_REBUILD_INSERT_ENTRY_FAILED,
                    "An error occured while inserting entry into the %s " +
                    "database/index: %s");
    registerMessage(MSGID_JEB_REBUILD_INDEX_CONFLICT,
                    "Another rebuild of index %s is already in progress.");
                    "Another rebuild of index %s is already in progress");
    registerMessage(MSGID_JEB_REBUILD_BACKEND_ONLINE,
                    "Rebuilding system index(es) must be done with the " +
                    "backend containing the base DN disabled.");
                    "backend containing the base DN disabled");
  }
}
opends/src/server/org/opends/server/messages/LoggerMessages.java
@@ -137,39 +137,39 @@
  {
    registerMessage(MSGID_LOG_ACCESS_CANNOT_ADD_FILE_HANDLER,
                    "Unable to add a file handler for the Directory Server " +
                    "access logger:  %s.");
                    "access logger:  %s");
    registerMessage(MSGID_LOG_ERROR_CANNOT_ADD_FILE_HANDLER,
                    "Unable to add a file handler for the Directory Server " +
                    "error logger:  %s.");
                    "error logger:  %s");
    registerMessage(MSGID_LOG_DEBUG_CANNOT_ADD_FILE_HANDLER,
                    "Unable to add a file handler for the Directory Server " +
                    "debug logger:  %s.");
                    "debug logger:  %s");
    registerMessage(MSGID_LOG_DESCRIPTION_SSL_CERT_NICKNAME,
                    "Specifies the nickname of the certificate that the " +
                    "connection handler should use when accepting SSL-based " +
                    "connections or performing StartTLS negotiation.  " +
                    "Changes to this configuration attribute will not take " +
                    "effect until the connection handler is disabled and " +
                    "re-enabled, or until the Directory Server is restarted.");
                    "re-enabled, or until the Directory Server is restarted");
    registerMessage(MSGID_LOGGER_ROTATION_SIZE_LIMIT,
                    "Specifies the size limit for the file before rotation " +
                    "takes place.");
                    "takes place");
    registerMessage(MSGID_LOGGER_ROTATION_FIXED_TIME_LIMIT,
                    "Specifies the time interval before the log file rotation" +
                    " takes place.");
                    " takes place");
    registerMessage(MSGID_LOGGER_RETENTION_NUMBER_OF_FILES,
                    "Specifies the number of log files that need to " +
                    " be retained.");
                    " be retained");
    registerMessage(MSGID_LOGGER_RETENTION_DISK_SPACE_USED,
                    "Specifies the amount of disk space that log files " +
                    " can use.");
                    " can use");
    registerMessage(MSGID_LOGGER_THREAD_INTERVAL,
                    "Specifies the time interval that the logger thread " +
                    " wakes up after.");
                    " wakes up after");
    registerMessage(MSGID_LOGGER_BUFFER_SIZE,
                    "Specifies the log file buffer size.");
                    "Specifies the log file buffer size");
    registerMessage(MSGID_LOGGER_RETENTION_FREE_DISK_SPACE,
                    "Specifies the free disk space allowed.");
                    "Specifies the free disk space allowed");
  }
}
opends/src/server/org/opends/server/messages/MessageHandler.java
@@ -62,8 +62,9 @@
 *   <LI>009 -- Generic backend processing</LI>
 *   <LI>00A -- Directory Server tools</LI>
 *   <LI>00B -- Task processing</LI>
     <LI>00C -- Access Control</LI>
     <LI>00D -- Administration framework</LI>
 *   <LI>00C -- Access Control</LI>
 *   <LI>00D -- Administration framework</LI>
 *   <LI>00E -- Synchronization</LI>
 *   <LI>800 through FFE -- Reserved for third-party modules</LI>
 *   <LI>FFF -- User-defined processing</LI>
 * </UL>
@@ -153,12 +154,6 @@
  public static final int CATEGORY_MASK_JEB = 0x00800000;
  /**
   * The category bitmask used for messages associated with the Synchronization.
   */
  public static final int CATEGORY_MASK_SYNC = 0x01000000;
  /**
   * The category bitmask used for messages associated with generic backends.
@@ -193,6 +188,12 @@
  public static final int CATEGORY_MASK_ADMIN = 0x00D00000;
  /**
   * The category bitmask used for messages associated with the Synchronization.
   */
  public static final int CATEGORY_MASK_SYNC = 0x0E000000;
  /**
   * The category bitmask that will be used for messages associated with
@@ -292,6 +293,7 @@
    TaskMessages.registerMessages();
    AdminMessages.registerMessages();
    AciMessages.registerMessages();
    SynchronizationMessages.registerMessages();
  }
@@ -387,7 +389,7 @@
   * @param  messageID     The unique identifier assigned to this message.
   * @param  formatString  The format string to use for this message.
   */
  public static void registerMessage(int messageID, String formatString)
  static void registerMessage(int messageID, String formatString)
  {
    messageMap.put(messageID, formatString);
  }
opends/src/server/org/opends/server/messages/PluginMessages.java
@@ -797,7 +797,7 @@
    registerMessage(MSGID_PLUGIN_NULL_CONFIG_ENTRY,
                    "Unable to initialize an instance of the plugin defined " +
                    "in class %s because the provided configuration entry " +
                    "was null.");
                    "was null");
    registerMessage(MSGID_PLUGIN_DESCRIPTION_SHUTDOWN_PASSWORD,
@@ -807,72 +807,72 @@
                    "be required (although it will still be necessary to " +
                    "authenticate to the server in order to be able to add " +
                    "necessary task entry).  Changes to this password will " +
                    "take effect immediately.");
                    "take effect immediately");
    registerMessage(MSGID_PLUGIN_ADLIST_NO_PLUGIN_TYPES,
                    "The LDAP attribute description list plugin instance " +
                    "defined in configuration entry %s does not list any " +
                    "plugin types.  This plugin must be configured to " +
                    "operate as a pre-parse search plugin.");
                    "operate as a pre-parse search plugin");
    registerMessage(MSGID_PLUGIN_ADLIST_INVALID_PLUGIN_TYPE,
                    "The LDAP attribute description list plugin instance " +
                    "defined in configuration entry %s lists an invalid " +
                    "plugin type %s.  This plugin may only be used as a " +
                    "pre-parse search plugin.");
                    "pre-parse search plugin");
    registerMessage(MSGID_PLUGIN_PROFILER_NO_PLUGIN_TYPES,
                    "The Directory Server profiler plugin instance defined " +
                    "in configuration entry %s does not list any plugin " +
                    "types.  This plugin must be configured to operate as a " +
                    "startup plugin.");
                    "startup plugin");
    registerMessage(MSGID_PLUGIN_PROFILER_INVALID_PLUGIN_TYPE,
                    "The Directory Server profiler plugin instance defined " +
                    "in configuration entry %s lists an invalid plugin type " +
                    "%s.  This plugin may only be used as a startup plugin.");
                    "%s.  This plugin may only be used as a startup plugin");
    registerMessage(MSGID_PLUGIN_PROFILER_DESCRIPTION_PROFILE_DIR,
                    "Specifies the path to the directory into which profile " +
                    "information will be written.  The directory must exist " +
                    "and the Directory Server must have permission to create " +
                    "new files in it.  Changes to this configuration " +
                    "attribute will take effect immediately.");
                    "attribute will take effect immediately");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_DETERMINE_PROFILE_DIR,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " +  ATTR_PROFILE_DIR +
                    " attribute in the %s entry:  %s.  The default profile " +
                    "directory of %s will be used.");
                    "directory of %s will be used");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_WRITE_PROFILE_DATA,
                    "An unexpected error occurred when the profiler plugin " +
                    "defined in configuration entry %s attempted to write " +
                    "the information captured to output file %s:  %s.");
                    "the information captured to output file %s:  %s");
    registerMessage(MSGID_PLUGIN_PROFILER_DESCRIPTION_AUTOSTART,
                    "Indicates whether the profiler plugin should start " +
                    "collecting data automatically when the Directory Server " +
                    "is started.  This will only be read when the server is " +
                    "started, and any changes will take effect on the next " +
                    "restart.");
                    "restart");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_DETERMINE_AUTOSTART,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " +  ATTR_PROFILE_AUTOSTART +
                    " attribute in the %s entry:  %s.  Profiling information " +
                    "will not automatically be captured on startup and must " +
                    "be manually enabled.");
                    "be manually enabled");
    registerMessage(MSGID_PLUGIN_PROFILER_DESCRIPTION_INTERVAL,
                    "Specifies the sample interval that should be used when " +
                    "capturing profiling information in the server.  Changes " +
                    "to this configuration attribute will take effect the " +
                    "next time the profiler is started.");
                    "next time the profiler is started");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_DETERMINE_INTERVAL,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_PROFILE_INTERVAL +
                    "attribute in the %s entry:  %s.  The default sample " +
                    "interval of %d milliseconds will be used.");
                    "interval of %d milliseconds will be used");
    registerMessage(MSGID_PLUGIN_PROFILER_DESCRIPTION_STATE,
                    "Specifies the current state for the profiler.  It will " +
                    "be either \"enabled\" (which indicates that the " +
                    "profiler thread is actively collecting data) or " +
                    "\"disabled\".  This is a read-only attribute.");
                    "\"disabled\".  This is a read-only attribute");
    registerMessage(MSGID_PLUGIN_PROFILER_DESCRIPTION_ACTION,
                    "Specifies the action that should be taken by the " +
                    "profiler.  A value of \"start\" will cause the profiler " +
@@ -882,194 +882,194 @@
                    "and a value of \"cancel\" will cause the profiler " +
                    "thread to stop collecting data and discard anything " +
                    "that has been captured.  These operations will occur " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_PLUGIN_PROFILER_INVALID_PROFILE_DIR,
                    "The profile directory %s specified in attribute " +
                    ATTR_PROFILE_DIR + " of configuration entry %s is " +
                    "invalid because the specified path does not exist or " +
                    "is not a directory.");
                    "is not a directory");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_DETERMINE_ACTION,
                    "An unexpected error occurred while attempting to " +
                    "determine the value of the " + ATTR_PROFILE_ACTION +
                    " attribute in the %s entry:  %s.  No action will be " +
                    "taken.");
                    "taken");
    registerMessage(MSGID_PLUGIN_PROFILER_UPDATED_INTERVAL,
                    "The sample interval for the profiler plugin defined in " +
                    "configuration entry %s has been updated to %d " +
                    "milliseconds.");
                    "milliseconds");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_UPDATE_INTERVAL,
                    "An unexpected error occurred while attempting to update " +
                    "the sample interval for the profiler plugin defined in " +
                    "configuration entry %s:  %s.");
                    "configuration entry %s:  %s");
    registerMessage(MSGID_PLUGIN_PROFILER_UPDATED_DIRECTORY,
                    "The profile directory for the profiler plugin defined " +
                    "in configuration entry %s has been changed to %s.");
                    "in configuration entry %s has been changed to %s");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_UPDATE_DIRECTORY,
                    "An unexpected error occurred while attempting to update " +
                    "the profile directory for the profiler plugin defined " +
                    "in configuration entry %s:  %s.");
                    "in configuration entry %s:  %s");
    registerMessage(MSGID_PLUGIN_PROFILER_STARTED_PROFILING,
                    "The profiler plugin defined in configuration entry %s " +
                    "has been activated and has started capturing data.");
                    "has been activated and has started capturing data");
    registerMessage(MSGID_PLUGIN_PROFILER_ALREADY_PROFILING,
                    "The profiler plugin defined in configuration entry %s " +
                    "is already active, and therefore the request to start " +
                    "profiling has been ignored.");
                    "profiling has been ignored");
    registerMessage(MSGID_PLUGIN_PROFILER_NOT_RUNNING,
                    "The profiler plugin defined in configuration entry %s " +
                    "received a request to stop capturing data but it was " +
                    "not active so no action has been taken.");
                    "not active so no action has been taken");
    registerMessage(MSGID_PLUGIN_PROFILER_STOPPED_PROFILING,
                    "The profiler plugin defined in configuration entry %s " +
                    "has been stopped and is no longer capturing data.");
                    "has been stopped and is no longer capturing data");
    registerMessage(MSGID_PLUGIN_PROFILER_WROTE_PROFILE_DATA,
                    "The data collected by the profiler plugin defined in " +
                    "configuration entry %s has been written to %s.");
                    "configuration entry %s has been written to %s");
    registerMessage(MSGID_PLUGIN_PROFILER_UNKNOWN_ACTION,
                    "The profiler plugin defined in configuration entry %s " +
                    "has been requested to perform an action %s that is " +
                    "not recognized by the server.  No action will be taken.");
                    "not recognized by the server.  No action will be taken");
    registerMessage(MSGID_PLUGIN_PROFILER_SKIPPING_ACTION,
                    "A profiler action %s was requested for the profiler " +
                    "plugin defined in configuration entry %s, but one or " +
                    "more problems were encountered with the plugin " +
                    "configuration and therefore the requested action will " +
                    "be skipped.");
                    "be skipped");
    registerMessage(MSGID_PLUGIN_PROFILER_CANNOT_PERFORM_ACTION,
                    "An unexpected error occurred while attempting to " +
                    "process the requested action for the profiler plugin " +
                    "defined in configuration entry %s:  %s.");
                    "defined in configuration entry %s:  %s");
    registerMessage(MSGID_PLUGIN_STARTUP_PLUGIN_EXCEPTION,
                    "The startup plugin defined in configuration entry %s " +
                    "threw an exception when it was invoked during the " +
                    "Directory Server startup process:  %s.  The server " +
                    "startup process has been aborted.");
                    "startup process has been aborted");
    registerMessage(MSGID_PLUGIN_STARTUP_PLUGIN_RETURNED_NULL,
                    "The startup plugin defined in configuration entry %s " +
                    "returned a null value when it was invoked during the " +
                    "Directory Server startup process.  This is an illegal " +
                    "return value, and the server startup process has been " +
                    "aborted.");
                    "aborted");
    registerMessage(MSGID_PLUGIN_STARTUP_PLUGIN_FAIL_CONTINUE,
                    "The startup plugin defined in configuration entry %s " +
                    "encountered an error when it was invoked during the " +
                    "Directory Server startup process:  %s (error ID %d).  " +
                    "The startup process will continue, but this failure " +
                    "may impact the operation of the server.");
                    "may impact the operation of the server");
    registerMessage(MSGID_PLUGIN_STARTUP_PLUGIN_FAIL_ABORT,
                    "The startup plugin defined in configuration entry %s " +
                    "encountered an error when it was invoked during the " +
                    "Directory Server startup process:  %s (error ID %d).  " +
                    "The server startup process has been aborted.");
                    "The server startup process has been aborted");
    registerMessage(MSGID_PLUGIN_SHUTDOWN_PLUGIN_EXCEPTION,
                    "The shutdown plugin defined in configuration entry %s " +
                    "threw an exception when it was invoked during the " +
                    "Directory Server shutdown process:  %s.");
                    "Directory Server shutdown process:  %s");
    registerMessage(MSGID_PLUGIN_POST_CONNECT_PLUGIN_EXCEPTION,
                    "The post-connect plugin defined in configuration entry " +
                    "%s threw an exception when it was invoked for " +
                    "connection %d from %s:  %s.  The connection will be " +
                    "terminated.");
                    "terminated");
    registerMessage(MSGID_PLUGIN_POST_CONNECT_PLUGIN_RETURNED_NULL,
                    "The post-connect plugin defined in configuration entry " +
                    "%s returned null when invoked for connection %d from " +
                    "%s.  This is an illegal response, and the connection " +
                    "will be terminated.");
                    "will be terminated");
    registerMessage(MSGID_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION,
                    "The post-disconnect plugin defined in configuration " +
                    "entry %s threw an exception when it was invoked for " +
                    "connection %d from %s:  %s.");
                    "connection %d from %s:  %s");
    registerMessage(MSGID_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL,
                    "The post-disconnect plugin defined in configuration " +
                    "entry %s returned null when invoked for connection %d " +
                    "from %s.  This is an illegal response.");
                    "from %s.  This is an illegal response");
    registerMessage(MSGID_PLUGIN_LDIF_IMPORT_PLUGIN_EXCEPTION,
                    "The LDIF import plugin defined in configuration entry " +
                    "%s threw an exception when it was invoked on entry " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_PLUGIN_LDIF_IMPORT_PLUGIN_RETURNED_NULL,
                    "The LDIF import plugin defined in configuration entry " +
                    "%s returned null when invoked on entry %s.  This is an " +
                    "illegal response.");
                    "illegal response");
    registerMessage(MSGID_PLUGIN_LDIF_EXPORT_PLUGIN_EXCEPTION,
                    "The LDIF export plugin defined in configuration entry " +
                    "%s threw an exception when it was invoked on entry " +
                    "%s:  %s.");
                    "%s:  %s");
    registerMessage(MSGID_PLUGIN_LDIF_EXPORT_PLUGIN_RETURNED_NULL,
                    "The LDIF export plugin defined in configuration entry " +
                    "%s returned null when invoked on entry %s.  This is an " +
                    "illegal response.");
                    "illegal response");
    registerMessage(MSGID_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION,
                    "The pre-parse %s plugin defined in configuration " +
                    "entry %s threw an exception when it was invoked for " +
                    "connection %d operation %d:  %s.  Processing on this " +
                    "operation will be terminated.");
                    "operation will be terminated");
    registerMessage(MSGID_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL,
                    "The pre-parse %s plugin defined in configuration " +
                    "entry %s returned null when invoked for connection %d " +
                    "operation %s.  This is an illegal response, and " +
                    "processing on this operation will be terminated.");
                    "processing on this operation will be terminated");
    registerMessage(MSGID_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION,
                    "The pre-operation %s plugin defined in configuration " +
                    "entry %s threw an exception when it was invoked for " +
                    "connection %d operation %d:  %s.  Processing on this " +
                    "operation will be terminated.");
                    "operation will be terminated");
    registerMessage(MSGID_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL,
                    "The pre-operation %s plugin defined in configuration " +
                    "entry %s returned null when invoked for connection %d " +
                    "operation %s.  This is an illegal response, and " +
                    "processing on this operation will be terminated.");
                    "processing on this operation will be terminated");
    registerMessage(MSGID_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
                    "The post-operation %s plugin defined in configuration " +
                    "entry %s threw an exception when it was invoked for " +
                    "connection %d operation %d:  %s.  Processing on this " +
                    "operation will be terminated.");
                    "operation will be terminated");
    registerMessage(MSGID_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
                    "The post-operation %s plugin defined in configuration " +
                    "entry %s returned null when invoked for connection %d " +
                    "operation %s.  This is an illegal response, and " +
                    "processing on this operation will be terminated.");
                    "processing on this operation will be terminated");
    registerMessage(MSGID_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
                    "The post-response %s plugin defined in configuration " +
                    "entry %s threw an exception when it was invoked for " +
                    "connection %d operation %d:  %s.  Processing on this " +
                    "operation will be terminated.");
                    "operation will be terminated");
    registerMessage(MSGID_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
                    "The post-response %s plugin defined in configuration " +
                    "entry %s returned null when invoked for connection %d " +
                    "operation %s.  This is an illegal response, and " +
                    "processing on this operation will be terminated.");
                    "processing on this operation will be terminated");
    registerMessage(MSGID_PLUGIN_SEARCH_ENTRY_PLUGIN_EXCEPTION,
                    "The search result entry plugin defined in configuration " +
                    "entry %s threw an exception when it was invoked for " +
                    "connection %d operation %d with entry %s:  %s.  " +
                    "Processing on this search operation will be terminated.");
                    "Processing on this search operation will be terminated");
    registerMessage(MSGID_PLUGIN_SEARCH_ENTRY_PLUGIN_RETURNED_NULL,
                    "The search result entry plugin defined in configuration " +
                    "entry %s returned null when invoked for connection %d " +
                    "operation %s with entry %s.  This is an illegal " +
                    "response, and processing on this search operation will " +
                    "be terminated.");
                    "be terminated");
    registerMessage(MSGID_PLUGIN_SEARCH_REFERENCE_PLUGIN_EXCEPTION,
@@ -1077,77 +1077,77 @@
                    "configuration entry %s threw an exception when it was " +
                    "invoked for connection %d operation %d with referral " +
                    "URL(s) %s:  %s.  Processing on this search operation " +
                    "will be terminated.");
                    "will be terminated");
    registerMessage(MSGID_PLUGIN_SEARCH_REFERENCE_PLUGIN_RETURNED_NULL,
                    "The search result reference plugin defined in " +
                    "configuration entry %s returned null when invoked for " +
                    "connection %d operation %s with referral URL(s) %s.  " +
                    "This is an illegal response, and processing on this " +
                    "search operation will be terminated.");
                    "search operation will be terminated");
    registerMessage(MSGID_PLUGIN_INTERMEDIATE_RESPONSE_PLUGIN_EXCEPTION,
                    "The intermediate response plugin defined in " +
                    "configuration entry %s threw an exception when it was " +
                    "invoked for connection %d operation %d:  %s.  " +
                    "Processing on this operation will be terminated.");
                    "Processing on this operation will be terminated");
    registerMessage(MSGID_PLUGIN_INTERMEDIATE_RESPONSE_PLUGIN_RETURNED_NULL,
                    "The intermediate response plugin defined in " +
                    "configuration entry %s returned null when invoked for " +
                    "connection %d operation %s.  This is an illegal " +
                    "response, and processing on this operation will be " +
                    "terminated.");
                    "terminated");
    registerMessage(MSGID_PLUGIN_LASTMOD_INVALID_PLUGIN_TYPE,
                    "An attempt was made to register the LastMod plugin to " +
                    "be invoked as a %s plugin.  This plugin type is not " +
                    "allowed for this plugin.");
                    "allowed for this plugin");
    registerMessage(MSGID_PROFILEVIEWER_TOOL_DESCRIPTION,
                    "This utility may be used to view information in data " +
                    "files captured by the Directory Server profiler.");
                    "files captured by the Directory Server profiler");
    registerMessage(MSGID_PROFILEVIEWER_DESCRIPTION_FILENAMES,
                    "Specifies the path to a profile data file.  This  " +
                    "argument may be provided more than once to analyze data " +
                    "from multiple data files.");
                    "from multiple data files");
    registerMessage(MSGID_PROFILEVIEWER_DESCRIPTION_USE_GUI,
                    "Indicates whether to view the profile information in " +
                    "GUI mode or to write the resulting data to standard " +
                    "output.");
                    "output");
    registerMessage(MSGID_PROFILEVIEWER_DESCRIPTION_USAGE,
                    "Displays this usage information.");
                    "Displays this usage information");
    registerMessage(MSGID_PROFILEVIEWER_CANNOT_INITIALIZE_ARGS,
                    "An unexpected error occurred while attempting to " +
                    "initialize the command-line arguments:  %s.");
                    "initialize the command-line arguments:  %s");
    registerMessage(MSGID_PROFILEVIEWER_ERROR_PARSING_ARGS,
                    "An error occurred while parsing the command-line " +
                    "arguments:  %s.");
                    "arguments:  %s");
    registerMessage(MSGID_PROFILEVIEWER_CANNOT_PROCESS_DATA_FILE,
                    "An error occurred while trying to process the profile " +
                    "data in file %s:  %s.");
                    "data in file %s:  %s");
    registerMessage(MSGID_PLUGIN_ENTRYUUID_INVALID_PLUGIN_TYPE,
                    "An attempt was made to register the EntryUUID plugin to " +
                    "be invoked as a %s plugin.  This plugin type is not " +
                    "allowed for this plugin.");
                    "allowed for this plugin");
    registerMessage(MSGID_PLUGIN_PWPIMPORT_INVALID_PLUGIN_TYPE,
                    "An attempt was made to register the password policy " +
                    "import plugin to be invoked as a %s plugin.  This " +
                    "plugin type is not allowed for this plugin.");
                    "plugin type is not allowed for this plugin");
    registerMessage(MSGID_PLUGIN_PWPIMPORT_ERROR_ENCODING_PASSWORD,
                    "An error occurred while attempting to encode a password " +
                    "value stored in attribute %s of user entry %s:  %s.  " +
                    "Password values for this user will not be encoded.");
                    "Password values for this user will not be encoded");
    registerMessage(MSGID_PLUGIN_TYPE_NOT_SUPPORTED,
                    "The plugin defined in configuration entry %s does not " +
                    "support the %s plugin type.");
                    "support the %s plugin type");
  }
}
opends/src/server/org/opends/server/messages/ProtocolMessages.java
@@ -4395,198 +4395,198 @@
  {
    registerMessage(MSGID_ASN1_NULL_ELEMENT,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "element because the array was null.");
                    "element because the array was null");
    registerMessage(MSGID_ASN1_SHORT_ELEMENT,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "element because the length of the array (%d bytes) is " +
                    "less than the minimum required for an ASN.1 element (2 " +
                    "bytes).");
                    "bytes)");
    registerMessage(MSGID_ASN1_INVALID_NUM_LENGTH_BYTES,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "element because it contained a multi-byte length with " +
                    "an invalid number of bytes (%d).");
                    "an invalid number of bytes (%d)");
    registerMessage(MSGID_ASN1_TRUNCATED_LENGTH,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "element because it contained a multi-byte length of %d " +
                    "bytes but the array was too short to contain the " +
                    "entire length.");
                    "entire length");
    registerMessage(MSGID_ASN1_LENGTH_MISMATCH,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "element because the decoded value length (%d bytes) " +
                    "does not equal the number of bytes remaining in the " +
                    "provided array (%d).");
                    "provided array (%d)");
    registerMessage(MSGID_ASN1_ELEMENT_SET_NULL,
                    "Cannot decode the provided byte array as a set of ASN.1 " +
                    "elements because the array was null.");
                    "elements because the array was null");
    registerMessage(MSGID_ASN1_ELEMENT_SET_NO_LENGTH,
                    "Cannot decode the provided byte array as a set of ASN.1 " +
                    "elements because the end of the array was reached after " +
                    "having read the BER type but none of the value for an " +
                    "element.");
                    "element");
    registerMessage(MSGID_ASN1_ELEMENT_SET_INVALID_NUM_LENGTH_BYTES,
                    "Cannot decode the provided byte array as a set of ASN.1 " +
                    "elements because it contained a multi-byte length with " +
                    "an invalid number of bytes (%d).");
                    "an invalid number of bytes (%d)");
    registerMessage(MSGID_ASN1_ELEMENT_SET_TRUNCATED_LENGTH,
                    "Cannot decode the provided byte array as a set of ASN.1 " +
                    "elements because it contained a multi-byte length of %d " +
                    "bytes but the array was too short to contain the " +
                    "entire length.");
                    "entire length");
    registerMessage(MSGID_ASN1_ELEMENT_SET_TRUNCATED_VALUE,
                    "Cannot decode the provided byte array as a set of ASN.1 " +
                    "elements because the decoded length of an element (%d) " +
                    "is more than the number of bytes remaining (%d).");
                    "is more than the number of bytes remaining (%d)");
    registerMessage(MSGID_ASN1_BOOLEAN_SET_VALUE_NULL,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 Boolean element because the array was null.");
                    "an ASN.1 Boolean element because the array was null");
    registerMessage(MSGID_ASN1_BOOLEAN_SET_VALUE_INVALID_LENGTH,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 Boolean element because the array did not have " +
                    "a length of exactly one byte (provided length was %d).");
                    "a length of exactly one byte (provided length was %d)");
    registerMessage(MSGID_ASN1_BOOLEAN_DECODE_ELEMENT_NULL,
                    "Cannot decode the provided ASN.1 element as a Boolean " +
                    "element because the provided element was null.");
                    "element because the provided element was null");
    registerMessage(MSGID_ASN1_BOOLEAN_DECODE_ELEMENT_INVALID_LENGTH,
                    "Cannot decode the provided ASN.1 element as a Boolean " +
                    "element because the length of the element value was not " +
                    "exactly one byte (actual length was %d).");
                    "exactly one byte (actual length was %d)");
    registerMessage(MSGID_ASN1_BOOLEAN_DECODE_ARRAY_NULL,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "Boolean element because the array was null.");
                    "Boolean element because the array was null");
    registerMessage(MSGID_ASN1_BOOLEAN_SHORT_ELEMENT,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "Boolean element because the length of the array (%d " +
                    "bytes) is less than the minimum required for a Boolean " +
                    "element (3 bytes).");
                    "element (3 bytes)");
    registerMessage(MSGID_ASN1_BOOLEAN_DECODE_ARRAY_INVALID_LENGTH,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "Boolean element because the decoded value length was " +
                    "not exactly one byte (decoded length was %d).");
                    "not exactly one byte (decoded length was %d)");
    registerMessage(MSGID_ASN1_NULL_SET_VALUE_INVALID_LENGTH,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 null element because the array did not have " +
                    "a length of exactly zero byte (provided length was %d).");
                    "a length of exactly zero byte (provided length was %d)");
    registerMessage(MSGID_ASN1_NULL_DECODE_ELEMENT_NULL,
                    "Cannot decode the provided ASN.1 element as a null " +
                    "element because the provided element was null.");
                    "element because the provided element was null");
    registerMessage(MSGID_ASN1_NULL_DECODE_ELEMENT_INVALID_LENGTH,
                    "Cannot decode the provided ASN.1 element as a null " +
                    "element because the length of the element value was not " +
                    "exactly zero bytes (actual length was %d).");
                    "exactly zero bytes (actual length was %d)");
    registerMessage(MSGID_ASN1_NULL_DECODE_ARRAY_NULL,
                    "Cannot decode the provided byte array as an ASN.1 null " +
                    "element because the array was null.");
                    "element because the array was null");
    registerMessage(MSGID_ASN1_NULL_DECODE_ARRAY_INVALID_LENGTH,
                    "Cannot decode the provided byte array as an ASN.1 null " +
                    "element because the decoded value length was not " +
                    "exactly zero bytes (decoded length was %d).");
                    "exactly zero bytes (decoded length was %d)");
    registerMessage(MSGID_ASN1_OCTET_STRING_DECODE_ELEMENT_NULL,
                    "Cannot decode the provided ASN.1 element as an octet " +
                    "string element because the provided element was null.");
                    "string element because the provided element was null");
    registerMessage(MSGID_ASN1_OCTET_STRING_DECODE_ARRAY_NULL,
                    "Cannot decode the provided byte array as an ASN.1 octet " +
                    "string element because the array was null.");
                    "string element because the array was null");
    registerMessage(MSGID_ASN1_INTEGER_SET_VALUE_NULL,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 integer element because the array was null.");
                    "an ASN.1 integer element because the array was null");
    registerMessage(MSGID_ASN1_INTEGER_SET_VALUE_INVALID_LENGTH,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 integer element because the array did not have " +
                    "a length between 1 and 4 bytes (provided length was %d).");
                    "a length between 1 and 4 bytes (provided length was %d)");
    registerMessage(MSGID_ASN1_INTEGER_DECODE_ELEMENT_NULL,
                    "Cannot decode the provided ASN.1 element as an integer " +
                    "element because the provided element was null.");
                    "element because the provided element was null");
    registerMessage(MSGID_ASN1_INTEGER_DECODE_ELEMENT_INVALID_LENGTH,
                    "Cannot decode the provided ASN.1 element as an integer " +
                    "element because the length of the element value was not " +
                    "between one and four bytes (actual length was %d).");
                    "between one and four bytes (actual length was %d)");
    registerMessage(MSGID_ASN1_INTEGER_DECODE_ARRAY_NULL,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "integer element because the array was null.");
                    "integer element because the array was null");
    registerMessage(MSGID_ASN1_INTEGER_SHORT_ELEMENT,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "integer element because the length of the array (%d " +
                    "bytes) is less than the minimum required for an integer " +
                    "element (3 bytes).");
                    "element (3 bytes)");
    registerMessage(MSGID_ASN1_INTEGER_DECODE_ARRAY_INVALID_LENGTH,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "integer element because the decoded value length was " +
                    "not between 1 and 4 bytes (decoded length was %d).");
                    "not between 1 and 4 bytes (decoded length was %d)");
    registerMessage(MSGID_ASN1_LONG_SET_VALUE_INVALID_LENGTH,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 long element because the array did not have " +
                    "a length between 1 and 8 bytes (provided length was %d).");
                    "a length between 1 and 8 bytes (provided length was %d)");
    registerMessage(MSGID_ASN1_LONG_DECODE_ELEMENT_INVALID_LENGTH,
                    "Cannot decode the provided ASN.1 element as a long " +
                    "element because the length of the element value was not " +
                    "between one and eight bytes (actual length was %d).");
                    "between one and eight bytes (actual length was %d)");
    registerMessage(MSGID_ASN1_LONG_DECODE_ARRAY_INVALID_LENGTH,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "long element because the decoded value length was " +
                    "not between 1 and 8 bytes (decoded length was %d).");
                    "not between 1 and 8 bytes (decoded length was %d)");
    registerMessage(MSGID_ASN1_ENUMERATED_SET_VALUE_NULL,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 enumerated element because the array was null.");
                    "an ASN.1 enumerated element because the array was null");
    registerMessage(MSGID_ASN1_ENUMERATED_SET_VALUE_INVALID_LENGTH,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 enumerated element because the array did not " +
                    "have a length between 1 and 4 bytes (provided length " +
                    "was %d).");
                    "was %d)");
    registerMessage(MSGID_ASN1_ENUMERATED_DECODE_ELEMENT_NULL,
                    "Cannot decode the provided ASN.1 element as an " +
                    "enumerated element because the provided element was " +
                    "null.");
                    "null");
    registerMessage(MSGID_ASN1_ENUMERATED_DECODE_ELEMENT_INVALID_LENGTH,
                    "Cannot decode the provided ASN.1 element as an " +
                    "enumerated element because the length of the element " +
                    "value was not between one and four bytes (actual length " +
                    "was %d).");
                    "was %d)");
    registerMessage(MSGID_ASN1_ENUMERATED_DECODE_ARRAY_NULL,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "enumerated element because the array was null.");
                    "enumerated element because the array was null");
    registerMessage(MSGID_ASN1_ENUMERATED_SHORT_ELEMENT,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "enumerated element because the length of the array (%d " +
                    "bytes) is less than the minimum required for an " +
                    "enumerated element (3 bytes).");
                    "enumerated element (3 bytes)");
    registerMessage(MSGID_ASN1_ENUMERATED_DECODE_ARRAY_INVALID_LENGTH,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "enumerated element because the decoded value length was " +
                    "not between 1 and 4 bytes (decoded length was %d).");
                    "not between 1 and 4 bytes (decoded length was %d)");
    registerMessage(MSGID_ASN1_SEQUENCE_SET_VALUE_NULL,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 sequence element because the array was null.");
                    "an ASN.1 sequence element because the array was null");
    registerMessage(MSGID_ASN1_SEQUENCE_DECODE_ELEMENT_NULL,
                    "Cannot decode the provided ASN.1 element as a sequence " +
                    "element because the provided element was null.");
                    "element because the provided element was null");
    registerMessage(MSGID_ASN1_SEQUENCE_DECODE_ARRAY_NULL,
                    "Cannot decode the provided byte array as an ASN.1 " +
                    "sequence element because the array was null.");
                    "sequence element because the array was null");
    registerMessage(MSGID_ASN1_SET_SET_VALUE_NULL,
                    "Cannot decode the provided byte array as the value of " +
                    "an ASN.1 set element because the array was null.");
                    "an ASN.1 set element because the array was null");
    registerMessage(MSGID_ASN1_SET_DECODE_ELEMENT_NULL,
                    "Cannot decode the provided ASN.1 element as a set " +
                    "element because the provided element was null.");
                    "element because the provided element was null");
    registerMessage(MSGID_ASN1_SET_DECODE_ARRAY_NULL,
                    "Cannot decode the provided byte array as an ASN.1 set " +
                    "element because the array was null.");
                    "element because the array was null");
    registerMessage(MSGID_ASN1_READER_MAX_SIZE_EXCEEDED,
@@ -4594,580 +4594,580 @@
                    "because the decoded element length of %d bytes was " +
                    "larger than the maximum allowed element length of %d " +
                    "bytes.  The underlying input stream has been closed " +
                    "and this reader may no longer be used.");
                    "and this reader may no longer be used");
    registerMessage(MSGID_LDAP_MESSAGE_DECODE_NULL,
                    "Cannot decode the provided ASN.1 sequence as an LDAP " +
                    "message because the sequence was null.");
                    "message because the sequence was null");
    registerMessage(MSGID_LDAP_MESSAGE_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 sequence as an LDAP " +
                    "message because the sequence contained an invalid " +
                    "number of elements (expected 2 or 3, got %d).");
                    "number of elements (expected 2 or 3, got %d)");
    registerMessage(MSGID_LDAP_MESSAGE_DECODE_MESSAGE_ID,
                    "Cannot decode the provided ASN.1 sequence as an LDAP " +
                    "message because the first element of the sequence " +
                    "could not be decoded as an integer message ID:  %s.");
                    "could not be decoded as an integer message ID:  %s");
    registerMessage(MSGID_LDAP_MESSAGE_DECODE_PROTOCOL_OP,
                    "Cannot decode the provided ASN.1 sequence as an LDAP " +
                    "message because the second element of the sequence " +
                    "could not be decoded as the protocol op:  %s.");
                    "could not be decoded as the protocol op:  %s");
    registerMessage(MSGID_LDAP_MESSAGE_DECODE_CONTROLS,
                    "Cannot decode the provided ASN.1 sequence as an LDAP " +
                    "message because the third element of the sequence " +
                    "could not be decoded as the set of controls:  %s.");
                    "could not be decoded as the set of controls:  %s");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_NULL,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "control because the element was null.");
                    "control because the element was null");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "control because the element could not be decoded as a " +
                    "sequence:  %s.");
                    "sequence:  %s");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "control because the control sequence contained an " +
                    "invalid number of elements (expected 1 to 3, got %d).");
                    "invalid number of elements (expected 1 to 3, got %d)");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_OID,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "control because the OID could not be decoded as a " +
                    "string:  %s.");
                    "string:  %s");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_CRITICALITY,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "control because the criticality could not be decoded as " +
                    "Boolean value:  %s.");
                    "Boolean value:  %s");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_VALUE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "control because the value could not be decoded as an " +
                    "octet string:  %s.");
                    "octet string:  %s");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_INVALID_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "control because the BER type for the second element " +
                    "in the sequence was invalid (expected 01 or 04, got %x).");
                    "in the sequence was invalid (expected 01 or 04, got %x)");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_CONTROLS_NULL,
                    "Cannot decode the provided ASN.1 element as a set of " +
                    "LDAP controls because the element was null.");
                    "LDAP controls because the element was null");
    registerMessage(MSGID_LDAP_CONTROL_DECODE_CONTROLS_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as a set of " +
                    "LDAP controls because the element could not be decoded " +
                    "as a sequence:  %s.");
                    "as a sequence:  %s");
    registerMessage(MSGID_LDAP_ABANDON_REQUEST_DECODE_ID,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "abandon request protocol op because a problem occurred " +
                    "while trying to obtain the message ID of the operation " +
                    "to abandon:  %s.");
                    "to abandon:  %s");
    registerMessage(MSGID_LDAP_ABANDON_INVALID_MESSAGE_TYPE,
                    "Cannot convert the provided LDAP message (%s) to an " +
                    "abandon operation:  %s.");
                    "abandon operation:  %s");
    registerMessage(MSGID_LDAP_RESULT_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "result protocol op because a problem occurred while " +
                    "trying to parse the result sequence:  %s.");
                    "trying to parse the result sequence:  %s");
    registerMessage(MSGID_LDAP_RESULT_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "result protocol op because the result sequence did not " +
                    "contain a valid number of elements (expected 3 or 4, " +
                    "got %d).");
                    "got %d)");
    registerMessage(MSGID_LDAP_RESULT_DECODE_RESULT_CODE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "result protocol op because the first element in the " +
                    "result sequence could not be decoded as an integer " +
                    "result code:  %s.");
                    "result code:  %s");
    registerMessage(MSGID_LDAP_RESULT_DECODE_MATCHED_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "result protocol op because the second element in the " +
                    "result sequence could not be decoded as the matched " +
                    "DN:  %s.");
                    "DN:  %s");
    registerMessage(MSGID_LDAP_RESULT_DECODE_ERROR_MESSAGE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "result protocol op because the third element in the " +
                    "result sequence could not be decoded as the error " +
                    "message:  %s.");
                    "message:  %s");
    registerMessage(MSGID_LDAP_RESULT_DECODE_REFERRALS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "result protocol op because the fourth element in the " +
                    "result sequence could not be decoded as a set of " +
                    "referral URLs:  %s.");
                    "referral URLs:  %s");
    registerMessage(MSGID_LDAP_BIND_RESULT_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind response protocol op because the result sequence " +
                    "did not contain a valid number of elements (expected 3 " +
                    "to 5, got %d).");
                    "to 5, got %d)");
    registerMessage(MSGID_LDAP_BIND_RESULT_DECODE_SERVER_SASL_CREDENTIALS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind response protocol op because the final element in " +
                    "the result sequence could not be decoded as the server " +
                    "SASL credentials:  %s.");
                    "SASL credentials:  %s");
    registerMessage(MSGID_LDAP_BIND_RESULT_DECODE_INVALID_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind response protocol op because the BER type for the " +
                    "fourth element in the sequence was invalid (expected A3 " +
                    "or 87, got %x).");
                    "or 87, got %x)");
    registerMessage(MSGID_LDAP_EXTENDED_RESULT_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind response protocol op because the result sequence " +
                    "did not contain a valid number of elements (expected 3 " +
                    "to 6, got %d).");
                    "to 6, got %d)");
    registerMessage(MSGID_LDAP_EXTENDED_RESULT_DECODE_REFERRALS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind response protocol op because the set of referral " +
                    "URLs could not be decoded:  %s.");
                    "URLs could not be decoded:  %s");
    registerMessage(MSGID_LDAP_EXTENDED_RESULT_DECODE_OID,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind response protocol op because the response OID " +
                    "could not be decoded:  %s.");
                    "could not be decoded:  %s");
    registerMessage(MSGID_LDAP_EXTENDED_RESULT_DECODE_VALUE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind response protocol op because the response value " +
                    "could not be decoded:  %s.");
                    "could not be decoded:  %s");
    registerMessage(MSGID_LDAP_EXTENDED_RESULT_DECODE_INVALID_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "extended response protocol op because one of the " +
                    "elements it contained had an invalid BER type (expected " +
                    "A3, 8A, or 8B, got %x).");
                    "A3, 8A, or 8B, got %x)");
    registerMessage(MSGID_LDAP_UNBIND_DECODE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "unbind request protocol op:  %s.");
                    "unbind request protocol op:  %s");
    registerMessage(MSGID_LDAP_UNBIND_INVALID_MESSAGE_TYPE,
                    "Cannot convert the provided LDAP message (%s) to an " +
                    "unbind operation:  %s.");
                    "unbind operation:  %s");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because the element could " +
                    "not be decoded as a sequence:  %s.");
                    "not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because the request sequence " +
                    "had an invalid number of elements (expected 3, got %d).");
                    "had an invalid number of elements (expected 3, got %d)");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_VERSION,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because the protocol " +
                    "version could not be decoded as an integer:  %s.");
                    "version could not be decoded as an integer:  %s");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because the bind DN could not " +
                    "be properly decoded:  %s.");
                    "be properly decoded:  %s");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_PASSWORD,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because the password to use " +
                    "for simple authentication could not be decoded:  %s.");
                    "for simple authentication could not be decoded:  %s");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_SASL_INFO,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because the SASL " +
                    "authentication information could not be decoded:  %s.");
                    "authentication information could not be decoded:  %s");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_INVALID_CRED_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because the authentication " +
                    "info element had an invalid BER type (expected 80 or " +
                    "A3, got %x).");
                    "A3, got %x)");
    registerMessage(MSGID_LDAP_BIND_REQUEST_DECODE_CREDENTIALS,
                    "Cannot decoded the provided ASN.1 element as an LDAP " +
                    "bind request protocol op because an unexpected error " +
                    "occurred while trying to decode the authentication " +
                    "info element:  %s.");
                    "info element:  %s");
    registerMessage(MSGID_LDAP_COMPARE_REQUEST_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "compare request protocol op because the element could " +
                    "not be decoded as a sequence:  %s.");
                    "not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_COMPARE_REQUEST_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "compare request protocol op because the request " +
                    "sequence had an invalid number of elements (expected 2, " +
                    "got %d).");
                    "got %d)");
    registerMessage(MSGID_LDAP_COMPARE_REQUEST_DECODE_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "compare request protocol op because the target DN could " +
                    "not be properly decoded:  %s.");
                    "not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_COMPARE_REQUEST_DECODE_AVA,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "compare request protocol op because the attribute value " +
                    "assertion could not be decoded as a sequence:  %s.");
                    "assertion could not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_COMPARE_REQUEST_DECODE_AVA_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "compare request protocol op because the attribute value " +
                    "assertion sequence had an invalid number of elements " +
                    "(expected 2, got %d).");
                    "(expected 2, got %d)");
    registerMessage(MSGID_LDAP_COMPARE_REQUEST_DECODE_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "compare request protocol op because the attribute type " +
                    "could not be properly decoded:  %s.");
                    "could not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_COMPARE_REQUEST_DECODE_VALUE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "compare request protocol op because the assertion value " +
                    "could not be properly decoded:  %s.");
                    "could not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_DELETE_REQUEST_DECODE_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "delete request protocol op because the target DN could " +
                    "not be properly decoded:  %s.");
                    "not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_EXTENDED_REQUEST_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "extended request protocol op because the element could " +
                    "not be decoded as a sequence:  %s.");
                    "not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_EXTENDED_REQUEST_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "extended request protocol op because the request " +
                    "sequence had an invalid number of elements (expected 1 " +
                    "or 2, got %d).");
                    "or 2, got %d)");
    registerMessage(MSGID_LDAP_EXTENDED_REQUEST_DECODE_OID,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "extended request protocol op because the OID could not " +
                    "be properly decoded:  %s.");
                    "be properly decoded:  %s");
    registerMessage(MSGID_LDAP_EXTENDED_REQUEST_DECODE_VALUE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "extended request protocol op because the value could " +
                    "not be properly decoded:  %s.");
                    "not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify DN request protocol op because the element could " +
                    "not be decoded as a sequence:  %s.");
                    "not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify DN request protocol op because the request " +
                    "sequence had an invalid number of elements (expected 3 " +
                    "or 4, got %d).");
                    "or 4, got %d)");
    registerMessage(MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify DN request protocol op because the entry DN " +
                    "could not be properly decoded:  %s.");
                    "could not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_RDN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify DN request protocol op because the new RDN could " +
                    "not be properly decoded:  %s.");
                    "not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_DELETE_OLD_RDN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify DN request protocol op because the deleteOldRDN " +
                    "flag could not be properly decoded:  %s.");
                    "flag could not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_SUPERIOR,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify DN request protocol op because the new superior " +
                    "DN could not be properly decoded:  %s.");
                    "DN could not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_ATTRIBUTE_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "attribute because the element could not be decoded as a " +
                    "sequence:  %s.");
                    "sequence:  %s");
    registerMessage(MSGID_LDAP_ATTRIBUTE_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "attribute because the request sequence had an invalid " +
                    "number of elements (expected 2, got %d).");
                    "number of elements (expected 2, got %d)");
    registerMessage(MSGID_LDAP_ATTRIBUTE_DECODE_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "attribute because the attribute type could not be " +
                    "decoded:  %s.");
                    "decoded:  %s");
    registerMessage(MSGID_LDAP_ATTRIBUTE_DECODE_VALUES,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "attribute because the set of values could not be " +
                    "decoded:  %s.");
                    "decoded:  %s");
    registerMessage(MSGID_LDAP_ATTRIBUTE_DUPLICATE_VALUES,
                    "The provided LDAP attribute %s contains duplicate " +
                    "values.");
                    "values");
    registerMessage(MSGID_LDAP_ADD_REQUEST_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP add " +
                    "request protocol op because the element could not be " +
                    "decoded as a sequence:  %s.");
                    "decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_ADD_REQUEST_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP add " +
                    "request protocol op because the request sequence had an " +
                    "invalid number of elements (expected 2, got %d).");
                    "invalid number of elements (expected 2, got %d)");
    registerMessage(MSGID_LDAP_ADD_REQUEST_DECODE_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP add " +
                    "request protocol op because the entry DN could not be " +
                    "decoded:  %s.");
                    "decoded:  %s");
    registerMessage(MSGID_LDAP_ADD_REQUEST_DECODE_ATTRS,
                    "Cannot decode the provided ASN.1 element as an LDAP add " +
                    "request protocol op because the set of attributes could " +
                    "not be decoded:  %s.");
                    "not be decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFICATION_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modification because the element could not be decoded " +
                    "as a sequence:  %s.");
                    "as a sequence:  %s");
    registerMessage(MSGID_LDAP_MODIFICATION_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modification because the request sequence had an " +
                    "invalid number of elements (expected 2, got %d).");
                    "invalid number of elements (expected 2, got %d)");
    registerMessage(MSGID_LDAP_MODIFICATION_DECODE_INVALID_MOD_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modification because it contained an invalid " +
                    "modification type (%d).");
                    "modification type (%d)");
    registerMessage(MSGID_LDAP_MODIFICATION_DECODE_MOD_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modification because the modification type could not be " +
                    "decoded:  %s.");
                    "decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFICATION_DECODE_ATTR,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modification because the attribute could not be " +
                    "decoded:  %s.");
                    "decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFY_REQUEST_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify request protocol op because the element could " +
                    "not be decoded as a sequence:  %s.");
                    "not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_MODIFY_REQUEST_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify request protocol op because the request sequence " +
                    "had an invalid number of elements (expected 2, got %d).");
                    "had an invalid number of elements (expected 2, got %d)");
    registerMessage(MSGID_LDAP_MODIFY_REQUEST_DECODE_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify request protocol op because the entry DN could " +
                    "not be decoded:  %s.");
                    "not be decoded:  %s");
    registerMessage(MSGID_LDAP_MODIFY_REQUEST_DECODE_MODS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "modify request protocol op because the set of " +
                    "modifications could not be decoded:  %s.");
                    "modifications could not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_ENTRY_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search result entry protocol op because the element " +
                    "could not be decoded as a sequence:  %s.");
                    "could not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_SEARCH_ENTRY_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search result entry protocol op because the request " +
                    "sequence had an invalid number of elements (expected 2, " +
                    "got %d).");
                    "got %d)");
    registerMessage(MSGID_LDAP_SEARCH_ENTRY_DECODE_DN,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search result entry protocol op because the entry DN " +
                    "could not be decoded:  %s.");
                    "could not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_ENTRY_DECODE_ATTRS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search result entry protocol op because the set of " +
                    "attributes could not be decoded:  %s.");
                    "attributes could not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REFERENCE_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search result reference protocol op because the " +
                    "element could not be decoded as a sequence:  %s.");
                    "element could not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REFERENCE_DECODE_URLS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search result reference protocol op because a problem " +
                    "occurred while trying to decode the sequence elements " +
                    "as referral URLs:  %s.");
                    "as referral URLs:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the element could " +
                    "not be decoded as a sequence:  %s.");
                    "not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the request sequence " +
                    "had an invalid number of elements (expected 8, got %d).");
                    "had an invalid number of elements (expected 8, got %d)");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_BASE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the base DN could " +
                    "not be decoded:  %s.");
                    "not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_INVALID_SCOPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the provided scope " +
                    "value (%d) is invalid.");
                    "value (%d) is invalid");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_SCOPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the scope could not " +
                    "be decoded:  %s.");
                    "be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_INVALID_DEREF,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the provided alias " +
                    "dereferencing policy value (%d) is invalid.");
                    "dereferencing policy value (%d) is invalid");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_DEREF,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the alias " +
                    "dereferencing policy could not be decoded:  %s.");
                    "dereferencing policy could not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_SIZE_LIMIT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the size limit could " +
                    "not be decoded:  %s.");
                    "not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_TIME_LIMIT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the time limit could " +
                    "not be decoded:  %s.");
                    "not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_TYPES_ONLY,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the typesOnly flag " +
                    "could not be decoded:  %s.");
                    "could not be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_FILTER,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the filter could not " +
                    "be decoded:  %s.");
                    "be decoded:  %s");
    registerMessage(MSGID_LDAP_SEARCH_REQUEST_DECODE_ATTRIBUTES,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search request protocol op because the requested " +
                    "attribute set could not be decoded:  %s.");
                    "attribute set could not be decoded:  %s");
    registerMessage(MSGID_LDAP_PROTOCOL_OP_DECODE_NULL,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "protocol op because the element was null.");
                    "protocol op because the element was null");
    registerMessage(MSGID_LDAP_PROTOCOL_OP_DECODE_INVALID_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "protocol op because the element had an invalid BER " +
                    "type (%x) for an LDAP protocol op.");
                    "type (%x) for an LDAP protocol op");
    registerMessage(MSGID_LDAP_FILTER_DECODE_NULL,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the element was null.");
                    "search filter because the element was null");
    registerMessage(MSGID_LDAP_FILTER_DECODE_INVALID_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the element had an invalid BER " +
                    "type (%x) for a search filter.");
                    "type (%x) for a search filter");
    registerMessage(MSGID_LDAP_FILTER_DECODE_COMPOUND_SET,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the compound filter set could " +
                    "not be decoded:  %s.");
                    "not be decoded:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_COMPOUND_COMPONENTS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because an unexpected error occurred " +
                    "while trying to decode one of the compound filter " +
                    "components.");
                    "components");
    registerMessage(MSGID_LDAP_FILTER_DECODE_NOT_ELEMENT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the value of the element cannot " +
                    "itself be decoded as an ASN.1 element for a NOT filter " +
                    "component:  %s.");
                    "component:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_NOT_COMPONENT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the NOT component element could " +
                    "not be decoded as an LDAP filter:  %s.");
                    "not be decoded as an LDAP filter:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_TV_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the element could not be decoded " +
                    "as a type-and-value sequence:  %s.");
                    "as a type-and-value sequence:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_TV_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the type-and-value sequence had " +
                    "an invalid number of elements (expected 2, got %d).");
                    "an invalid number of elements (expected 2, got %d)");
    registerMessage(MSGID_LDAP_FILTER_DECODE_TV_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the attribute type could not be " +
                    "decoded from the type-and-value sequence:  %s.");
                    "decoded from the type-and-value sequence:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_TV_VALUE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the assertion value could not be " +
                    "decoded from the type-and-value sequence:  %s.");
                    "decoded from the type-and-value sequence:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_SUBSTRING_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the element could not be decoded " +
                    "as a substring sequence:  %s.");
                    "as a substring sequence:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_SUBSTRING_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the substring sequence had an " +
                    "invalid number of elements (expected 2, got %d).");
                    "invalid number of elements (expected 2, got %d)");
    registerMessage(MSGID_LDAP_FILTER_DECODE_SUBSTRING_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the attribute type could not be " +
                    "decoded from the substring sequence:  %s.");
                    "decoded from the substring sequence:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_SUBSTRING_ELEMENTS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the substring value sequence " +
                    "could not be decoded:  %s.");
                    "could not be decoded:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_SUBSTRING_NO_SUBELEMENTS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the substring value sequence did " +
                    "not contain any elements.");
                    "not contain any elements");
    registerMessage(MSGID_LDAP_FILTER_DECODE_SUBSTRING_INVALID_SUBTYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the substring value sequence had " +
                    "an element with an invalid BER type (%x).");
                    "an element with an invalid BER type (%x)");
    registerMessage(MSGID_LDAP_FILTER_DECODE_SUBSTRING_VALUES,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because a problem occurred while trying " +
                    "to parse the substring value elements:  %s.");
                    "to parse the substring value elements:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_PRESENCE_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the element could not be decoded " +
                    "as the presence attribute type:  %s.");
                    "as the presence attribute type:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_EXTENSIBLE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the element could not be decoded " +
                    "as an extensible matching sequence:  %s.");
                    "as an extensible matching sequence:  %s");
    registerMessage(MSGID_LDAP_FILTER_DECODE_EXTENSIBLE_INVALID_TYPE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because the extensible matching sequence " +
                    "had an element with an invalid BER type (%x).");
                    "had an element with an invalid BER type (%x)");
    registerMessage(MSGID_LDAP_FILTER_DECODE_EXTENSIBLE_ELEMENTS,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "search filter because a problem occurred while trying " +
                    "to parse the extensible match sequence elements:  %s.");
                    "to parse the extensible match sequence elements:  %s");
    registerMessage(MSGID_LDAP_FILTER_UNKNOWN_MATCHING_RULE,
                    "The provided LDAP search filter references unknown " +
                    "matching rule %s.");
                    "matching rule %s");
    registerMessage(MSGID_LDAP_FILTER_VALUE_WITH_NO_ATTR_OR_MR,
                    "The provided LDAP search filter has an assertion value " +
                    "but does not include either an attribute type or a " +
                    "matching rule ID.");
                    "matching rule ID");
    registerMessage(MSGID_LDAP_FILTER_STRING_NULL,
                    "Cannot decode the provided string as an LDAP search " +
                    "filter because the string was null.");
                    "filter because the string was null");
    registerMessage(MSGID_LDAP_FILTER_UNCAUGHT_EXCEPTION,
                    "Cannot decode the provided string %s as an LDAP search " +
                    "filter because an unexpected exception was thrown " +
                    "during processing:  %s.");
                    "during processing:  %s");
    registerMessage(MSGID_LDAP_FILTER_MISMATCHED_PARENTHESES,
                    "The provided search filter \"%s\" had mismatched " +
                    "parentheses around the portion between positions %d and " +
                    "%d.");
                    "%d");
    registerMessage(MSGID_LDAP_FILTER_NO_EQUAL_SIGN,
                    "The provided search filter \"%s\" was missing an equal " +
                    "sign in the suspected simple filter component between " +
                    "positions %d and %d.");
                    "positions %d and %d");
    registerMessage(MSGID_LDAP_FILTER_INVALID_ESCAPED_BYTE,
                    "The provided search filter \"%s\" had an invalid " +
                    "escaped byte value at position %d.  A backslash in a " +
                    "value must be followed by two hexadecimal characters " +
                    "that define the byte that has been encoded.");
                    "that define the byte that has been encoded");
    registerMessage(MSGID_LDAP_FILTER_COMPOUND_MISSING_PARENTHESES,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the compound filter between positions %d and %d " +
                    "did not start with an open parenthesis and end with a " +
                    "close parenthesis (they may be parentheses for " +
                    "different filter components).");
                    "different filter components)");
    registerMessage(MSGID_LDAP_FILTER_NO_CORRESPONDING_OPEN_PARENTHESIS,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the closing parenthesis at position %d did not " +
                    "have a corresponding open parenthesis.");
                    "have a corresponding open parenthesis");
    registerMessage(MSGID_LDAP_FILTER_NO_CORRESPONDING_CLOSE_PARENTHESIS,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the closing parenthesis at position %d did not " +
                    "have a corresponding close parenthesis.");
                    "have a corresponding close parenthesis");
    registerMessage(MSGID_LDAP_FILTER_SUBSTRING_NO_ASTERISKS,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the assumed substring filter value between " +
                    "positions %d and %d did not have any asterisk wildcard " +
                    "characters.");
                    "characters");
    registerMessage(MSGID_LDAP_FILTER_EXTENSIBLE_MATCH_NO_COLON,
                    "The provided search filter \"%s\" could not be decoded " +
                    "because the extensible match component starting at " +
                    "position %d did not have a colon to denote the end of " +
                    "the attribute type name.");
                    "the attribute type name");
    registerMessage(MSGID_LDAP_CLIENT_SEND_RESPONSE_NO_RESULT_CODE,
@@ -5176,127 +5176,127 @@
                    "have a result code.  This could indicate that the " +
                    "operation did not complete properly or that it is one " +
                    "that is not allowed to have a response.  Using a " +
                    "generic 'Operations Error' response.");
                    "generic 'Operations Error' response");
    registerMessage(MSGID_LDAP_CLIENT_SEND_RESPONSE_INVALID_OP,
                    "The server attempted to send a response to the %s " +
                    "operation (conn=%d, op=%d), but this type of operation " +
                    "is not allowed to have responses.  Backtrace:  %s.");
                    "is not allowed to have responses.  Backtrace:  %s");
    registerMessage(MSGID_LDAP_CLIENT_SEND_MESSAGE_ENCODE_ASN1,
                    "The server was unable to encode the provided LDAP " +
                    "message %s (conn=%d, op=%d) into an ASN.1 element:  %s.");
                    "message %s (conn=%d, op=%d) into an ASN.1 element:  %s");
    registerMessage(MSGID_LDAP_CLIENT_SEND_MESSAGE_ENCODE_BYTES,
                    "The server was unable to encode the ASN.1 element " +
                    "generated from LDAP message %s (conn=%d, op=%d) into a " +
                    "byte array:  %s.");
                    "byte array:  %s");
    registerMessage(MSGID_LDAP_CLIENT_SEND_MESSAGE_IO_PROBLEM,
                    "The server was unable to send the LDAP message %s " +
                    "(conn=%d, op=%d) to the client because an I/O problem " +
                    "was encountered:  %s.");
                    "was encountered:  %s");
    registerMessage(MSGID_LDAP_CLIENT_SEND_MESSAGE_UNEXPECTED_PROBLEM,
                    "The server was unable to send the LDAP message %s " +
                    "(conn=%d, op=%d) to the client because an unexpected " +
                    "problem was encountered:  %s.");
                    "problem was encountered:  %s");
    registerMessage(MSGID_LDAP_CLIENT_GENERIC_NOTICE_OF_DISCONNECTION,
                    "The Directory Server is closing the connection to this " +
                    "client.");
                    "client");
    registerMessage(MSGID_LDAP_CLIENT_DISCONNECT_IN_PROGRESS,
                    "The Directory Server is currently in the process of " +
                    "closing this client connection.");
                    "closing this client connection");
    registerMessage(MSGID_LDAP_CLIENT_DUPLICATE_MESSAGE_ID,
                    "The Directory Server is already processing another " +
                    "request on the same client connection with the same " +
                    "message ID of %d.");
                    "message ID of %d");
    registerMessage(MSGID_LDAP_CLIENT_CANNOT_ENQUEUE,
                    "The Directory Server encountered an unexpected error " +
                    "while attempting to add the client request to the work " +
                    "queue:  %s.");
                    "queue:  %s");
    registerMessage(MSGID_LDAP_CLIENT_DECODE_ZERO_BYTE_VALUE,
                    "The client sent a request to the Directory Server that " +
                    "was an ASN.1 element with a zero-byte value.  This " +
                    "cannot possibly be a valid LDAP message.");
                    "cannot possibly be a valid LDAP message");
    registerMessage(MSGID_LDAP_CLIENT_DECODE_MAX_REQUEST_SIZE_EXCEEDED,
                    "The client sent a request to the Directory Server with " +
                    "an ASN.1 element value length of %d bytes.  This " +
                    "exceeds the maximum allowed request size of %d bytes, " +
                    "so processing cannot continue on this connection.");
                    "so processing cannot continue on this connection");
    registerMessage(MSGID_LDAP_CLIENT_DECODE_INVALID_MULTIBYTE_LENGTH,
                    "The client sent a request to the Directory Server with " +
                    "an ASN.1 element using multiple bytes to express the " +
                    "value length.  The request indicated that %d bytes were " +
                    "needed to express the length, but this exceeds the " +
                    "maximum allowed limit of four bytes.");
                    "maximum allowed limit of four bytes");
    registerMessage(MSGID_LDAP_CLIENT_DECODE_ASN1_FAILED,
                    "The client sent a request to the Directory Server that " +
                    "could not be properly decoded as an ASN.1 element:  %s.");
                    "could not be properly decoded as an ASN.1 element:  %s");
    registerMessage(MSGID_LDAP_CLIENT_DECODE_LDAP_MESSAGE_FAILED,
                    "The client sent a request to the Directory Server that " +
                    "could not be properly decoded as an LDAP message:  %s.");
                    "could not be properly decoded as an LDAP message:  %s");
    registerMessage(MSGID_LDAP_CLIENT_INVALID_DECODE_STATE,
                    "An internal error has occurred within the Directory " +
                    "Server to cause it to lose track of where it is in " +
                    "decoding requests on this client connection.  It had an " +
                    "invalid decode state of %d, and this connection must be " +
                    "terminated.");
                    "terminated");
    registerMessage(MSGID_LDAP_CLIENT_DECODE_INVALID_REQUEST_TYPE,
                    "The client sent an LDAP message to the Directory Server " +
                    "that was not a valid message for a client request:  %s.");
                    "that was not a valid message for a client request:  %s");
    registerMessage(MSGID_LDAP_CLIENT_CANNOT_CONVERT_MESSAGE_TO_OPERATION,
                    "The Directory Server was unable to convert the LDAP " +
                    "message read from the client (%s) to an internal " +
                    "operation for processing:  %s.");
                    "operation for processing:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s was unable to open a selector to allow it to " +
                    "multiplex the associated accept sockets:  %s.  This " +
                    "connection handler will be disabled.");
                    "connection handler will be disabled");
    registerMessage(MSGID_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s was unable to create a server socket channel " +
                    "to accept connections on %s:%d:  %s.  The Directory " +
                    "Server will not listen for new connections on that " +
                    "address.");
                    "address");
    registerMessage(MSGID_LDAP_CONNHANDLER_NO_ACCEPTORS,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s was unable to create any of the socket " +
                    "channels on any of the configured addresses.  This " +
                    "connection handler will be disabled.");
                    "connection handler will be disabled");
    registerMessage(MSGID_LDAP_CONNHANDLER_DENIED_CLIENT,
                    "The connection attempt from client %s to %s has been " +
                    "rejected because the client was included in one of the " +
                    "denied address ranges.");
                    "denied address ranges");
    registerMessage(MSGID_LDAP_CONNHANDLER_DISALLOWED_CLIENT,
                    "The connection attempt from client %s to %s has been " +
                    "rejected because the client was not included in one of " +
                    "the allowed address ranges.");
                    "the allowed address ranges");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_SET_SECURITY_PROVIDER,
                    "An error occurred while attempting to configure the " +
                    "connection security provider for the client " +
                    "connection:  %s.");
                    "connection:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT,
                    "An internal error prevented the Directory Server from " +
                    "properly registering the client connection from %s to " +
                    "%s with an appropriate request handler:  %s.");
                    "%s with an appropriate request handler:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s was unable to accept a new client connection:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s has experienced consecutive failures while " +
                    "trying to accept client connections:  %s.  This " +
                    "connection handler will be disabled.");
                    "connection handler will be disabled");
    registerMessage(MSGID_LDAP_CONNHANDLER_UNCAUGHT_ERROR,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s caught an unexpected error while trying to " +
                    "listen for new connections:  %s.  This connection " +
                    "handler will be disabled.");
                    "handler will be disabled");
    registerMessage(MSGID_LDAP_CONNHANDLER_REJECTED_BY_SERVER,
                    "The attempt to register this connection with the " +
                    "Directory Server was rejected.  This may indicate that " +
                    "the server already has the maximum allowed number of " +
                    "concurrent connections established.");
                    "concurrent connections established");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS,
@@ -5306,16 +5306,16 @@
                    "connections on all active addresses.  Changes to this " +
                    "configuration attribute will not take effect until the " +
                    "connection handler is disabled and re-enabled, or until " +
                    "the Directory Server is restarted.");
                    "the Directory Server is restarted");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT,
                    "Specifies the TCP port on which this connection handler " +
                    "may accept client connections.  Changes to this " +
                    "configuration attribute will not take effect until the " +
                    "connection handler is disabled and re-enabled, or until " +
                    "the Directory Server is restarted.");
                    "the Directory Server is restarted");
    registerMessage(MSGID_LDAPS_CONNHANDLER_DESCRIPTION_ENABLE,
                    "Specifies whether to enable the LDAPS connection " +
                    "handler.");
                    "handler");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_BACKLOG,
                    "Specifies the accept queue size, which controls the " +
                    "number of new connection attempts that may be allowed " +
@@ -5325,7 +5325,7 @@
                    "connection attempts at the same time.  Changes to this " +
                    "configuration attribute will not take effect until the " +
                    "connection handler is disabled and re-enabled, or until " +
                    "the Directory Server is restarted.");
                    "the Directory Server is restarted");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS,
                    "Specifies a set of address masks that may be used to " +
                    "determine the addresses of the clients that are allowed " +
@@ -5335,7 +5335,7 @@
                    "list will be allowed.  Changes to this configuration " +
                    "attribute will take effect immediately but will not " +
                    "interfere with connections that may already be " +
                    "established.");
                    "established");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_DENIED_CLIENTS,
                    "Specifies a set of address masks that may be used to " +
                    "determine the set of addresses of the clients that are " +
@@ -5347,7 +5347,7 @@
                    "client not matching a mask in that list will be " +
                    "allowed.  Changes to this configuration attribute will " +
                    "take effect immediately but will not interfere with " +
                    "connections that may already be established.");
                    "connections that may already be established");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_KEEP_STATS,
                    "Indicates whether the connection handler should keep " +
                    "statistics regarding LDAP client communication.  " +
@@ -5357,7 +5357,7 @@
                    "configuration attribute will take effect immediately, " +
                    "but will only apply for new connections and will have " +
                    "the side effect of clearing any existing statistical " +
                    "data that may have been collected.");
                    "data that may have been collected");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_ALLOW_LDAPV2,
                    "Indicates whether to allow communication with LDAPv2 " +
                    "clients.  LDAPv2 is considered an obsolete protocol, " +
@@ -5365,7 +5365,7 @@
                    "advantage of all features offered by the server.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately, but will not interfere with " +
                    "connections that may already be established.");
                    "connections that may already be established");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_NUM_REQUEST_HANDLERS,
                    "Specifies the number of threads that should be used to " +
                    "read requests from clients and place them in the " +
@@ -5375,13 +5375,13 @@
                    "Changes to this configuration attribute will not take " +
                    "effect until the connection handler is disabled and " +
                    "re-enabled, or until the Directory Server is " +
                    "restarted.");
                    "restarted");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_SEND_REJECTION_NOTICE,
                    "Indicates whether to send an LDAPv3 notice of " +
                    "disconnection message to client connections that " +
                    "are rejected before closing the connection.  Changes to " +
                    "this configuration attribute will take effect " +
                    "immediately.");
                    "immediately");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_USE_TCP_KEEPALIVE,
                    "Indicates whether to use the TCP KeepAlive feature for " +
                    "client connections established through this connection " +
@@ -5391,7 +5391,7 @@
                    "devices from closing connections due to a lack of " +
                    "communication.  Changes to this configuration attribute " +
                    "will take effect immediately but will only be applied " +
                    "to connections established after the change.");
                    "to connections established after the change");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_USE_TCP_NODELAY,
                    "Indicates whether to use the TCP NoDelay feature for " +
                    "client connections established through this connection " +
@@ -5401,7 +5401,7 @@
                    "entries may be able to achieve higher throughput if it" +
                    " is disabled.  Changes to this configuration attribute " +
                    "will take effect immediately but will only be applied " +
                    "to connections established after the change.");
                    "to connections established after the change");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_ALLOW_REUSE_ADDRESS,
                    "Indicates whether to use the SO_REUSEADDR socket option " +
                    "for the socket accepting connections for this " +
@@ -5410,7 +5410,7 @@
                    "support engineers.  Changes to this configuration " +
                    "attribute will not take effect until the connection " +
                    "handler is disabled and re-enabled, or until the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_MAX_REQUEST_SIZE,
                    "Specifies the maximum size in bytes that will be " +
                    "allowed when reading requests from clients.  This can " +
@@ -5418,13 +5418,13 @@
                    "clients that send extremely large requests.  A value of " +
                    "zero indicates that no limit should be imposed.  " +
                    "Changes to this configuration attribute will take " +
                    "effect immediately.");
                    "effect immediately");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_USE_SSL,
                    "Indicates whether this connection handler should use " +
                    "SSL when accepting connections from clients.  Changes " +
                    "to this configuration attribute will not take effect " +
                    "until the connection handler is disabled and " +
                    "re-enabled, or until the Directory Server is restarted.");
                    "re-enabled, or until the Directory Server is restarted");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_ALLOW_STARTTLS,
                    "Indicates whether this connection handler should allow " +
                    "clients to use the StartTLS extended operation to " +
@@ -5432,7 +5432,7 @@
                    "connection.  This may not be used if SSL is enabled " +
                    "for the connection handler.  Changes to this " +
                    "configuration attribute will take effect immediately " +
                    "for LDAP clients.");
                    "for LDAP clients");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_SSL_CLIENT_AUTH_POLICY,
                    "Specifies the policy that should be used regarding " +
                    "requesting or requiring the client to present its own " +
@@ -5441,260 +5441,260 @@
                    "established connection.  Changes to this configuration " +
                    "attribute will not take effect until the connection " +
                    "handler is disabled and re-enabled, or until the " +
                    "Directory Server is restarted.");
                    "Directory Server is restarted");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_SSL_CERT_NICKNAME,
                    "Specifies the nickname of the certificate that the " +
                    "connection handler should use when accepting SSL-based " +
                    "connections or performing StartTLS negotiation.  " +
                    "Changes to this configuration attribute will not take " +
                    "effect until the connection handler is disabled and " +
                    "re-enabled, or until the Directory Server is restarted.");
                    "re-enabled, or until the Directory Server is restarted");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_SSL_ENABLED_PROTOCOLS,
                    "Specifies the names of the SSL protocols that will be " +
                    "allowed for use in SSL or StartTLS communication.  " +
                    "Changes to this configuration attribute will take " +
                    "immediately but will only impact new SSL/TLS-based " +
                    "sessions created after the change.");
                    "sessions created after the change");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_SSL_ENABLED_CIPHERS,
                    "Specifies the names of the SSL cipher suites that will " +
                    "be allowed for use in SSL or StartTLS communication.  " +
                    "Changes to this configuration attribute will take " +
                    "immediately but will only impact new SSL/TLS-based " +
                    "sessions created after the change.");
                    "sessions created after the change");
    registerMessage(MSGID_LDAP_CONNHANDLER_UNKNOWN_LISTEN_ADDRESS,
                    "The specified listen address \"%s\" in configuration " +
                    "entry \"%s\" could not be resolved:  %s.  Please make " +
                    "sure that name resolution is properly configured on " +
                    "this system.");
                    "this system");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_LISTEN_ADDRESS,
                    "An unexpected error occurred while processing the " +
                    ATTR_LISTEN_ADDRESS + " attribute in configuration entry " +
                    "%s, which is used to specify the address or set of " +
                    "addresses on which to listen for client connections:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NO_LISTEN_PORT,
                    "No listen port was defined using configuration " +
                    ATTR_LISTEN_PORT + " in configuration entry %s.  This is " +
                    "a required attribute.");
                    "a required attribute");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_LISTEN_PORT,
                    "An unexpected error occurred while processing the " +
                    ATTR_LISTEN_PORT + " attribute in configuration entry " +
                    "%s, which is used to specify the port on which to " +
                    "listen for client connections:  %s.");
                    "listen for client connections:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_BACKLOG,
                    "An unexpected error occurred while processing the " +
                    ATTR_ACCEPT_BACKLOG + " attribute in configuration entry " +
                    "%s, which is used to specify the accept backlog size:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_ALLOWED_CLIENTS,
                    "An unexpected error occurred while processing the " +
                    ATTR_ALLOWED_CLIENT + " attribute in configuration entry " +
                    "%s, which is used to specify the address mask(s) of the " +
                    "clients that are allowed to establish connections to " +
                    "this connection handler:  %s.");
                    "this connection handler:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_DENIED_CLIENTS,
                    "An unexpected error occurred while processing the " +
                    ATTR_DENIED_CLIENT + " attribute in configuration entry " +
                    "%s, which is used to specify the address mask(s) of the " +
                    "clients that are not allowed to establish connections " +
                    "to this connection handler:  %s.");
                    "to this connection handler:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_ALLOW_LDAPV2,
                    "An unexpected error occurred while processing the " +
                    ATTR_ALLOW_LDAPV2 + " attribute in configuration entry " +
                    "%s, which is used to indicate whether LDAPv2 clients " +
                    "will be allowed to access this connection handler:  %s.");
                    "will be allowed to access this connection handler:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_KEEP_STATS,
                    "An unexpected error occurred while processing the " +
                    ATTR_KEEP_LDAP_STATS + " attribute in configuration " +
                    "entry %s, which is used to indicate whether LDAP usage " +
                    "statistics should be enabled for this connection " +
                    "handler:  %s.");
                    "handler:  %s");
    registerMessage(
         MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_NUM_REQUEST_HANDLERS,
         "An unexpected error occurred while processing the " +
         ATTR_NUM_REQUEST_HANDLERS + " attribute in configuration entry %s, " +
         "which is used to specify the number of request handlers to use " +
         "to read requests from clients: %s.");
         "to read requests from clients: %s");
    registerMessage(
         MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_SEND_REJECTION_NOTICE,
         "An unexpected error occurred while processing the " +
         ATTR_SEND_REJECTION_NOTICE + " attribute in configuration entry %s, " +
         "which is used to indicate whether to send a notice of " +
         "disconnection message to rejected client connections: %s.");
         "disconnection message to rejected client connections: %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_USE_TCP_KEEPALIVE,
                    "An unexpected error occurred while processing the " +
                    ATTR_USE_TCP_KEEPALIVE + " attribute in configuration " +
                    "entry %s, which is used to periodically send TCP " +
                    "Keep-Alive messages over idle connections:  %s.");
                    "Keep-Alive messages over idle connections:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_USE_TCP_NODELAY,
                    "An unexpected error occurred while processing the " +
                    ATTR_USE_TCP_NODELAY + " attribute in configuration " +
                    "entry %s, which is used to determine whether to " +
                    "immediately flush responses to clients:  %s.");
                    "immediately flush responses to clients:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_ALLOW_REUSE_ADDRESS,
                    "An unexpected error occurred while processing the " +
                    ATTR_ALLOW_REUSE_ADDRESS + " attribute in configuration " +
                    "entry %s, which is used to determine whether to set the " +
                    "SO_REUSEADDR option on the listen socket:  %s.");
                    "SO_REUSEADDR option on the listen socket:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_MAX_REQUEST_SIZE,
                    "An unexpected error occurred while processing the " +
                    ATTR_MAX_REQUEST_SIZE + " attribute in configuration " +
                    "entry %s, which is used to determine the maximum size " +
                    "in bytes that may be used for a client request:  %s.");
                    "in bytes that may be used for a client request:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_USE_SSL,
                    "An unexpected error occurred while processing the " +
                    ATTR_USE_SSL + " attribute in configuration entry %s, " +
                    "which is used to indicate whether to use SSL when " +
                    "accepting client connections:  %s.");
                    "accepting client connections:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_HAVE_SSL_AND_STARTTLS,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s is configured to communicate over SSL and " +
                    "also to allow clients to use the StartTLS extended " +
                    "operation.  These options may not be used at the same " +
                    "time, so clients will not be allowed to use the " +
                    "StartTLS operation.");
                    "StartTLS operation");
    registerMessage(MSGID_LDAP_CONNHANDLER_NO_KEYMANAGER_DN,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s is configured to use either SSL or StartTLS, " +
                    "but does not specify which key manager provider should " +
                    "be used.");
                    "be used");
    registerMessage(MSGID_LDAP_CONNHANDLER_NO_TRUSTMANAGER_DN,
                    "The LDAP connection handler defined in configuration " +
                    "entry %s is configured to use either SSL or StartTLS, " +
                    "but does not specify which trust manager provider " +
                    "should be used.");
                    "should be used");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_ALLOW_STARTTLS,
                    "An unexpected error occurred while processing the " +
                    ATTR_ALLOW_STARTTLS + " attribute in configuration entry " +
                    "%s, which is used to indicate whether clients may use " +
                    "the StartTLS extended operation:  %s.");
                    "the StartTLS extended operation:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_INVALID_SSL_CLIENT_AUTH_POLICY,
                    "The SSL client authentication policy \"%s\" specified " +
                    "in attribute " + ATTR_SSL_CLIENT_AUTH_POLICY +
                    " of configuration entry %s is invalid.  The value must " +
                    "be one of \"disabled\", \"optional\", or \"required\".");
                    "be one of \"disabled\", \"optional\", or \"required\"");
    registerMessage(
         MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_SSL_CLIENT_AUTH_POLICY,
         "An unexpected error occurred while processing the " +
         ATTR_SSL_CLIENT_AUTH_POLICY + " attribute in configuration entry " +
         "%s, which is used to specify the policy that should be used " +
         "for requesting/requiring SSL client authentication:  %s.");
         "for requesting/requiring SSL client authentication:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_SSL_CERT_NICKNAME,
                    "An unexpected error occurred while processing the " +
                    ATTR_SSL_CERT_NICKNAME + " attribute in configuration " +
                    "entry %s, which is used to specify the nickname of the " +
                    "certificate to use for accepting SSL/TSL connections:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_SSL_PROTOCOLS,
                    "An unexpected error occurred while processing the " +
                    ATTR_SSL_PROTOCOLS + " attribute in configuration " +
                    "entry %s, which is used to specify the names of the " +
                    "SSL protocols to allow for SSL/TLS sessions:  %s.");
                    "SSL protocols to allow for SSL/TLS sessions:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_SSL_CIPHERS,
                    "An unexpected error occurred while processing the " +
                    ATTR_SSL_PROTOCOLS + " attribute in configuration " +
                    "entry %s, which is used to specify the names of the " +
                    "SSL cipher suites to allow for SSL/TLS sessions:  %s.");
                    "SSL cipher suites to allow for SSL/TLS sessions:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_KEYMANAGER_DN,
                    "Specifies the DN of the configuration entry for the key " +
                    "manager provider that should be used with this LDAP " +
                    "connection handler.  Changes to this attribute will " +
                    "take effect immediately, but only for subsequent " +
                    "attempts to access the key manager provider for " +
                    "associated client connections.");
                    "associated client connections");
    registerMessage(MSGID_LDAP_CONNHANDLER_INVALID_KEYMANAGER_DN,
                    "Configuration attribute " + ATTR_KEYMANAGER_DN +
                    " of configuration entry %s has an invalid value %s " +
                    "which does not reference an enabled key manager " +
                    "provider.");
                    "provider");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_KEYMANAGER_DN,
                    "An error occurred while processing the " +
                    ATTR_KEYMANAGER_DN + " attribute in configuration entry " +
                    "%s, which is used to specify the key manager provider " +
                    "for use with the LDAP connection handler:  %s.");
                    "for use with the LDAP connection handler:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_DESCRIPTION_TRUSTMANAGER_DN,
                    "Specifies the DN of the configuration entry for the " +
                    "trust manager provider that should be used with this " +
                    "LDAP connection handler.  Changes to this attribute " +
                    "will take effect immediately, but only for subsequent " +
                    "attempts to access the trust manager provider for " +
                    "associated client connections.");
                    "associated client connections");
    registerMessage(MSGID_LDAP_CONNHANDLER_INVALID_TRUSTMANAGER_DN,
                    "Configuration attribute " + ATTR_TRUSTMANAGER_DN +
                    " of configuration entry %s has an invalid value %s " +
                    "which does not reference an enabled trust manager " +
                    "provider.");
                    "provider");
    registerMessage(MSGID_LDAP_CONNHANDLER_CANNOT_DETERMINE_TRUSTMANAGER_DN,
                    "An error occurred while processing the " +
                    ATTR_TRUSTMANAGER_DN + " attribute in configuration " +
                    "entry %s, which is used to specify the trust manager " +
                    "provider for use with the LDAP connection handler:  %s.");
                    "provider for use with the LDAP connection handler:  %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_INVALID_ADDRESS_MASK,
                    "The string %s defined in attribute %s of configuration " +
                    "entry %s could not be decoded as a valid address mask:  "+
                    "%s.");
                    "%s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_ALLOWED_CLIENTS,
                    "A new set of allowed client address masks has been " +
                    "applied for configuration entry %s.");
                    "applied for configuration entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_DENIED_CLIENTS,
                    "A new set of denied client address masks has been " +
                    "applied for configuration entry %s.");
                    "applied for configuration entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_ALLOW_LDAPV2,
                    "The value of the " + ATTR_ALLOW_LDAPV2 +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_KEEP_STATS,
                    "The value of the " + ATTR_KEEP_LDAP_STATS +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_SEND_REJECTION_NOTICE,
                    "The value of the " + ATTR_SEND_REJECTION_NOTICE +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_USE_KEEPALIVE,
                    "The value of the " + ATTR_USE_TCP_KEEPALIVE +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_USE_TCP_NODELAY,
                    "The value of the " + ATTR_USE_TCP_NODELAY +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_MAX_REQUEST_SIZE,
                    "The value of the " + ATTR_MAX_REQUEST_SIZE +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_ALLOW_STARTTLS,
                    "The value of the " + ATTR_ALLOW_STARTTLS +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_SSL_PROTOCOLS,
                    "The value of the " + ATTR_SSL_PROTOCOLS +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_SSL_CIPHERS,
                    "The value of the " + ATTR_SSL_CIPHERS +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_KEYMANAGER_DN,
                    "The value of the " + ATTR_KEYMANAGER_DN +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_NEW_TRUSTMANAGER_DN,
                    "The value of the " + ATTR_TRUSTMANAGER_DN +
                    " attribute has been updated to %s in configuration " +
                    "entry %s.");
                    "entry %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_STARTED_LISTENING,
                    "Started listening for new connections on %s.");
                    "Started listening for new connections on %s");
    registerMessage(MSGID_LDAP_CONNHANDLER_STOPPED_LISTENING,
                    "Stopped listening for new connections on %s.");
                    "Stopped listening for new connections on %s");
    registerMessage(MSGID_LDAP_REQHANDLER_OPEN_SELECTOR_FAILED,
                    "%s was unable to open a selector to multiplex reads " +
                    "from clients:  %s.  This request handler cannot " +
                    "continue processing.");
                    "continue processing");
    registerMessage(MSGID_LDAP_REQHANDLER_DETECTED_JVM_ISSUE_CR6322825,
                    "Unable to call select() in the LDAP connection " +
                    "handler:  %s.  It appears that your JVM may be " +
@@ -5706,77 +5706,77 @@
                    "Update 8 or higher) or set the number of available " +
                    "file descriptors to a value greater than or equal to " +
                    "8193 (e.g., by issuing the command 'ulimit -n 8193') " +
                    "before starting the Directory Server.");
                    "before starting the Directory Server");
    registerMessage(MSGID_LDAP_REQHANDLER_CANNOT_REGISTER,
                    "%s was unable to register this client connection with " +
                    "the selector:  %s.");
                    "the selector:  %s");
    registerMessage(MSGID_LDAP_REQHANDLER_REJECT_DUE_TO_SHUTDOWN,
                    "This connection could not be registered with a " +
                    "request handler because the Directory Server is " +
                    "shutting down.");
                    "shutting down");
    registerMessage(MSGID_LDAP_REQHANDLER_REJECT_DUE_TO_QUEUE_FULL,
                    "This connection could not be registered with a request " +
                    "handler because the pending queue associated with %s " +
                    "is too full.");
                    "is too full");
    registerMessage(MSGID_LDAP_REQHANDLER_DEREGISTER_DUE_TO_SHUTDOWN,
                    "This client connection is being deregistered from the " +
                    "associated request handler because the Directory Server " +
                    "is shutting down:  %s.");
                    "is shutting down:  %s");
    registerMessage(MSGID_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION,
                    "The LDAP request handler thread \"%s\" encountered an " +
                    "unexpected error that would have caused the thread to " +
                    "die:  %s.  The error has been caught and the request " +
                    "handler should continue operating as normal.");
                    "handler should continue operating as normal");
    registerMessage(MSGID_LDAP_DISCONNECT_DUE_TO_INVALID_REQUEST_TYPE,
                    "Terminating this connection because the client sent " +
                    "an invalid message of type %s (LDAP message ID %d) that " +
                    "is not allowed for request messages.");
                    "is not allowed for request messages");
    registerMessage(MSGID_LDAP_DISCONNECT_DUE_TO_PROCESSING_FAILURE,
                    "An unexpected failure occurred while trying to process " +
                    "a request of type %s (LDAP message ID %d):  %s.  The " +
                    "client connection will be terminated.");
                    "client connection will be terminated");
    registerMessage(MSGID_LDAP_INVALID_BIND_AUTH_TYPE,
                    "The bind request message (LDAP message ID %d) included " +
                    "an invalid authentication type of %s.  This is a " +
                    "protocol error, and this connection will be terminated " +
                    "as per RFC 2251 section 4.2.3.");
                    "as per RFC 2251 section 4.2.3");
    registerMessage(MSGID_LDAP_DISCONNECT_DUE_TO_BIND_PROTOCOL_ERROR,
                    "This client connection is being terminated because a " +
                    "protocol error occurred while trying to process a bind " +
                    "request.  The LDAP message ID was %d and the error " +
                    "message for the bind response was %s.");
                    "message for the bind response was %s");
    registerMessage(MSGID_LDAPV2_SKIPPING_EXTENDED_RESPONSE,
                    "An extended response message would have been sent to an " +
                    "LDAPv2 client (connection ID=%d, operation ID=%d):  " +
                    "%s.  LDAPv2 does not allow extended operations, so this " +
                    "response will not be sent.");
                    "response will not be sent");
    registerMessage(MSGID_LDAPV2_SKIPPING_SEARCH_REFERENCE,
                    "A search performed by an LDAPv2 client (connection " +
                    "ID=%d, operation ID=%d) would have included a search " +
                    "result reference %s.  Referrals are not allowed for " +
                    "LDAPv2 clients, so this search reference will not be " +
                    "sent.");
                    "sent");
    registerMessage(MSGID_LDAPV2_REFERRAL_RESULT_CHANGED,
                    "The original result code for this message was " +
                    LDAPResultCode.REFERRAL + " but this result is not " +
                    "allowed for LDAPv2 clients.");
                    "allowed for LDAPv2 clients");
    registerMessage(MSGID_LDAPV2_REFERRALS_OMITTED,
                    "The response included one or more referrals, which are " +
                    "not allowed for LDAPv2 clients.  The referrals included " +
                    "were:  %s.");
                    "were:  %s");
    registerMessage(MSGID_LDAPV2_CLIENTS_NOT_ALLOWED,
                    "The Directory Server has been configured to deny access " +
                    "to LDAPv2 clients.  This connection will be closed.");
                    "to LDAPv2 clients.  This connection will be closed");
    registerMessage(MSGID_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED,
                    "The client with connection ID %d authenticated to the " +
                    "Directory Server using LDAPv2, but attempted to send an " +
                    "extended operation request (LDAP message ID %d), which " +
                    "is not allowed for LDAPv2 clients.  The connection will " +
                    "be terminated.");
                    "be terminated");
@@ -5785,348 +5785,348 @@
                    "monitor provider as defined in configuration entry %s.  " +
                    "This monitor provider should only be dynamically " +
                    "created within the Directory Server itself and not " +
                    "from within the configuration.");
                    "from within the configuration");
    registerMessage(MSGID_INTERNAL_CANNOT_DECODE_DN,
                    "An unexpected error occurred while trying to decode the " +
                    "DN %s used for internal operations as a root user:  %s.");
                    "DN %s used for internal operations as a root user:  %s");
    registerMessage(MSGID_LDAP_TLS_EXISTING_SECURITY_PROVIDER,
                    "The TLS connection security provider cannot be enabled " +
                    "on this client connection because it is already using " +
                    "the %s provider.  StartTLS may only be used on " +
                    "clear-text connections.");
                    "clear-text connections");
    registerMessage(MSGID_LDAP_TLS_STARTTLS_NOT_ALLOWED,
                    "StartTLS cannot be enabled on this LDAP client " +
                    "connection because the corresponding LDAP connection " +
                    "handler is configured to reject StartTLS requests.  " +
                    "The use of StartTLS may be enabled using the " +
                    ATTR_ALLOW_STARTTLS + " configuration attribute.");
                    ATTR_ALLOW_STARTTLS + " configuration attribute");
    registerMessage(MSGID_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER,
                    "An error occurred while attempting to create a TLS " +
                    "connection security provider for this client connection " +
                    "for use with StartTLS:  %s.");
                    "for use with StartTLS:  %s");
    registerMessage(MSGID_LDAP_TLS_NO_PROVIDER,
                    "StartTLS is not available on this client connection " +
                    "because the connection does not have access to a TLS " +
                    "connection security provider.");
                    "connection security provider");
    registerMessage(MSGID_LDAP_TLS_CLOSURE_NOT_ALLOWED,
                    "The LDAP connection handler does not allow clients to " +
                    "close a StartTLS session on a client connection while " +
                    "leaving the underlying TCP connection active.  The " +
                    "TCP connection will be closed.");
                    "TCP connection will be closed");
    registerMessage(MSGID_LDAP_NO_CLEAR_SECURITY_PROVIDER,
                    "LDAP connection handler %s could not send a clear-text " +
                    "response to the client because it does not have a " +
                    "reference to a clear connection security provider.");
                    "reference to a clear connection security provider");
    registerMessage(MSGID_LDAP_PAGED_RESULTS_DECODE_NULL,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "paged results control value because the element is " +
                    "null.");
                    "null");
    registerMessage(MSGID_LDAP_PAGED_RESULTS_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "paged results control value because the element could " +
                    "not be decoded as a sequence:  %s.");
                    "not be decoded as a sequence:  %s");
    registerMessage(MSGID_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "paged results control value because the request " +
                    "sequence has an invalid number of elements (expected 2, " +
                    "got %d).");
                    "got %d)");
    registerMessage(MSGID_LDAP_PAGED_RESULTS_DECODE_SIZE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "paged results control value because the size element " +
                    "could not be properly decoded:  %s.");
                    "could not be properly decoded:  %s");
    registerMessage(MSGID_LDAP_PAGED_RESULTS_DECODE_COOKIE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "paged results control value because the cookie could " +
                    "not be properly decoded:  %s.");
                    "not be properly decoded:  %s");
    registerMessage(MSGID_LDAPASSERT_NO_CONTROL_VALUE,
                    "Cannot decode the provided LDAP assertion control " +
                    "because the control does not have a value.");
                    "because the control does not have a value");
    registerMessage(MSGID_LDAPASSERT_INVALID_CONTROL_VALUE,
                    "Cannot decode the provided LDAP assertion control " +
                    "because the control value cannot be decoded as an " +
                    "ASN.1 element:  %s.");
                    "ASN.1 element:  %s");
    registerMessage(MSGID_PREREADREQ_NO_CONTROL_VALUE,
                    "Cannot decode the provided LDAP pre-read request " +
                    "control because the control does not have a value.");
                    "control because the control does not have a value");
    registerMessage(MSGID_PREREADREQ_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided LDAP pre-read request " +
                    "control because an error occurred while trying to " +
                    "decode the control value:  %s.");
                    "decode the control value:  %s");
    registerMessage(MSGID_POSTREADREQ_NO_CONTROL_VALUE,
                    "Cannot decode the provided LDAP post-read request " +
                    "control because the control does not have a value.");
                    "control because the control does not have a value");
    registerMessage(MSGID_POSTREADREQ_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided LDAP post-read request " +
                    "control because an error occurred while trying to " +
                    "decode the control value:  %s.");
                    "decode the control value:  %s");
    registerMessage(MSGID_PREREADRESP_NO_CONTROL_VALUE,
                    "Cannot decode the provided LDAP pre-read response " +
                    "control because the control does not have a value.");
                    "control because the control does not have a value");
    registerMessage(MSGID_PREREADRESP_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided LDAP pre-read response " +
                    "control because an error occurred while trying to " +
                    "decode the control value:  %s.");
                    "decode the control value:  %s");
    registerMessage(MSGID_POSTREADRESP_NO_CONTROL_VALUE,
                    "Cannot decode the provided LDAP post-read response " +
                    "control because the control does not have a value.");
                    "control because the control does not have a value");
    registerMessage(MSGID_POSTREADRESP_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided LDAP post-read response " +
                    "control because an error occurred while trying to " +
                    "decode the control value:  %s.");
                    "decode the control value:  %s");
    registerMessage(MSGID_PROXYAUTH1_CONTROL_NOT_CRITICAL,
                    "Unwilling to process the request because it contains a " +
                    "proxied authorization V1 control which is not marked " +
                    "critical.  The proxied authorization control must " +
                    "always have a criticality of \"true\".");
                    "always have a criticality of \"true\"");
    registerMessage(MSGID_PROXYAUTH1_NO_CONTROL_VALUE,
                    "Cannot decode the provided proxied authorization V1 " +
                    "control because it does not have a value.");
                    "control because it does not have a value");
    registerMessage(MSGID_PROXYAUTH1_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided proxied authorization V1 " +
                    "control because the ASN.1 sequence in the control " +
                    "value has an invalid number of elements (expected 1, " +
                    "got %d).");
                    "got %d)");
    registerMessage(MSGID_PROXYAUTH1_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided proxied authorization V1 " +
                    "control because an error occurred while attempting to " +
                    "decode the control value:  %s.");
                    "decode the control value:  %s");
    registerMessage(MSGID_PROXYAUTH1_CANNOT_LOCK_USER,
                    "Unable to obtain a lock on user entry %s for the " +
                    "proxied authorization V1 control validation.");
                    "proxied authorization V1 control validation");
    registerMessage(MSGID_PROXYAUTH1_NO_SUCH_USER,
                    "User %s specified in the proxied authorization V1 " +
                    "control does not exist in the Directory Server.");
                    "control does not exist in the Directory Server");
    registerMessage(MSGID_PROXYAUTH1_UNUSABLE_ACCOUNT,
                    "Use of the proxied authorization V1 control for user %s " +
                    "is not allowed by the password policy configuration.");
                    "is not allowed by the password policy configuration");
    registerMessage(MSGID_PROXYAUTH2_CONTROL_NOT_CRITICAL,
                    "Unwilling to process the request because it contains a " +
                    "proxied authorization V2 control which is not marked " +
                    "critical.  The proxied authorization control must " +
                    "always have a criticality of \"true\".");
                    "always have a criticality of \"true\"");
    registerMessage(MSGID_PROXYAUTH2_NO_CONTROL_VALUE,
                    "Cannot decode the provided proxied authorization V2 " +
                    "control because it does not have a value.");
                    "control because it does not have a value");
    registerMessage(MSGID_PROXYAUTH2_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided proxied authorization V2 " +
                    "control because an error occurred while attempting to " +
                    "decode the control value:  %s.");
                    "decode the control value:  %s");
    registerMessage(MSGID_PROXYAUTH2_CANNOT_LOCK_USER,
                    "Unable to obtain a lock on user entry %s for the " +
                    "proxied authorization V2 control validation.");
                    "proxied authorization V2 control validation");
    registerMessage(MSGID_PROXYAUTH2_NO_IDENTITY_MAPPER,
                    "Unable to process proxied authorization V2 control " +
                    "because it contains an authorization ID based on a " +
                    "username and no proxied authorization identity mapper " +
                    "is configured in the Directory Server.");
                    "is configured in the Directory Server");
    registerMessage(MSGID_PROXYAUTH2_INVALID_AUTHZID,
                    "The authorization ID \"%s\" contained in the proxied " +
                    "authorization V2 control is invalid because it does not " +
                    "start with \"dn:\" to indicate a user DN or \"u:\" to " +
                    "indicate a username.");
                    "indicate a username");
    registerMessage(MSGID_PROXYAUTH2_NO_SUCH_USER,
                    "User %s specified in the proxied authorization V2 " +
                    "control does not exist in the Directory Server.");
                    "control does not exist in the Directory Server");
    registerMessage(MSGID_PROXYAUTH2_UNUSABLE_ACCOUNT,
                    "Use of the proxied authorization V2 control for user %s " +
                    "is not allowed by the password policy configuration.");
                    "is not allowed by the password policy configuration");
    registerMessage(MSGID_PSEARCH_CHANGETYPES_INVALID_TYPE,
                    "The provided integer value %d does not correspond to " +
                    "any persistent search change type.");
                    "any persistent search change type");
    registerMessage(MSGID_PSEARCH_CHANGETYPES_NO_TYPES,
                    "The provided integer value indicated that there were no " +
                    "persistent search change types, which is not allowed.");
                    "persistent search change types, which is not allowed");
    registerMessage(MSGID_PSEARCH_CHANGETYPES_INVALID_TYPES,
                    "The provided integer value %d was outside the range of " +
                    "acceptable values for an encoded change type set.");
                    "acceptable values for an encoded change type set");
    registerMessage(MSGID_PSEARCH_NO_CONTROL_VALUE,
                    "Cannot decode the provided persistent search control " +
                    "because it does not have a value.");
                    "because it does not have a value");
    registerMessage(MSGID_PSEARCH_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided persistent search control " +
                    "because the value sequence has an invalid number of " +
                    "elements (expected 3, got %d).");
                    "elements (expected 3, got %d)");
    registerMessage(MSGID_PSEARCH_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided persistent search control " +
                    "because an error occurred while attempting to decode " +
                    "the control value:  %s.");
                    "the control value:  %s");
    registerMessage(MSGID_ECN_NO_CONTROL_VALUE,
                    "Cannot decode the provided entry change notification " +
                    "control because it does not have a value.");
                    "control because it does not have a value");
    registerMessage(MSGID_ECN_INVALID_ELEMENT_COUNT,
                    "Cannot decode the provided entry change notification " +
                    "control because the value sequence has an invalid " +
                    "number of elements (expected between 1 and 3, got %d).");
                    "number of elements (expected between 1 and 3, got %d)");
    registerMessage(MSGID_ECN_ILLEGAL_PREVIOUS_DN,
                    "Cannot decode the provided entry change notification " +
                    "control because it contains a previous DN element but " +
                    "had a change type of %s.  The previous DN element may " +
                    "only be provided with the modify DN change type.");
                    "only be provided with the modify DN change type");
    registerMessage(MSGID_ECN_INVALID_ELEMENT_TYPE,
                    "Cannot decode the provided entry change notification " +
                    "control because the second element in the value " +
                    "sequence has an invalid type of %s that is not " +
                    "appropriate for either a previous DN or a change number.");
                    "appropriate for either a previous DN or a change number");
    registerMessage(MSGID_ECN_CANNOT_DECODE_VALUE,
                    "Cannot decode the provided entry change notification " +
                    "control because an error occurred while attempting to " +
                    "decode the control value:  %s.");
                    "decode the control value:  %s");
    registerMessage(MSGID_AUTHZIDRESP_NO_CONTROL_VALUE,
                    "Cannot decode the provided authorization identity " +
                    "response control because it does not have a value.");
                    "response control because it does not have a value");
    registerMessage(MSGID_LDAP_INTERMEDIATE_RESPONSE_DECODE_SEQUENCE,
                    "Cannot decode the provided ASN.1 element as an LDAP " +
                    "intermediate response protocol op because the element " +
                    "could not be decoded as a sequence:  %s.");
                    "could not be decoded as a sequence:  %s");
    registerMessage(
         MSGID_LDAP_INTERMEDIATE_RESPONSE_DECODE_INVALID_ELEMENT_COUNT,
         "Cannot decode the provided ASN.1 element as an LDAP intermediate " +
         "response protocol op because the request sequence had an invalid " +
         "number of elements (expected 0, 1, or or 2, got %d).");
         "number of elements (expected 0, 1, or or 2, got %d)");
    registerMessage(MSGID_LDAP_INTERMEDIATE_RESPONSE_CANNOT_DECODE_OID,
                    "An error occurred while attempting to decode the " +
                    "intermediate response OID:  %s.");
                    "intermediate response OID:  %s");
    registerMessage(MSGID_LDAP_INTERMEDIATE_RESPONSE_CANNOT_DECODE_VALUE,
                    "An error occurred while attempting to decode the " +
                    "intermediate response value:  %s.");
                    "intermediate response value:  %s");
    registerMessage(MSGID_LDAP_INTERMEDIATE_RESPONSE_INVALID_ELEMENT_TYPE,
                    "The intermediate response sequence element contained " +
                    "an invalid BER type %s that was not appropriate for " +
                    "either the OID or the value.");
                    "either the OID or the value");
    registerMessage(MSGID_MVFILTER_INVALID_LDAP_FILTER_TYPE,
                    "The provided LDAP filter \"%s\" cannot be used as a " +
                    "matched values filter because filters of type %s are " +
                    "not allowed for use in matched values filters.");
                    "not allowed for use in matched values filters");
    registerMessage(MSGID_MVFILTER_INVALID_DN_ATTRIBUTES_FLAG,
                    "The provided LDAP filter \"%s\" cannot be used as a " +
                    "matched values filter because it is an extensible " +
                    "match filter that contains the dnAttributes flag, which " +
                    "is not allowed for matched values filters.");
                    "is not allowed for matched values filters");
    registerMessage(MSGID_MVFILTER_INVALID_AVA_SEQUENCE_SIZE,
                    "The provided matched values filter could not be decoded " +
                    "because there were an invalid number of elements in the " +
                    "attribute value assertion (expected 2, got %d).");
                    "attribute value assertion (expected 2, got %d)");
    registerMessage(MSGID_MVFILTER_CANNOT_DECODE_AVA,
                    "An error occurred while attempting to decode the " +
                    "attribute value assertion in the provided matched " +
                    "values filter:  %s.");
                    "values filter:  %s");
    registerMessage(MSGID_MVFILTER_INVALID_SUBSTRING_SEQUENCE_SIZE,
                    "The provided matched values filter could not be decoded " +
                    "because there were an invalid number of elements " +
                    "in the substring sequence (expected 2, got %d).");
                    "in the substring sequence (expected 2, got %d)");
    registerMessage(MSGID_MVFILTER_NO_SUBSTRING_ELEMENTS,
                    "The provided matched values filter could not be decoded " +
                    "because there were no subInitial, subAny, or subFinal " +
                    "components in the substring filter.");
                    "components in the substring filter");
    registerMessage(MSGID_MVFILTER_MULTIPLE_SUBINITIALS,
                    "The provided matched values filter could not be decoded " +
                    "because there were multiple subInitial components in " +
                    "the substring filter.");
                    "the substring filter");
    registerMessage(MSGID_MVFILTER_MULTIPLE_SUBFINALS,
                    "The provided matched values filter could not be decoded " +
                    "because there were multiple subFinal components in " +
                    "the substring filter.");
                    "the substring filter");
    registerMessage(MSGID_MVFILTER_INVALID_SUBSTRING_ELEMENT_TYPE,
                    "The provided matched values filter could not be decoded " +
                    "because there was an invalid element of type %s in the " +
                    "substring filter.");
                    "substring filter");
    registerMessage(MSGID_MVFILTER_CANNOT_DECODE_SUBSTRINGS,
                    "The provided matched values filter could not be decoded " +
                    "because an error occurred while decoding the " +
                    "substring filter component:  %s.");
                    "substring filter component:  %s");
    registerMessage(MSGID_MVFILTER_CANNOT_DECODE_PRESENT_TYPE,
                    "The provided matched values filter could not be decoded " +
                    "because an error occurred while decoding the presence " +
                    "filter component:  %s.");
                    "filter component:  %s");
    registerMessage(MSGID_MVFILTER_INVALID_EXTENSIBLE_SEQUENCE_SIZE,
                    "The provided matched values filter could not be decoded " +
                    "because there were an invalid number of elements in the " +
                    "extensible match sequence (expected 2 or 3, found %d).");
                    "extensible match sequence (expected 2 or 3, found %d)");
    registerMessage(MSGID_MVFILTER_MULTIPLE_MATCHING_RULE_IDS,
                    "The provided matched values filter could not be decoded " +
                    "because there were multiple matching rule ID elements " +
                    "found in the extensible match filter sequence.");
                    "found in the extensible match filter sequence");
    registerMessage(MSGID_MVFILTER_MULTIPLE_ATTRIBUTE_TYPES,
                    "The provided matched values filter could not be decoded " +
                    "because there were multiple attribute type elements " +
                    "found in the extensible match filter sequence.");
                    "found in the extensible match filter sequence");
    registerMessage(MSGID_MVFILTER_MULTIPLE_ASSERTION_VALUES,
                    "The provided matched values filter could not be decoded " +
                    "because there were multiple assertion value elements " +
                    "found in the extensible match filter sequence.");
                    "found in the extensible match filter sequence");
    registerMessage(MSGID_MVFILTER_INVALID_EXTENSIBLE_ELEMENT_TYPE,
                    "The provided matched values filter could not be decoded " +
                    "because there was an invalid element of type %s in the " +
                    "extensible match filter.");
                    "extensible match filter");
    registerMessage(MSGID_MVFILTER_CANNOT_DECODE_EXTENSIBLE_MATCH,
                    "The provided matched values filter could not be decoded " +
                    "because an error occurred while decoding the extensible " +
                    "match filter component:  %s.");
                    "match filter component:  %s");
    registerMessage(MSGID_MVFILTER_INVALID_ELEMENT_TYPE,
                    "The provided matched values filter could not be decoded " +
                    "because it had an invalid BER type of %s.");
                    "because it had an invalid BER type of %s");
    registerMessage(MSGID_MATCHEDVALUES_NO_CONTROL_VALUE,
                    "Cannot decode the provided matched values control "+
                    "because it does not have a value.");
                    "because it does not have a value");
    registerMessage(MSGID_MATCHEDVALUES_CANNOT_DECODE_VALUE_AS_SEQUENCE,
                    "Cannot decode the provided matched values control " +
                    "because an error occurred while attempting to decode " +
                    "the value as an ASN.1 sequence:  %s.");
                    "the value as an ASN.1 sequence:  %s");
    registerMessage(MSGID_MATCHEDVALUES_NO_FILTERS,
                    "Cannot decode the provided matched values control " +
                    "because the control value does not specify any filters " +
                    "for use in matching attribute values.");
                    "for use in matching attribute values");
    registerMessage(MSGID_PWEXPIRED_CONTROL_HAS_VALUE,
                    "Cannot decode the provided control as a password " +
                    "expired control because the provided control had a " +
                    "value but the password expired control should not have " +
                    "a value.");
                    "a value");
    registerMessage(MSGID_PWEXPIRING_NO_CONTROL_VALUE,
                    "Cannot decode the provided password expiring control "+
                    "because it does not have a value.");
                    "because it does not have a value");
    registerMessage(MSGID_PWEXPIRING_CANNOT_DECODE_SECONDS_UNTIL_EXPIRATION,
                    "Cannot decode the provided control as a password " +
                    "expiring control because an error occurred while " +
                    "attempting to decode the number of seconds until " +
                    "expiration:  %s.");
                    "expiration:  %s");
    registerMessage(MSGID_JMX_CONNHANDLER_DESCRIPTION_LISTEN_PORT,
@@ -6134,83 +6134,83 @@
            "may accept administrative connections.  Changes to this " +
            "configuration attribute will not take effect until the " +
            "connection handler is disabled and re-enabled, or until " +
            "the Directory Server is restarted.");
            "the Directory Server is restarted");
    registerMessage(MSGID_JMX_CONNHANDLER_NO_LISTEN_PORT,
            "No listen port was defined using configuration " +
            ATTR_LISTEN_PORT + " in configuration entry %s.  This is " +
            "a required attribute.");
            "a required attribute");
    registerMessage(MSGID_JMX_CONNHANDLER_CANNOT_DETERMINE_LISTEN_PORT,
            "An unexpected error occurred while processing the " +
            ATTR_LISTEN_PORT + " attribute in configuration entry " +
            "%s, which is used to specify the port on which to " +
            "listen for client connections:  %s.");
            "listen for client connections:  %s");
    registerMessage(MSGID_JMX_CONNHANDLER_DESCRIPTION_USE_SSL,
            "Indicates whether this connection handler should use " +
            "SSL when accepting connections from clients.  Changes " +
            "to this configuration attribute will not take effect " +
            "until the connection handler is disabled and " +
            "re-enabled, or until the Directory Server is restarted.");
            "re-enabled, or until the Directory Server is restarted");
    registerMessage(MSGID_JMX_CONNHANDLER_CANNOT_DETERMINE_USE_SSL,
            "An unexpected error occurred while processing the " +
            ATTR_USE_SSL + " attribute in configuration entry %s, " +
            "which is used to indicate whether to use SSL when " +
            "accepting client connections:  %s.");
            "accepting client connections:  %s");
    registerMessage(MSGID_JMX_CONNHANDLER_DESCRIPTION_SSL_CERT_NICKNAME,
            "Specifies the nickname of the certificate that the " +
            "connection handler should use when accepting SSL-based " +
            "connections or performing StartTLS negotiation.  " +
            "Changes to this configuration attribute will not take " +
            "effect until the connection handler is disabled and " +
            "re-enabled, or until the Directory Server is restarted.");
            "re-enabled, or until the Directory Server is restarted");
    registerMessage(MSGID_JMX_CONNHANDLER_CANNOT_DETERMINE_SSL_CERT_NICKNAME,
            "An unexpected error occurred while processing the " +
            ATTR_SSL_CERT_NICKNAME + " attribute in configuration " +
            "entry %s, which is used to specify the nickname of the " +
            "certificate to use for accepting SSL/TSL connections:  " +
            "%s.");
            "%s");
    registerMessage(MSGID_JMX_CONNHANDLER_DESCRIPTION_KEYMANAGER_DN,
            "Specifies the DN of the key manager provider that the " +
            "connection handler should use when accepting SSL-based " +
            "connections or performing StartTLS negotiation.  " +
            "Changes to this configuration attribute will take effect " +
            "immediately.");
            "immediately");
    registerMessage(MSGID_JMX_CONNHANDLER_INVALID_KEYMANAGER_DN,
            "An error occurred while processing the " + ATTR_KEYMANAGER_DN +
            " attribute in configuration entry %s, because the provided " +
            "key manager DN %s does not refer to an enabled key manager " +
            "provider.");
            "provider");
    registerMessage(MSGID_JMX_CONNHANDLER_CANNOT_DETERMINE_KEYMANAGER_DN,
            "An unexpected error occurred while processing the " +
            ATTR_KEYMANAGER_DN + " attribute in configuration " +
            "entry %s, which is used to specify the DN of the key manager " +
            "provider to use for accepting SSL/TSL connections:  %s.");
            "provider to use for accepting SSL/TSL connections:  %s");
    registerMessage(MSGID_PWPOLICYREQ_CONTROL_HAS_VALUE,
                    "Cannot decode the provided control as a password policy " +
                    "request control because the provided control had a " +
                    "value but the password policy request control should " +
                    "not have a value.");
                    "not have a value");
    registerMessage(MSGID_PWPOLICYRES_NO_CONTROL_VALUE,
                    "Cannot decode the provided password policy response " +
                    "control because it does not have a value.");
                    "control because it does not have a value");
    registerMessage(MSGID_PWPOLICYRES_INVALID_WARNING_TYPE,
                    "Cannot decode the provided password policy response " +
                    "control because the warning element has an invalid " +
                    "type of %s.");
                    "type of %s");
    registerMessage(MSGID_PWPOLICYRES_INVALID_ERROR_TYPE,
                    "Cannot decode the provided password policy response " +
                    "control because the error element has an invalid type " +
                    "of %d.");
                    "of %d");
    registerMessage(MSGID_PWPOLICYRES_INVALID_ELEMENT_TYPE,
                    "Cannot decode the provided password policy response " +
                    "control because the value sequence has an element with " +
                    "an invalid type of %s.");
                    "an invalid type of %s");
    registerMessage(MSGID_PWPOLICYRES_DECODE_ERROR,
                    "Cannot decode the provided password policy response " +
                    "control:  %s.");
                    "control:  %s");
    registerMessage(MSGID_PWPERRTYPE_DESCRIPTION_PASSWORD_EXPIRED,
@@ -6243,32 +6243,32 @@
                    "Cannot decode the provided control as an account " +
                    "availability request control because the provided " +
                    "control had a value but the account availability " +
                    "request control should not have a value.");
                    "request control should not have a value");
    registerMessage(MSGID_ACCTUSABLERES_NO_CONTROL_VALUE,
                    "Cannot decode the provided account availability " +
                    "response control because it does not have a value.");
                    "response control because it does not have a value");
    registerMessage(MSGID_ACCTUSABLERES_UNKNOWN_UNAVAILABLE_TYPE,
                    "The account availability response control indicated " +
                    "that the account was unavailable but had an unknown " +
                    "unavailable element type of %s.");
                    "unavailable element type of %s");
    registerMessage(MSGID_ACCTUSABLERES_UNKNOWN_VALUE_ELEMENT_TYPE,
                    "The account availability response control had an " +
                    "unknown ACCOUNT_USABLE_RESPONSE element type of %s.");
                    "unknown ACCOUNT_USABLE_RESPONSE element type of %s");
    registerMessage(MSGID_ACCTUSABLERES_DECODE_ERROR,
            "Cannot decode the provided account availability " +
            "response control:  %s.");
            "response control:  %s");
    registerMessage(MSGID_ADDRESSMASK_PREFIX_DECODE_ERROR,
            "Cannot decode the provided address mask prefix because an" +
            "invalid value was specified. The permitted values for IPv4" +
            "are 0 to32 and for IPv6 0 to128");
    registerMessage(MSGID_ADDRESSMASK_WILDCARD_DECODE_ERROR,
            "Cannot decode the provided address mask because an prefix mask"+
            "was specified with an wild card \"*\" match character.");
            "was specified with an wild card \"*\" match character");
    registerMessage(MSGID_ADDRESSMASK_FORMAT_DECODE_ERROR,
            "Cannot decode the provided address mask because the it has an" +
            "invalid format.");
            "invalid format");
  }
}
opends/src/server/org/opends/server/messages/SchemaMessages.java
@@ -3125,129 +3125,129 @@
                    "Unable to retrieve approximate matching rule %s used as " +
                    "the default for the %s attribute syntax.  Approximate " +
                    "matching will not be allowed by default for attributes " +
                    "with this syntax.");
                    "with this syntax");
    registerMessage(MSGID_ATTR_SYNTAX_UNKNOWN_EQUALITY_MATCHING_RULE,
                    "Unable to retrieve equality matching rule %s used as " +
                    "the default for the %s attribute syntax.  Equality " +
                    "matching will not be allowed by default for attributes " +
                    "with this syntax.");
                    "with this syntax");
    registerMessage(MSGID_ATTR_SYNTAX_UNKNOWN_ORDERING_MATCHING_RULE,
                    "Unable to retrieve ordering matching rule %s used as " +
                    "the default for the %s attribute syntax.  Ordering " +
                    "matches will not be allowed by default for attributes " +
                    "with this syntax.");
                    "with this syntax");
    registerMessage(MSGID_ATTR_SYNTAX_UNKNOWN_SUBSTRING_MATCHING_RULE,
                    "Unable to retrieve substring matching rule %s used as " +
                    "the default for the %s attribute syntax.  Substring " +
                    "matching will not be allowed by default for attributes " +
                    "with this syntax.");
                    "with this syntax");
    registerMessage(MSGID_ATTR_SYNTAX_ILLEGAL_BOOLEAN,
                    "The provided value %s is not allowed for attributes " +
                    "with a Boolean syntax.  The only allowed values are " +
                    "'TRUE' and 'FALSE'.");
                    "'TRUE' and 'FALSE'");
    registerMessage(MSGID_ATTR_SYNTAX_BIT_STRING_TOO_SHORT,
                    "The provided value %s is too short to be a valid bit " +
                    "string.  A bit string must be a series of binary digits " +
                    "surrounded by single quotes and followed by a capital " +
                    "letter B.");
                    "letter B");
    registerMessage(MSGID_ATTR_SYNTAX_BIT_STRING_NOT_QUOTED,
                    "The provided value %s is not a valid bit string because " +
                    "it is not surrounded by single quotes and followed by a " +
                    "capital letter B.");
                    "capital letter B");
    registerMessage(MSGID_ATTR_SYNTAX_BIT_STRING_INVALID_BIT,
                    "The provided value %s is not a valid bit string because " +
                    "%s is not a valid binary digit.");
                    "%s is not a valid binary digit");
    registerMessage(MSGID_ATTR_SYNTAX_COUNTRY_STRING_INVALID_LENGTH,
                    "The provided value %s is not a valid country string " +
                    "because the length is not exactly two characters.");
                    "because the length is not exactly two characters");
    registerMessage(MSGID_ATTR_SYNTAX_COUNTRY_STRING_NOT_PRINTABLE,
                    "The provided value %s is not a valid country string " +
                    "because it contains one or more non-printable " +
                    "characters.");
                    "characters");
    registerMessage(MSGID_ATTR_SYNTAX_DELIVERY_METHOD_NO_ELEMENTS,
                    "The provided value %s is not a valid delivery method " +
                    "value because it does not contain any elements.");
                    "value because it does not contain any elements");
    registerMessage(MSGID_ATTR_SYNTAX_DELIVERY_METHOD_INVALID_ELEMENT,
                    "The provided value %s is not a valid delivery method " +
                    "value because %s is not a valid method.");
                    "value because %s is not a valid method");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_TOO_SHORT,
                    "The provided value %s is too short to be a valid " +
                    "generalized time value.");
                    "generalized time value");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_YEAR,
                    "The provided value %s is not a valid generalized time " +
                    "value because the %s character is not allowed in the " +
                    "century or year specification.");
                    "century or year specification");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_MONTH,
                    "The provided value %s is not a valid generalized time " +
                    "value because %s is not a valid month specification.");
                    "value because %s is not a valid month specification");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_DAY,
                    "The provided value %s is not a valid generalized time " +
                    "value because %s is not a valid day specification.");
                    "value because %s is not a valid day specification");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_HOUR,
                    "The provided value %s is not a valid generalized time " +
                    "value because %s is not a valid hour specification.");
                    "value because %s is not a valid hour specification");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_MINUTE,
                    "The provided value %s is not a valid generalized time " +
                    "value because %s is not a valid minute specification.");
                    "value because %s is not a valid minute specification");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_SECOND,
                    "The provided value %s is not a valid generalized time " +
                    "value because %s is not a valid second specification.");
                    "value because %s is not a valid second specification");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_SUBSECOND,
                    "The provided value %s is not a valid generalized time " +
                    "value because the sub-second component is not valid " +
                    "(between 1 and 3 numeric digits).");
                    "(between 1 and 3 numeric digits)");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_LONG_SUBSECOND,
                    "The provided value %s is not a valid generalized time " +
                    "value because the sub-second value may not contain more " +
                    "than three digits.");
                    "than three digits");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET,
                    "The provided value %s is not a valid generalized time " +
                    "value because %s is not a valid GMT offset.");
                    "value because %s is not a valid GMT offset");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR,
                    "The provided value %s is not a valid generalized time " +
                    "value because it contains an invalid character %s at " +
                    "position %d.");
                    "position %d");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_CANNOT_PARSE,
                    "The provided value %s could not be parsed as a valid " +
                    "generalized time:  %s.");
                    "generalized time:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_NORMALIZE_FAILURE,
                    "An unexpected error occurred while trying to normalize " +
                    "value %s as a generalized time value:  %s.");
                    "value %s as a generalized time value:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_FRACTION_CHAR,
                    "The provided value %s is not a valid generalized time " +
                    "value because it contains illegal character %s in the " +
                    "fraction component.");
                    "fraction component");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_EMPTY_FRACTION,
                    "The provided value %s is not a valid generalized time " +
                    "value because it does not contain at least one digit " +
                    "after the period to use as the fractional component.");
                    "after the period to use as the fractional component");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_NO_TIME_ZONE_INFO,
                    "The provided value %s is not a valid generalized time " +
                    "value because it does not end with 'Z' or a time zone " +
                    "offset.");
                    "offset");
    registerMessage(MSGID_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME,
                    "The provided value %s is not a valid generalized time " +
                    "value because it represents an invalid time (e.g., a " +
                    "date that does not exist):  %s.");
                    "date that does not exist):  %s");
    registerMessage(MSGID_ATTR_SYNTAX_DN_INVALID,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name:  %s.");
                    "distinguished name:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_DN_END_WITH_COMMA,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the last non-space character " +
                    "was a comma or semicolon.");
                    "was a comma or semicolon");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_START_WITH_DIGIT,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because numeric digit %s is not " +
@@ -3255,296 +3255,296 @@
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_ILLEGAL_CHAR,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because character %s at position %d " +
                    "is not allowed in an attribute name.");
                    "is not allowed in an attribute name");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_ILLEGAL_UNDERSCORE_CHAR,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the underscore character is " +
                    "not allowed in an attribute name unless the %s " +
                    " configuration option is enabled.");
                    " configuration option is enabled");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_ILLEGAL_INITIAL_DASH,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the hyphen character is not " +
                    "allowed as the first character of an attribute name.");
                    "allowed as the first character of an attribute name");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_ILLEGAL_INITIAL_UNDERSCORE,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the underscore character is " +
                    "not allowed as the first character of an attribute name " +
                    "even if the %s configuration option is enabled.");
                    "even if the %s configuration option is enabled");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_ILLEGAL_INITIAL_DIGIT,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the digit %s is not allowed " +
                    "allowed as the first character of an attribute name " +
                    "unless the name is specified as an OID or the %s " +
                    " configuration option is enabled.");
                    " configuration option is enabled");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_NO_NAME,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because it contained an RDN " +
                    "containing an empty attribute name.");
                    "containing an empty attribute name");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_ILLEGAL_PERIOD,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the parsed attribute name %s " +
                    "included a period but that name did not appear to be a " +
                    "valid OID.");
                    "valid OID");
    registerMessage(MSGID_ATTR_SYNTAX_DN_END_WITH_ATTR_NAME,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the last non-space character " +
                    "was part of the attribute name %s.");
                    "was part of the attribute name %s");
    registerMessage(MSGID_ATTR_SYNTAX_DN_NO_EQUAL,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because the next non-space character " +
                    "after attribute name %s should have been an equal sign " +
                    "but instead was %s.");
                    "but instead was %s");
    registerMessage(MSGID_ATTR_SYNTAX_DN_INVALID_CHAR,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because character %s at position %d " +
                    "is not valid.");
                    "is not valid");
    registerMessage(MSGID_ATTR_SYNTAX_DN_HEX_VALUE_TOO_SHORT,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because an attribute value started " +
                    "with an octothorpe (#) but was not followed by a " +
                    "positive multiple of two hexadecimal digits.");
                    "positive multiple of two hexadecimal digits");
    registerMessage(MSGID_ATTR_SYNTAX_DN_INVALID_HEX_DIGIT,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because an attribute value started " +
                    "with an octothorpe (#) but contained a character %s " +
                    "that was not a valid hexadecimal digit.");
                    "that was not a valid hexadecimal digit");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ATTR_VALUE_DECODE_FAILURE,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because an unexpected failure " +
                    "occurred while attempting to parse an attribute value " +
                    "from one of the RDN components:  %s.");
                    "from one of the RDN components:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_DN_UNMATCHED_QUOTE,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because one of the RDN components " +
                    "included a quoted value that did not have a " +
                    "corresponding closing quotation mark.");
                    "corresponding closing quotation mark");
    registerMessage(MSGID_ATTR_SYNTAX_DN_ESCAPED_HEX_VALUE_INVALID,
                    "The provided value %s could not be parsed as a valid " +
                    "distinguished name because one of the RDN components " +
                    "included a value with an escaped hexadecimal digit that " +
                    "was not followed by a second hexadecimal digit.");
                    "was not followed by a second hexadecimal digit");
    registerMessage(MSGID_ATTR_SYNTAX_INTEGER_INITIAL_ZERO,
                    "The provided value %s could not be parsed as a valid " +
                    "integer because the first digit may not be zero unless " +
                    "it is the only digit.");
                    "it is the only digit");
    registerMessage(MSGID_ATTR_SYNTAX_INTEGER_MISPLACED_DASH,
                    "The provided value %s could not be parsed as a valid " +
                    "integer because the dash may only appear if it is the " +
                    "first character of the value followed by one or more " +
                    "digits.");
                    "digits");
    registerMessage(MSGID_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER,
                    "The provided value %s could not be parsed as a valid " +
                    "integer because character %s at position %d is not " +
                    "allowed in an integer value.");
                    "allowed in an integer value");
    registerMessage(MSGID_ATTR_SYNTAX_INTEGER_EMPTY_VALUE,
                    "The provided value %s could not be parsed as a valid " +
                    "integer because it did not contain any digits.");
                    "integer because it did not contain any digits");
    registerMessage(MSGID_ATTR_SYNTAX_INTEGER_DASH_NEEDS_VALUE,
                    "The provided value %s could not be parsed as a valid " +
                    "integer because it contained only a dash not followed " +
                    "by an integer value.");
                    "by an integer value");
    registerMessage(MSGID_ATTR_SYNTAX_ILLEGAL_INTEGER,
                    "The provided value %s is not allowed for attributes " +
                    "with a Integer syntax.");
                    "with a Integer syntax");
    registerMessage(MSGID_ATTR_SYNTAX_OID_NO_VALUE,
                    "The provided value could not be parsed as a valid OID " +
                    "because it did not contain any characters.");
                    "because it did not contain any characters");
    registerMessage(MSGID_ATTR_SYNTAX_OID_ILLEGAL_CHARACTER,
                    "The provided value %s could not be parsed as a valid " +
                    "OID because it had an illegal character at position %d.");
                    "OID because it had an illegal character at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OID_CONSECUTIVE_PERIODS,
                    "The provided value %s could not be parsed as a valid " +
                    "OID because it had two consecutive periods at or near " +
                    "position %d.");
                    "position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OID_ENDS_WITH_PERIOD,
                    "The provided value %s could not be parsed as a valid " +
                    "OID because it ends with a period.");
                    "OID because it ends with a period");
    registerMessage(MSGID_ATTR_SYNTAX_OID_INVALID_VALUE,
                    "The provided value %s could not be parsed as a valid " +
                    "OID:  %s.");
                    "OID:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid " +
                    "attribute type description because it was empty or " +
                    "contained only whitespace.");
                    "contained only whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because an open parenthesis " +
                    "was expected at position %d but instead a '%s' " +
                    "character was found.");
                    "character was found");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because the end of the " +
                    "value was encountered while the Directory Server " +
                    "expected more data to be provided.");
                    "expected more data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because the numeric OID " +
                    "contained two consecutive periods at position %d.");
                    "contained two consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because the numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because the non-numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because it contained an " +
                    "illegal character %s at position %d.");
                    "illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because it contained an " +
                    "unexpected closing parenthesis at position %d.");
                    "unexpected closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_EXPECTED_QUOTE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because a single quote was " +
                    "expected as the first non-blank character following " +
                    "token %s.  However, the character %s was found instead.");
                    "token %s.  However, the character %s was found instead");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_SUPERIOR_TYPE,
                    "The definition for the attribute type with OID %s " +
                    "declared a superior type with an OID of %s.  No " +
                    "attribute type with this OID exists in the server " +
                    "schema.");
                    "schema");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_APPROXIMATE_MR,
                    "The definition for the attribute type with OID %s " +
                    "declared that approximate matching should be performed " +
                    "using the matching rule \"%s\".  No such approximate " +
                    "matching rule is configured for use in the Directory " +
                    "Server.");
                    "Server");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_EQUALITY_MR,
                    "The definition for the attribute type with OID %s " +
                    "declared that equality matching should be performed " +
                    "using the matching rule \"%s\".  No such equality " +
                    "matching rule is configured for use in the Directory " +
                    "Server.");
                    "Server");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_ORDERING_MR,
                    "The definition for the attribute type with OID %s " +
                    "declared that ordering matching should be performed " +
                    "using the matching rule \"%s\".  No such ordering " +
                    "matching rule is configured for use in the Directory " +
                    "Server.");
                    "Server");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_SUBSTRING_MR,
                    "The definition for the attribute type with OID %s " +
                    "declared that substring matching should be performed " +
                    "using the matching rule \"%s\".  No such substring " +
                    "matching rule is configured for use in the Directory " +
                    "Server.");
                    "Server");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_SYNTAX,
                    "The definition for the attribute type with OID %s " +
                    "declared that it should have a syntax with OID %s.  No " +
                    "such syntax is configured for use in the Directory " +
                    "Server.");
                    "Server");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_INVALID_ATTRIBUTE_USAGE,
                    "The definition for the attribute type with OID %s " +
                    "declared that it should have an attribute usage of " +
                    "%s.  This is an invalid usage.");
                    "%s.  This is an invalid usage");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_INVALID_SUPERIOR_USAGE,
                    "The definition for attribute type %s is invalid because " +
                    "its attribute usage %s is not the same as the usage for " +
                    "its superior type %s.");
                    "its superior type %s");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_COLLECTIVE_FROM_NONCOLLECTIVE,
                    "The definition for attribute type %s is invalid because " +
                    "it is defined as a collective type but the superior " +
                    "type %s is not collective.");
                    "type %s is not collective");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_NONCOLLECTIVE_FROM_COLLECTIVE,
                    "The definition for attribute type %s is invalid because " +
                    "it is not defined as a collective type but the superior " +
                    "type %s is collective.");
                    "type %s is collective");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_COLLECTIVE_IS_OPERATIONAL,
                    "The definition for attribute type %s is invalid because " +
                    "it is declared COLLECTIVE but does not have a usage " +
                    "of userApplications.");
                    "of userApplications");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_NO_USER_MOD_NOT_OPERATIONAL,
                    "The definition for attribute type %s is invalid because " +
                    "it is declared NO-USER-MODIFICATION but does not have " +
                    "an operational usage.");
                    "an operational usage");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRTYPE_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute type description because a single quote was " +
                    "expected at position %d but the character %s was found " +
                    "instead.");
                    "instead");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid " +
                    "objectclass description because it was empty or " +
                    "contained only whitespace.");
                    "contained only whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because an open parenthesis was " +
                    "expected at position %d but instead a '%s' character " +
                    "was found.");
                    "was found");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because the end of the value " +
                    "was encountered while the Directory Server expected " +
                    "more data to be provided.");
                    "more data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because the numeric OID " +
                    "contained two consecutive periods at position %d.");
                    "contained two consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because the numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because the non-numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because it contained an illegal " +
                    "character %s at position %d.");
                    "character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because it contained an " +
                    "unexpected closing parenthesis at position %d.");
                    "unexpected closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_EXPECTED_QUOTE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because a single quote was " +
                    "expected as the first non-blank character following " +
                    "token %s.  However, the character %s was found instead.");
                    "token %s.  However, the character %s was found instead");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_SUPERIOR_CLASS,
                    "The definition for the objectclass with OID %s declared " +
                    "a superior objectclass with an OID of %s.  No " +
                    "objectclass with this OID exists in the server schema.");
                    "objectclass with this OID exists in the server schema");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "objectclass description because a single quote was " +
                    "expected at position %d but the character %s was found " +
                    "instead.");
                    "instead");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_REQUIRED_ATTR,
                    "The definition for the objectclass with OID %s declared " +
                    "that it should include required attribute \"%s\".  No " +
                    "attribute type matching this name or OID exists in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_OPTIONAL_ATTR,
                    "The definition for the objectclass with OID %s declared " +
                    "that it should include optional attribute \"%s\".  No " +
                    "attribute type matching this name or OID exists in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_INVALID_SUPERIOR_TYPE,
                    "The definition for objectclass %s is invalid because it " +
                    "has an objectclass type of %s but this is incompatible " +
                    "with the objectclass type %s for the superior class %s.");
                    "with the objectclass type %s for the superior class %s");
    registerMessage(MSGID_ATTR_SYNTAX_OBJECTCLASS_STRUCTURAL_SUPERIOR_NOT_TOP,
                    "The definition for objectclass %s is invalid because " +
                    "it is defined as a structural class but its superior " +
                    "chain does not include the \"top\" objectclass.");
                    "chain does not include the \"top\" objectclass");
    registerMessage(MSGID_ATTR_SYNTAX_IA5_ILLEGAL_CHARACTER,
                    "The provided value \"%s\" cannot be parsed as a valid " +
                    "IA5 string because it contains an illegal character " +
                    "\"%s\" that is not allowed in the IA5 (ASCII) character " +
                    "set.");
                    "set");
    registerMessage(MSGID_ATTR_SYNTAX_TELEPHONE_DESCRIPTION_STRICT_MODE,
@@ -3554,652 +3554,652 @@
                    "enabled, then any value not in this format will be " +
                    "rejected.  If this is disabled, then any value will " +
                    "be accepted, but only the digits will be considered " +
                    "when performing matching.");
                    "when performing matching");
    registerMessage(MSGID_ATTR_SYNTAX_TELEPHONE_CANNOT_DETERMINE_STRICT_MODE,
                    "An error occurred while trying to retrieve attribute " +
                    ATTR_TELEPHONE_STRICT_MODE + " from configuration entry " +
                    "%s:  %s.  The Directory Server will not enforce strict " +
                    "compliance to the ITU-T E.123 format for telephone " +
                    "number values.");
                    "number values");
    registerMessage(MSGID_ATTR_SYNTAX_TELEPHONE_EMPTY,
                    "The provided value is not a valid telephone number " +
                    "because it is empty or null.");
                    "because it is empty or null");
    registerMessage(MSGID_ATTR_SYNTAX_TELEPHONE_NO_PLUS,
                    "The provided value \"%s\" is not a valid telephone " +
                    "number because strict telephone number checking is " +
                    "enabled and the value does not start with a plus sign " +
                    "in compliance with the ITU-T E.123 specification.");
                    "in compliance with the ITU-T E.123 specification");
    registerMessage(MSGID_ATTR_SYNTAX_TELEPHONE_ILLEGAL_CHAR,
                    "The provided value \"%s\" is not a valid telephone " +
                    "number because strict telephone number checking is " +
                    "enabled and the character %s at position %d is not " +
                    "allowed by the ITU-T E.123 specification.");
                    "allowed by the ITU-T E.123 specification");
    registerMessage(MSGID_ATTR_SYNTAX_TELEPHONE_NO_DIGITS,
                    "The provided value \"%s\" is not a valid telephone " +
                    "number because it does not contain any numeric digits.");
                    "number because it does not contain any numeric digits");
    registerMessage(MSGID_ATTR_SYNTAX_TELEPHONE_UPDATED_STRICT_MODE,
                    "The value of configuration attribute " +
                    ATTR_TELEPHONE_STRICT_MODE + ", which indicates whether " +
                    "to use strict telephone number syntax checking, has " +
                    "been updated to %s in configuration entry %s.");
                    "been updated to %s in configuration entry %s");
    registerMessage(MSGID_ATTR_SYNTAX_NUMERIC_STRING_ILLEGAL_CHAR,
                    "The provided value \"%s\" is not a valid numeric string " +
                    "because it contained character %s at position %d that " +
                    "was neither a digit nor a space.");
                    "was neither a digit nor a space");
    registerMessage(MSGID_ATTR_SYNTAX_NUMERIC_STRING_EMPTY_VALUE,
                    "The provided value is not a valid numeric string " +
                    "because it did not contain any characters.  A numeric " +
                    "string value must contain at least one numeric digit " +
                    "or space.");
                    "or space");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid " +
                    "attribute syntax description because it was empty or " +
                    "contained only whitespace.");
                    "contained only whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because an open " +
                    "parenthesis was expected at position %d but instead a " +
                    "'%s' character was found.");
                    "'%s' character was found");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because the end of the " +
                    "value was encountered while the Directory Server " +
                    "expected more data to be provided.");
                    "expected more data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because the numeric OID " +
                    "contained two consecutive periods at position %d.");
                    "contained two consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because the numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because the non-numeric " +
                    "OID contained an illegal character %s at position %d.");
                    "OID contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because it contained an " +
                    "unexpected closing parenthesis at position %d.");
                    "unexpected closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_CANNOT_READ_DESC_TOKEN,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because an unexpected " +
                    "error occurred while trying to read the \"DESC\" token " +
                    "from the string at or near position %d:  %s.");
                    "from the string at or near position %d:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_TOKEN_NOT_DESC,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because the \"DESC\" token " +
                    "was expected but the string \"%s\" was found instead.");
                    "was expected but the string \"%s\" was found instead");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_CANNOT_READ_DESC_VALUE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because an unexpected " +
                    "error occurred while trying to read the value of the " +
                    "\"DESC\" token from the string at or near position %d:  " +
                    "%s.");
                    "%s");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_EXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because a close " +
                    "parenthesis was expected at position %d but instead a " +
                    "'%s' character was found.");
                    "'%s' character was found");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_ILLEGAL_CHAR_AFTER_CLOSE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because an illegal " +
                    "character %s was found at position %d after the close " +
                    "parenthesis.");
                    "parenthesis");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as an " +
                    "attribute syntax description because a single quote was " +
                    "expected at position %d but the character %s was found " +
                    "instead.");
                    "instead");
    registerMessage(MSGID_ATTR_SYNTAX_PRINTABLE_STRING_EMPTY_VALUE,
                    "The provided value could not be parsed as a printable " +
                    "string because it was null or empty.  A printable " +
                    "string must contain at least one character.");
                    "string must contain at least one character");
    registerMessage(MSGID_ATTR_SYNTAX_PRINTABLE_STRING_ILLEGAL_CHARACTER,
                    "The provided value \"%s\" could not be parsed as a " +
                    "printable string because it contained an invalid " +
                    "character %s at position %d.");
                    "character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_SUBSTRING_ONLY_WILDCARD,
                    "The provided value \"*\" could not be parsed as a " +
                    "substring assertion because it consists only of a " +
                    "wildcard character and zero-length substrings are not " +
                    "allowed.");
                    "allowed");
    registerMessage(MSGID_ATTR_SYNTAX_SUBSTRING_CONSECUTIVE_WILDCARDS,
                    "The provided value \"%s\" could not be parsed as a " +
                    "substring assertion because it contains consecutive " +
                    "wildcard characters at position %d and zero-length " +
                    "substrings are not allowed.");
                    "substrings are not allowed");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_TOO_SHORT,
                    "The provided value %s is too short to be a valid UTC " +
                    "time value.");
                    "time value");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_YEAR,
                    "The provided value %s is not a valid UTC time value " +
                    "because the %s character is not allowed in the century " +
                    "or year specification.");
                    "or year specification");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_MONTH,
                    "The provided value %s is not a valid UTC time value " +
                    "because %s is not a valid month specification.");
                    "because %s is not a valid month specification");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_DAY,
                    "The provided value %s is not a valid UTC time value " +
                    "because %s is not a valid day specification.");
                    "because %s is not a valid day specification");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_HOUR,
                    "The provided value %s is not a valid UTC time value " +
                    "because %s is not a valid hour specification.");
                    "because %s is not a valid hour specification");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_MINUTE,
                    "The provided value %s is not a valid UTC time value " +
                    "because %s is not a valid minute specification.");
                    "because %s is not a valid minute specification");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_CHAR,
                    "The provided value %s is not a valid UTC time value " +
                    "because it contains an invalid character %s at position " +
                    "%d.");
                    "%d");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_SECOND,
                    "The provided value %s is not a valid UTC time value " +
                    "because %s is not a valid second specification.");
                    "because %s is not a valid second specification");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_INVALID_OFFSET,
                    "The provided value %s is not a valid UTC time value " +
                    "because %s is not a valid GMT offset.");
                    "because %s is not a valid GMT offset");
    registerMessage(MSGID_ATTR_SYNTAX_UTC_TIME_CANNOT_PARSE,
                    "The provided value %s could not be parsed as a valid " +
                    "UTC time:  %s.");
                    "UTC time:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid DIT " +
                    "content rule description because it was empty or " +
                    "contained only whitespace.");
                    "contained only whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because an open parenthesis " +
                    "was expected at position %d but instead a '%s' " +
                    "character was found.");
                    "character was found");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because the end of the value " +
                    "was encountered while the Directory Server expected " +
                    "more data to be provided.");
                    "more data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because the numeric OID " +
                    "contained two consecutive periods at position %d.");
                    "contained two consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because the numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because the non-numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_UNKNOWN_STRUCTURAL_CLASS,
                    "The DIT content rule \"%s\" is associated with a " +
                    "structural objectclass %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_STRUCTURAL_CLASS_NOT_STRUCTURAL,
                    "The DIT content rule \"%s\" is associated with the " +
                    "objectclass with OID %s (%s).  This objectclass exists " +
                    "in the server schema but is defined as %s rather than " +
                    "structural.");
                    "structural");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because it contained an " +
                    "unexpected closing parenthesis at position %d.");
                    "unexpected closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because it contained an " +
                    "illegal character %s at position %d.");
                    "illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_UNKNOWN_AUXILIARY_CLASS,
                    "The DIT content rule \"%s\" is associated with an " +
                    "auxiliary objectclass %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_AUXILIARY_CLASS_NOT_AUXILIARY,
                    "The DIT content rule \"%s\" is associated with an " +
                    "auxiliary objectclass %s.  This objectclass exists " +
                    "in the server schema but is defined as %s rather than " +
                    "auxiliary.");
                    "auxiliary");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_UNKNOWN_REQUIRED_ATTR,
                    "The DIT content rule \"%s\" is associated with a " +
                    "required attribute type %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_UNKNOWN_OPTIONAL_ATTR,
                    "The DIT content rule \"%s\" is associated with an " +
                    "optional attribute type %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_UNKNOWN_PROHIBITED_ATTR,
                    "The DIT content rule \"%s\" is associated with a " +
                    "prohibited attribute type %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_PROHIBITED_REQUIRED_BY_STRUCTURAL,
                    "The DIT content rule \"%s\" is not valid because it " +
                    "prohibits the use of attribute type %s which is " +
                    "required by the associated structural object class %s.");
                    "required by the associated structural object class %s");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_PROHIBITED_REQUIRED_BY_AUXILIARY,
                    "The DIT content rule \"%s\" is not valid because it " +
                    "prohibits the use of attribute type %s which is " +
                    "required by the associated auxiliary object class %s.");
                    "required by the associated auxiliary object class %s");
    registerMessage(MSGID_ATTR_SYNTAX_DCR_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "content rule description because a single quote was " +
                    "expected at position %d but the %s character was found " +
                    "instead.");
                    "instead");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid name " +
                    "form description because it was empty or contained only " +
                    "whitespace.");
                    "whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because an open parenthesis was " +
                    "expected at position %d but instead a '%s' character " +
                    "was found.");
                    "was found");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because the end of the value was " +
                    "encountered while the Directory Server expected more " +
                    "data to be provided.");
                    "data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because the numeric OID contained two " +
                    "consecutive periods at position %d.");
                    "consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because the numeric OID contained an " +
                    "illegal character %s at position %d.");
                    "illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because the non-numeric OID contained " +
                    "an illegal character %s at position %d.");
                    "an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because it contained an unexpected " +
                    "closing parenthesis at position %d.");
                    "closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because it contained an illegal " +
                    "character %s at position %d.");
                    "character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_UNKNOWN_STRUCTURAL_CLASS,
                    "The name form description \"%s\" is associated with a " +
                    "structural objectclass %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_STRUCTURAL_CLASS_NOT_STRUCTURAL,
                    "The name form description \"%s\" is associated with the " +
                    "objectclass with OID %s (%s).  This objectclass exists " +
                    "in the server schema but is defined as %s rather than " +
                    "structural.");
                    "structural");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_UNKNOWN_REQUIRED_ATTR,
                    "The definition for the name form with OID %s declared " +
                    "that it should include required attribute \"%s\".  No " +
                    "attribute type matching this name or OID exists in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_UNKNOWN_OPTIONAL_ATTR,
                    "The definition for the name form with OID %s declared " +
                    "that it should include optional attribute \"%s\".  No " +
                    "attribute type matching this name or OID exists in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_NO_STRUCTURAL_CLASS,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because it does not specify the " +
                    "structural objectclass with which it is associated.");
                    "structural objectclass with which it is associated");
    registerMessage(MSGID_ATTR_SYNTAX_NAME_FORM_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as a name " +
                    "form description because a single quote was expected at " +
                    "position %d but the %s character was found instead.");
                    "position %d but the %s character was found instead");
    registerMessage(MSGID_ATTR_SYNTAX_MR_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid " +
                    "matching rule description because it was empty or " +
                    "contained only whitespace.");
                    "contained only whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_MR_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because an open parenthesis " +
                    "was expected at position %d but instead a '%s' " +
                    "character was found.");
                    "character was found");
    registerMessage(MSGID_ATTR_SYNTAX_MR_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because the end of the value " +
                    "was encountered while the Directory Server expected " +
                    "more data to be provided.");
                    "more data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_MR_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because the numeric OID " +
                    "contained two consecutive periods at position %d.");
                    "contained two consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MR_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because the numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MR_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because the non-numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MR_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because it contained an " +
                    "unexpected closing parenthesis at position %d.");
                    "unexpected closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MR_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because it contained an " +
                    "illegal character %s at position %d.");
                    "illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MR_UNKNOWN_SYNTAX,
                    "The matching rule description \"%s\" is associated with " +
                    "attribute syntax %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_MR_NO_SYNTAX,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because it does not specify " +
                    "the attribute syntax with which it is associated.");
                    "the attribute syntax with which it is associated");
    registerMessage(MSGID_ATTR_SYNTAX_MR_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because a single quote was " +
                    "expected at position %d but the %s character was found " +
                    "instead.");
                    "instead");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid " +
                    "matching rule use description because it was empty or " +
                    "contained only whitespace.");
                    "contained only whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because an open " +
                    "parenthesis was expected at position %d but instead a " +
                    "'%s' character was found.");
                    "'%s' character was found");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because the end of the " +
                    "value was encountered while the Directory Server " +
                    "expected more data to be provided.");
                    "expected more data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because the numeric OID " +
                    "contained two consecutive periods at position %d.");
                    "contained two consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because the numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because the non-numeric " +
                    "OID contained an illegal character %s at position %d.");
                    "OID contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_UNKNOWN_MATCHING_RULE,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because the specified " +
                    "matching rule %s is unknown.");
                    "matching rule %s is unknown");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because it contained an " +
                    "unexpected closing parenthesis at position %d.");
                    "unexpected closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because it contained an " +
                    "illegal character %s at position %d.");
                    "illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_UNKNOWN_ATTR,
                    "The matching rule use description \"%s\" is associated " +
                    "with attribute type %s that is not defined in the " +
                    "server schema.");
                    "server schema");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_NO_ATTR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule description because it does not specify " +
                    "the set of attribute types that may be used with the " +
                    "associated OID.");
                    "associated OID");
    registerMessage(MSGID_ATTR_SYNTAX_MRUSE_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as a " +
                    "matching rule use description because a single quote " +
                    "was expected at position %d but the %s character was " +
                    "found instead.");
                    "found instead");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_EMPTY_VALUE,
                    "The provided value could not be parsed as a valid DIT " +
                    "structure rule description because it was empty or " +
                    "contained only whitespace.");
                    "contained only whitespace");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_EXPECTED_OPEN_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because an open parenthesis " +
                    "was expected at position %d but instead a '%s' " +
                    "character was found.");
                    "character was found");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_TRUNCATED_VALUE,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because the end of the value " +
                    "was encountered while the Directory Server expected " +
                    "more data to be provided.");
                    "more data to be provided");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_ILLEGAL_CHAR_IN_RULE_ID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because the rule ID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_UNEXPECTED_CLOSE_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because it contained an " +
                    "unexpected closing parenthesis at position %d.");
                    "unexpected closing parenthesis at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because it contained an " +
                    "illegal character %s at position %d.");
                    "illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_UNKNOWN_NAME_FORM,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because it referenced an " +
                    "unknown name form %s.");
                    "unknown name form %s");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_UNKNOWN_RULE_ID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because it referenced an " +
                    "unknown rule ID %d for a superior DIT structure rule.");
                    "unknown rule ID %d for a superior DIT structure rule");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_NO_NAME_FORM,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because it did not specify " +
                    "the name form for the rule.");
                    "the name form for the rule");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_EXPECTED_QUOTE_AT_POS,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because a single quote was " +
                    "expected at position %d but the %s character was found " +
                    "instead.");
                    "instead");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_DOUBLE_PERIOD_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because the numeric OID " +
                    "contained two consecutive periods at position %d.");
                    "contained two consecutive periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_ILLEGAL_CHAR_IN_NUMERIC_OID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because the numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_DSR_ILLEGAL_CHAR_IN_STRING_OID,
                    "The provided value \"%s\" could not be parsed as a DIT " +
                    "structure rule description because the non-numeric OID " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_TELEX_TOO_SHORT,
                    "The provided value \"%s\" is too short to be a valid " +
                    "telex number value.");
                    "telex number value");
    registerMessage(MSGID_ATTR_SYNTAX_TELEX_NOT_PRINTABLE,
                    "The provided value \"%s\" does not hold a valid telex " +
                    "number because a character %s at position %d was not " +
                    "a valid printable string character.");
                    "a valid printable string character");
    registerMessage(MSGID_ATTR_SYNTAX_TELEX_ILLEGAL_CHAR,
                    "The provided value \"%s\" does not hold a valid telex " +
                    "number because character %s at position %d was neither " +
                    "a valid printable string character nor a dollar sign to " +
                    "separate the telex number components.");
                    "separate the telex number components");
    registerMessage(MSGID_ATTR_SYNTAX_TELEX_TRUNCATED,
                    "The provided value \"%s\" does not hold a valid telex " +
                    "number because the end of the value was found before " +
                    "three dollar-delimited printable strings could be read.");
                    "three dollar-delimited printable strings could be read");
    registerMessage(MSGID_ATTR_SYNTAX_FAXNUMBER_EMPTY,
                    "The provided value could not be parsed as a valid " +
                    "facsimile telephone number because it was empty.");
                    "facsimile telephone number because it was empty");
    registerMessage(MSGID_ATTR_SYNTAX_FAXNUMBER_NOT_PRINTABLE,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid facsimile telephone number because character %s " +
                    "at position %d was not a valid printable string " +
                    "character.");
                    "character");
    registerMessage(MSGID_ATTR_SYNTAX_FAXNUMBER_END_WITH_DOLLAR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid facsimile telephone number because it ends with " +
                    "a dollar sign, but that dollar sign should have been " +
                    "followed by a fax parameter.");
                    "followed by a fax parameter");
    registerMessage(MSGID_ATTR_SYNTAX_FAXNUMBER_ILLEGAL_PARAMETER,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid facsimile telephone number because the string " +
                    "\"%s\" between positions %d and %d was not a valid fax " +
                    "parameter.");
                    "parameter");
    registerMessage(MSGID_ATTR_SYNTAX_NAMEANDUID_INVALID_DN,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid name and optional UID value because an error " +
                    "occurred while trying to parse the DN portion:  %s.");
                    "occurred while trying to parse the DN portion:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_NAMEANDUID_ILLEGAL_BINARY_DIGIT,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid name and optional UID value because the UID " +
                    "portion contained an illegal binary digit %s at " +
                    "position %d.");
                    "position %d");
    registerMessage(MSGID_ATTR_SYNTAX_TELETEXID_EMPTY,
                    "The provided value could not be parsed as a valid " +
                    "teletex terminal identifier because it was empty.");
                    "teletex terminal identifier because it was empty");
    registerMessage(MSGID_ATTR_SYNTAX_TELETEXID_NOT_PRINTABLE,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid teletex terminal identifier because character %s " +
                    "at position %d was not a valid printable string " +
                    "character.");
                    "character");
    registerMessage(MSGID_ATTR_SYNTAX_TELETEXID_END_WITH_DOLLAR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid teletex terminal identifier because it ends with " +
                    "a dollar sign, but that dollar sign should have been " +
                    "followed by a TTX parameter.");
                    "followed by a TTX parameter");
    registerMessage(MSGID_ATTR_SYNTAX_TELETEXID_PARAM_NO_COLON,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid teletex terminal identifier because the parameter " +
                    "string does not contain a colon to separate the name " +
                    "from the value.");
                    "from the value");
    registerMessage(MSGID_ATTR_SYNTAX_TELETEXID_ILLEGAL_PARAMETER,
                    "The provided value \"%s\" could not be parsed as a " +
                    "valid teletex terminal identifier because the string " +
                    "\"%s\" is not a valid TTX parameter name.");
                    "\"%s\" is not a valid TTX parameter name");
    registerMessage(MSGID_ATTR_SYNTAX_OTHER_MAILBOX_EMPTY_VALUE,
                    "The provided value could not be parsed as an other " +
                    "mailbox value because it was empty.");
                    "mailbox value because it was empty");
    registerMessage(MSGID_ATTR_SYNTAX_OTHER_MAILBOX_NO_MBTYPE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "other mailbox value because there was no mailbox type " +
                    "before the dollar sign.");
                    "before the dollar sign");
    registerMessage(MSGID_ATTR_SYNTAX_OTHER_MAILBOX_ILLEGAL_MBTYPE_CHAR,
                    "The provided value \"%s\" could not be parsed as an " +
                    "other mailbox value because the mailbox type contained " +
                    "an illegal character %s at position %d.");
                    "an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_OTHER_MAILBOX_NO_MAILBOX,
                    "The provided value \"%s\" could not be parsed as an " +
                    "other mailbox value because there was no mailbox after " +
                    "the dollar sign.");
                    "the dollar sign");
    registerMessage(MSGID_ATTR_SYNTAX_OTHER_MAILBOX_ILLEGAL_MB_CHAR,
                    "The provided value \"%s\" could not be parsed as an " +
                    "other mailbox value because the mailbox contained an " +
                    "illegal character %s at position %d.");
                    "illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_NO_OC,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because it did not contain an objectclass " +
                    "name or OID before the octothorpe (#) character.");
                    "name or OID before the octothorpe (#) character");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_ILLEGAL_CHAR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because the criteria portion %s contained " +
                    "an illegal character %s at position %d.");
                    "an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_MISSING_CLOSE_PAREN,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because the criteria portion %s did not " +
                    "contain a close parenthesis that corresponded to the " +
                    "initial open parenthesis.");
                    "initial open parenthesis");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_INVALID_QUESTION_MARK,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because the criteria portion %s started " +
                    "with a question mark but was not followed by the string " +
                    "\"true\" or \"false\".");
                    "\"true\" or \"false\"");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_NO_DOLLAR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because the criteria portion %s did not " +
                    "contain a dollar sign to separate the attribute type " +
                    "from the match type.");
                    "from the match type");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_NO_ATTR,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because the criteria portion %s did not " +
                    "specify an attribute type before the dollar sign.");
                    "specify an attribute type before the dollar sign");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_NO_MATCH_TYPE,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because the criteria portion %s did not " +
                    "specify a match type after the dollar sign.");
                    "specify a match type after the dollar sign");
    registerMessage(MSGID_ATTR_SYNTAX_GUIDE_INVALID_MATCH_TYPE,
                    "The provided value \"%s\" could not be parsed as a " +
                    "guide value because the criteria portion %s had an " +
                    "invalid match type starting at position %d.");
                    "invalid match type starting at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_NO_SHARP,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because it did not contain an " +
                    "octothorpe (#) character to separate the objectclass " +
                    "from the criteria.");
                    "from the criteria");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_NO_OC,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because it did not contain an " +
                    "objectclass name or OID before the octothorpe (#) " +
                    "character.");
                    "character");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_DOUBLE_PERIOD_IN_OC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because the numeric OID %s " +
                    "specifying the objectclass contained two consecutive " +
                    "periods at position %d.");
                    "periods at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_ILLEGAL_CHAR_IN_OC_OID,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because the numeric OID %s " +
                    "specifying the objectclass contained an illegal " +
                    "character %s at position %d.");
                    "character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_ILLEGAL_CHAR_IN_OC_NAME,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because the objectclass name %s " +
                    "contained an illegal character %s at position %d.");
                    "contained an illegal character %s at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_NO_FINAL_SHARP,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because it did not have an " +
                    "octothorpe (#) character to separate the criteria from " +
                    "the scope.");
                    "the scope");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_NO_SCOPE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because no scope was provided " +
                    "after the final octothorpe (#) character.");
                    "after the final octothorpe (#) character");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_INVALID_SCOPE,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because the specified scope %s " +
                    "was invalid.");
                    "was invalid");
    registerMessage(MSGID_ATTR_SYNTAX_ENHANCEDGUIDE_NO_CRITERIA,
                    "The provided value \"%s\" could not be parsed as an " +
                    "enhanced guide value because it did not specify any " +
                    "criteria between the octothorpe (#) characters.");
                    "criteria between the octothorpe (#) characters");
    registerMessage(MSGID_OMR_CASE_EXACT_COMPARE_CANNOT_NORMALIZE,
                    "An error occurred while attempting to compare two " +
                    "AttributeValue objects using the caseExactOrderingMatch " +
                    "matching rule because the normalized form of one of " +
                    "those values could not be retrieved:  %s.");
                    "those values could not be retrieved:  %s");
    registerMessage(MSGID_OMR_CASE_EXACT_COMPARE_INVALID_TYPE,
                    "An error occurred while attempting to compare two " +
                    "objects using the caseExactOrderingMatch matching rule " +
                    "because the objects were of an unsupported type %s.  " +
                    "Only byte arrays, ASN.1 octet strings, and attribute " +
                    "value objects may be compared.");
                    "value objects may be compared");
    registerMessage(MSGID_OMR_CASE_IGNORE_COMPARE_CANNOT_NORMALIZE,
@@ -4207,13 +4207,13 @@
                    "AttributeValue objects using the " +
                    "caseIgnoreOrderingMatch matching rule because the " +
                    "normalized form of one of those values could not be " +
                    "retrieved:  %s.");
                    "retrieved:  %s");
    registerMessage(MSGID_OMR_CASE_IGNORE_COMPARE_INVALID_TYPE,
                    "An error occurred while attempting to compare two " +
                    "objects using the caseIgnoreOrderingMatch matching rule " +
                    "because the objects were of an unsupported type %s.  " +
                    "Only byte arrays, ASN.1 octet strings, and attribute " +
                    "value objects may be compared.");
                    "value objects may be compared");
    registerMessage(MSGID_OMR_GENERALIZED_TIME_COMPARE_CANNOT_NORMALIZE,
@@ -4221,26 +4221,26 @@
                    "AttributeValue objects using the " +
                    "generalizedTimeOrderingMatch matching rule because the " +
                    "normalized form of one of those values could not be " +
                    "retrieved:  %s.");
                    "retrieved:  %s");
    registerMessage(MSGID_OMR_GENERALIZED_TIME_COMPARE_INVALID_TYPE,
                    "An error occurred while attempting to compare two " +
                    "objects using the generalizedTimeOrderingMatch matching " +
                    "rule because the objects were of an unsupported type " +
                    "%s.  Only byte arrays, ASN.1 octet strings, and " +
                    "attribute value objects may be compared.");
                    "attribute value objects may be compared");
    registerMessage(MSGID_OMR_INTEGER_COMPARE_CANNOT_NORMALIZE,
                    "An error occurred while attempting to compare two " +
                    "AttributeValue objects using the integerOrderingMatch " +
                    "matching rule because the normalized form of one of " +
                    "those values could not be retrieved:  %s.");
                    "those values could not be retrieved:  %s");
    registerMessage(MSGID_OMR_INTEGER_COMPARE_INVALID_TYPE,
                    "An error occurred while attempting to compare two " +
                    "objects using the integerOrderingMatch matching rule " +
                    "because the objects were of an unsupported type %s.  " +
                    "Only byte arrays, ASN.1 octet strings, and attribute " +
                    "value objects may be compared.");
                    "value objects may be compared");
    registerMessage(MSGID_OMR_NUMERIC_STRING_COMPARE_CANNOT_NORMALIZE,
@@ -4248,13 +4248,13 @@
                    "AttributeValue objects using the " +
                    "numericStringOrderingMatch matching rule because the " +
                    "normalized form of one of those values could not be " +
                    "retrieved:  %s.");
                    "retrieved:  %s");
    registerMessage(MSGID_OMR_NUMERIC_STRING_COMPARE_INVALID_TYPE,
                    "An error occurred while attempting to compare two " +
                    "objects using the numericStringOrderingMatch matching " +
                    "rule because the objects were of an unsupported type " +
                    "%s.  Only byte arrays, ASN.1 octet strings, and " +
                    "attribute value objects may be compared.");
                    "attribute value objects may be compared");
    registerMessage(MSGID_OMR_OCTET_STRING_COMPARE_CANNOT_NORMALIZE,
@@ -4262,26 +4262,26 @@
                    "AttributeValue objects using the " +
                    "octetStringOrderingMatch matching rule because the " +
                    "normalized form of one of those values could not be " +
                    "retrieved:  %s.");
                    "retrieved:  %s");
    registerMessage(MSGID_OMR_OCTET_STRING_COMPARE_INVALID_TYPE,
                    "An error occurred while attempting to compare two " +
                    "objects using the octetStringOrderingMatch matching " +
                    "rule because the objects were of an unsupported type " +
                    "%s.  Only byte arrays, ASN.1 octet strings, and " +
                    "attribute value objects may be compared.");
                    "attribute value objects may be compared");
    registerMessage(MSGID_ATTR_SYNTAX_UUID_INVALID_LENGTH,
                    "The provided value \"%s\" has an invalid length for a " +
                    "UUID.  All UUID values must have a length of exactly 36 " +
                    "bytes, but the provided value had a length of %d bytes.");
                    "bytes, but the provided value had a length of %d bytes");
    registerMessage(MSGID_ATTR_SYNTAX_UUID_EXPECTED_DASH,
                    "The provided value \"%s\" should have had a dash at " +
                    "position %d, but the character '%s' was found instead.");
                    "position %d, but the character '%s' was found instead");
    registerMessage(MSGID_ATTR_SYNTAX_UUID_EXPECTED_HEX,
                    "The provided value \"%s\" should have had a hexadecimal " +
                    "digit at position %d, but the character '%s' was found " +
                    "instead.");
                    "instead");
    registerMessage(
@@ -4289,106 +4289,106 @@
         "Indicates whether attributes with the directory string syntax will " +
         "be allowed to have zero-length values.  This is technically not " +
         "allowed by the LDAP specifications, but it may be useful for " +
         "backward compatibility with previous Directory Server releases.");
         "backward compatibility with previous Directory Server releases");
    registerMessage(
         MSGID_ATTR_SYNTAX_DIRECTORYSTRING_CANNOT_DETERMINE_ZEROLENGTH,
         "An error occurred while trying to determine the value of the %s " +
         "configuration attribute, which indicates whether directory string " +
         "attributes should be allowed to have zero-length values:  %s.");
         "attributes should be allowed to have zero-length values:  %s");
    registerMessage(MSGID_ATTR_SYNTAX_DIRECTORYSTRING_INVALID_ZEROLENGTH_VALUE,
                    "The operation attempted to assign a zero-length value " +
                    "to an attribute with the directory string syntax.");
                    "to an attribute with the directory string syntax");
    registerMessage(MSGID_ATTR_SYNTAX_DIRECTORYSTRING_UPDATED_ALLOW_ZEROLENGTH,
                    "The %s attribute in configuration entry %s has been " +
                    "updated with a new value of %s.");
                    "updated with a new value of %s");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_INVALID_SCHEME_CHAR,
                    "The provided authPassword value had an invalid scheme " +
                    "character at position %d.");
                    "character at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_NO_SCHEME,
                    "The provided authPassword value had a zero-length " +
                    "scheme element.");
                    "scheme element");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_NO_SCHEME_SEPARATOR,
                    "The provided authPassword value was missing the " +
                    "separator character or had an illegal character between " +
                    "the scheme and authInfo elements.");
                    "the scheme and authInfo elements");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_INVALID_AUTH_INFO_CHAR,
                    "The provided authPassword value had an invalid authInfo " +
                    "character at position %d.");
                    "character at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_NO_AUTH_INFO,
                    "The provided authPassword value had a zero-length " +
                    "authInfo element.");
                    "authInfo element");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_NO_AUTH_INFO_SEPARATOR,
                    "The provided authPassword value was missing the " +
                    "separator character or had an illegal character between " +
                    "the authInfo and authValue elements.");
                    "the authInfo and authValue elements");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_INVALID_AUTH_VALUE_CHAR,
                    "The provided authPassword value had an invalid " +
                    "authValue character at position %d.");
                    "authValue character at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_NO_AUTH_VALUE,
                    "The provided authPassword value had a zero-length " +
                    "authValue element.");
                    "authValue element");
    registerMessage(MSGID_ATTR_SYNTAX_AUTHPW_INVALID_TRAILING_CHAR,
                    "The provided authPassword value had an invalid trailing " +
                    "character at position %d.");
                    "character at position %d");
    registerMessage(MSGID_EMR_INTFIRSTCOMP_NO_INITIAL_PARENTHESIS,
                    "The provided value \"%s\" could not be parsed by the " +
                    "integer first component matching rule because it did " +
                    "not start with a parenthesis.");
                    "not start with a parenthesis");
    registerMessage(MSGID_EMR_INTFIRSTCOMP_NO_NONSPACE,
                    "The provided value \"%s\" could not be parsed by the " +
                    "integer first component matching rule because it did " +
                    "not have any non-space characters after the opening " +
                    "parenthesis.");
                    "parenthesis");
    registerMessage(MSGID_EMR_INTFIRSTCOMP_NO_SPACE_AFTER_INT,
                    "The provided value \"%s\" could not be parsed by the " +
                    "integer first component matching rule because it did " +
                    "not have any space characters after the first component.");
                    "not have any space characters after the first component");
    registerMessage(MSGID_EMR_INTFIRSTCOMP_FIRST_COMPONENT_NOT_INT,
                    "The provided value \"%s\" could not be parsed by the " +
                    "integer first component matching rule because the first " +
                    "component does not appear to be an integer value.");
                    "component does not appear to be an integer value");
    registerMessage(MSGID_ATTR_SYNTAX_USERPW_NO_VALUE,
                    "No value was given to decode by the user password " +
                    "attribute syntax.");
                    "attribute syntax");
    registerMessage(MSGID_ATTR_SYNTAX_USERPW_NO_OPENING_BRACE,
                    "Unable to decode the provided value according to the " +
                    "user password syntax because the value does not start " +
                    "with the opening curly brace (\"{\") character.");
                    "with the opening curly brace (\"{\") character");
    registerMessage(MSGID_ATTR_SYNTAX_USERPW_NO_CLOSING_BRACE,
                    "Unable to decode the provided value according to the " +
                    "user password syntax because the value does not contain " +
                    "a closing curly brace (\"}\") character.");
                    "a closing curly brace (\"}\") character");
    registerMessage(MSGID_ATTR_SYNTAX_USERPW_NO_SCHEME,
                    "Unable to decode the provided value according to the " +
                    "user password syntax because the value does not contain " +
                    "a storage scheme name.");
                    "a storage scheme name");
    registerMessage(MSGID_ATTR_SYNTAX_RFC3672_SUBTREE_SPECIFICATION_INVALID,
                    "The provided value \"%s\" could not be parsed as a" +
                    " valid RFC 3672 subtree specification.");
                    " valid RFC 3672 subtree specification");
    registerMessage(MSGID_ATTR_SYNTAX_ABSOLUTE_SUBTREE_SPECIFICATION_INVALID,
                    "The provided value \"%s\" could not be parsed as a" +
                    " valid absolute subtree specification.");
                    " valid absolute subtree specification");
    registerMessage(MSGID_ATTR_SYNTAX_RELATIVE_SUBTREE_SPECIFICATION_INVALID,
                    "The provided value \"%s\" could not be parsed as a" +
                    " valid relative subtree specification.");
                    " valid relative subtree specification");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_EXTENSION_INVALID_CHARACTER,
            "The provided value \"%s\" could not be parsed as an " +
            "attribute syntax extension because an invalid character"+
            "was found at position %d.");
            "was found at position %d");
    registerMessage(MSGID_ATTR_SYNTAX_ATTRSYNTAX_INVALID_EXTENSION,
           "The attribute syntax could not be parsed because of an"+
           "invalid extension."+ "%s.");
           "invalid extension."+ "%s");
  }
}
Diff truncated after the above file
opends/src/server/org/opends/server/messages/SynchronizationMessages.java opends/src/server/org/opends/server/messages/TaskMessages.java opends/src/server/org/opends/server/messages/ToolMessages.java opends/src/server/org/opends/server/messages/UtilityMessages.java opends/src/server/org/opends/server/protocols/internal/InternalClientConnection.java opends/src/server/org/opends/server/protocols/internal/InternalSearchOperation.java opends/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java opends/src/server/org/opends/server/protocols/jmx/RmiAuthenticator.java opends/src/server/org/opends/server/protocols/ldap/AbandonRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/AddRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/AddResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/BindRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/BindResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/CompareRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/CompareResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/DeleteRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/DeleteResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/ExtendedRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/ExtendedResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/IntermediateResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/LDAPAttribute.java opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java opends/src/server/org/opends/server/protocols/ldap/LDAPControl.java opends/src/server/org/opends/server/protocols/ldap/LDAPFilter.java opends/src/server/org/opends/server/protocols/ldap/LDAPMessage.java opends/src/server/org/opends/server/protocols/ldap/LDAPModification.java opends/src/server/org/opends/server/protocols/ldap/LDAPRequestHandler.java opends/src/server/org/opends/server/protocols/ldap/ModifyDNRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/ModifyDNResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/ModifyRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/ModifyResponseProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/ProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/SearchRequestProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/SearchResultDoneProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/SearchResultEntryProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/SearchResultReferenceProtocolOp.java opends/src/server/org/opends/server/protocols/ldap/UnbindRequestProtocolOp.java opends/src/server/org/opends/server/schema/DirectoryStringSyntax.java opends/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java opends/src/server/org/opends/server/schema/NameAndOptionalUIDSyntax.java opends/src/server/org/opends/server/schema/TelephoneNumberSyntax.java opends/src/server/org/opends/server/schema/UniqueMemberEqualityMatchingRule.java opends/src/server/org/opends/server/synchronization/changelog/Changelog.java opends/src/server/org/opends/server/synchronization/changelog/ChangelogCache.java opends/src/server/org/opends/server/synchronization/changelog/ChangelogDB.java opends/src/server/org/opends/server/synchronization/changelog/ChangelogDbEnv.java opends/src/server/org/opends/server/synchronization/changelog/DbHandler.java opends/src/server/org/opends/server/synchronization/changelog/ServerHandler.java opends/src/server/org/opends/server/synchronization/changelog/ServerReader.java opends/src/server/org/opends/server/synchronization/changelog/ServerWriter.java opends/src/server/org/opends/server/synchronization/plugin/ChangelogBroker.java opends/src/server/org/opends/server/synchronization/plugin/ListenerThread.java opends/src/server/org/opends/server/synchronization/plugin/MultimasterSynchronization.java opends/src/server/org/opends/server/synchronization/plugin/PendingChange.java opends/src/server/org/opends/server/synchronization/plugin/PersistentServerState.java opends/src/server/org/opends/server/synchronization/plugin/SynchronizationDomain.java opends/src/server/org/opends/server/synchronization/protocol/AddMsg.java opends/src/server/org/opends/server/synchronization/protocol/DeleteMsg.java opends/src/server/org/opends/server/synchronization/protocol/ModifyDNMsg.java opends/src/server/org/opends/server/synchronization/protocol/ModifyMsg.java opends/src/server/org/opends/server/synchronization/protocol/OperationContext.java opends/src/server/org/opends/server/synchronization/protocol/UpdateMessage.java opends/src/server/org/opends/server/tasks/AddSchemaFileTask.java opends/src/server/org/opends/server/tasks/BackupTask.java opends/src/server/org/opends/server/tasks/ExportTask.java opends/src/server/org/opends/server/tasks/ImportTask.java opends/src/server/org/opends/server/tasks/RebuildTask.java opends/src/server/org/opends/server/tasks/RestoreTask.java opends/src/server/org/opends/server/tasks/ShutdownTask.java opends/src/server/org/opends/server/tasks/TaskUtils.java opends/src/server/org/opends/server/tools/BackUpDB.java opends/src/server/org/opends/server/tools/BackendToolUtils.java opends/src/server/org/opends/server/tools/EncodePassword.java opends/src/server/org/opends/server/tools/ExportLDIF.java opends/src/server/org/opends/server/tools/ImportLDIF.java opends/src/server/org/opends/server/tools/LDAPAuthenticationHandler.java opends/src/server/org/opends/server/tools/LDAPCompare.java opends/src/server/org/opends/server/tools/LDAPConnection.java opends/src/server/org/opends/server/tools/LDAPDelete.java opends/src/server/org/opends/server/tools/LDAPModify.java opends/src/server/org/opends/server/tools/LDAPSearch.java opends/src/server/org/opends/server/tools/LDIFModify.java opends/src/server/org/opends/server/tools/ListBackends.java opends/src/server/org/opends/server/tools/RebuildIndex.java opends/src/server/org/opends/server/tools/RestoreDB.java opends/src/server/org/opends/server/tools/StopDS.java opends/src/server/org/opends/server/tools/VerifyIndex.java opends/src/server/org/opends/server/types/BackupDirectory.java opends/src/server/org/opends/server/types/BackupInfo.java opends/src/server/org/opends/server/types/CryptoManager.java opends/src/server/org/opends/server/types/Entry.java opends/src/server/org/opends/server/types/IdentifiedException.java opends/src/server/org/opends/server/types/IntermediateResponse.java opends/src/server/org/opends/server/types/LDAPException.java opends/src/server/org/opends/server/types/LDAPURL.java opends/src/server/org/opends/server/types/Operation.java opends/src/server/org/opends/server/types/RawAttribute.java opends/src/server/org/opends/server/types/RawFilter.java opends/src/server/org/opends/server/types/RawModification.java opends/src/server/org/opends/server/types/Schema.java opends/src/server/org/opends/server/types/operation/PostOperationAddOperation.java opends/src/server/org/opends/server/types/operation/PostOperationModifyOperation.java opends/src/server/org/opends/server/types/operation/PostOperationSearchOperation.java opends/src/server/org/opends/server/types/operation/PostResponseAddOperation.java opends/src/server/org/opends/server/types/operation/PostResponseModifyOperation.java opends/src/server/org/opends/server/types/operation/PostResponseSearchOperation.java opends/src/server/org/opends/server/types/operation/PreOperationAddOperation.java opends/src/server/org/opends/server/types/operation/PreOperationModifyOperation.java opends/src/server/org/opends/server/types/operation/PreOperationSearchOperation.java opends/src/server/org/opends/server/types/operation/PreParseAddOperation.java opends/src/server/org/opends/server/types/operation/PreParseModifyOperation.java opends/src/server/org/opends/server/types/operation/PreParseSearchOperation.java opends/src/server/org/opends/server/types/operation/SearchEntrySearchOperation.java opends/src/server/org/opends/server/types/operation/SearchReferenceSearchOperation.java opends/src/server/org/opends/server/util/LDIFReader.java opends/src/server/org/opends/server/util/ModifyChangeRecordEntry.java opends/src/server/org/opends/server/util/args/ArgumentParser.java opends/src/server/org/opends/server/util/args/FileBasedArgument.java opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java opends/tests/unit-tests-testng/resource/ldif-diff/diff-nochanges.ldif opends/tests/unit-tests-testng/src/server/org/opends/server/TestAccessLogger.java opends/tests/unit-tests-testng/src/server/org/opends/server/api/PasswordValidatorTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/controls/MatchedValuesControlTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/controls/PasswordControlTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/controls/PersistentSearchControlTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/controls/ProxiedAuthV1ControlTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/controls/ProxiedAuthV2ControlTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/AbandonOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/AddOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/BindOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/CompareOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/DeleteOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/OperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/RejectUnauthReqTests.java opends/tests/unit-tests-testng/src/server/org/opends/server/core/UnbindOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/CancelExtendedOperationTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/ExactMatchIdentityMapperTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/TestPasswordValidator.java opends/tests/unit-tests-testng/src/server/org/opends/server/messages/UnregisteredMessageIDsTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/internal/InternalClientConnectionTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestAbandonRequestProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestAddRequestProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestAddResponseProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestBindRequestProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestBindResponseProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestCompareRequestProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestCompareResponseProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestDeleteRequestProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestDeleteResponseProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestLDAPException.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestLDAPFilter.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestModifyDNRequestProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestModifyDNResponseProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestModifyRequestProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestModifyResponseProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestSearchProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestSearchResultEntryProtocolOp.java opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/InitOnLineTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/ProtocolWindowTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/SchemaSynchronizationTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/StressTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/UpdateOperationTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/changelog/dbHandlerTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/protocol/SyncMessagesTest.java (deleted) opends/tests/unit-tests-testng/src/server/org/opends/server/synchronization/protocol/SynchronizationMsgTest.java opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPAuthenticationHandlerTestCase.java opends/tests/unit-tests-testng/src/server/org/opends/server/util/TestLDIFReader.java opends/tests/unit-tests-testng/src/server/org/opends/server/util/TestLDIFWriter.java opends/tests/unit-tests-testng/src/server/org/opends/server/util/TestModifyChangeRecordEntry.java