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

ludovicp
07.07.2010 7b91669da9737af20f3f44ed861a691ee5712c38
Fix for issue #4556 - Make sure the skipValidationForAdministrators password policy flag applies identically for the ldap modify and password modify extended ops.
Also tidy some comments and line length issues, failing the precommit target.
3 files modified
48 ■■■■■ changed files
opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java 28 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/types/Entry.java 18 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/util/ServerConstants.java 2 ●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 */
package org.opends.server.extensions;
import org.opends.messages.Message;
@@ -946,21 +946,25 @@
          {
            if (pwPolicyState.isPasswordInHistory(newPassword))
            {
              if (oldPassword == null)
              if (selfChange || (! pwPolicyState.getPolicy().
                                      skipValidationForAdministrators()))
              {
                operation.setResultCode(ResultCode.UNWILLING_TO_PERFORM);
                if (oldPassword == null)
                {
                  operation.setResultCode(ResultCode.UNWILLING_TO_PERFORM);
                operation.appendErrorMessage(
                        ERR_EXTOP_PASSMOD_PW_IN_HISTORY.get());
              }
              else
              {
                operation.setResultCode(ResultCode.INVALID_CREDENTIALS);
                  operation.appendErrorMessage(
                          ERR_EXTOP_PASSMOD_PW_IN_HISTORY.get());
                }
                else
                {
                  operation.setResultCode(ResultCode.INVALID_CREDENTIALS);
                operation.appendAdditionalLogMessage(
                        ERR_EXTOP_PASSMOD_PW_IN_HISTORY.get());
                  operation.appendAdditionalLogMessage(
                          ERR_EXTOP_PASSMOD_PW_IN_HISTORY.get());
                }
                return;
              }
              return;
            }
            else
            {
opends/src/server/org/opends/server/types/Entry.java
@@ -1781,17 +1781,21 @@
   * checking will be performed.
   *
   * @param  mod  The modification to apply to this entry.
   * @param  relaxConstraints indicates if the modification constraints are
   *                          relaxed to match the ones of a set (add existing
   *                          value and delete absent value do not fail)
   *
   * @throws  DirectoryException  If a problem occurs while attempting
   *                              to apply the modification.  Note
   * @param  relaxConstraints indicates if the modification
   *                          constraints are relaxed to match
   *                          the ones of a set (add existing
   *                          value and delete absent value do not
   *                          fail)
   *
   * @throws  DirectoryException  If a problem occurs while
   *                              attempting to apply the
   *                              modification. Note
   *                              that even if a problem occurs, then
   *                              the entry may have been altered in
   *                              some way.
   */
  public void applyModification(Modification mod, boolean relaxConstraints)
  public void applyModification(Modification mod,
                                boolean relaxConstraints)
         throws DirectoryException
  {
    Attribute     a = mod.getAttribute();
opends/src/server/org/opends/server/util/ServerConstants.java
@@ -2276,7 +2276,7 @@
  /**
   * The OID for the Permissive Modify control, defined and used by MSAD
   * The OID for the Permissive Modify control, defined and used by MSAD.
   */
  public static final String OID_PERMISSIVE_MODIFY_CONTROL =
      "1.2.840.113556.1.4.1413";