From d6ae4ae4c89d1fe6c2290e7837dff85fe5d379ec Mon Sep 17 00:00:00 2001
From: Chris Ridd <chris.ridd@forgerock.com>
Date: Wed, 22 Aug 2012 10:49:51 +0000
Subject: [PATCH] Fix OPENDJ-565 Attribute Value password validator finds password in the userPassword attribute

---
 opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
index 34441a4..e649b81 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
@@ -1137,11 +1137,14 @@
         // There are never any current passwords for an add operation.
         HashSet<ByteString> currentPasswords = new HashSet<ByteString>(0);
         MessageBuilder invalidReason = new MessageBuilder();
+        // Work on a copy of the entry without the password to avoid
+        // false positives from some validators.
+        copy.removeAttribute(passwordAttribute);
         for (PasswordValidator<?> validator :
           passwordPolicy.getPasswordValidators())
         {
           if (! validator.passwordIsAcceptable(value, currentPasswords, this,
-                                               entry, invalidReason))
+                                               copy, invalidReason))
           {
             addPWPolicyControl(
                  PasswordPolicyErrorType.INSUFFICIENT_PASSWORD_QUALITY);

--
Gitblit v1.10.0