From 7b91669da9737af20f3f44ed861a691ee5712c38 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 07 Jun 2010 09:07:09 +0000
Subject: [PATCH] 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.
---
opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java | 28 ++++++++++++++++------------
1 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java b/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
index 1692800..3cf059f 100644
--- a/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
+++ b/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
{
--
Gitblit v1.10.0