From e3aa6ebbae71bab7b16a9ace419ad3370eed71c1 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Thu, 09 Apr 2009 09:18:07 +0000
Subject: [PATCH] Fix for issue 2642 (ldif-diff doesn't detect differences in encoded values)
---
opendj-sdk/opends/src/server/org/opends/server/schema/UserPasswordExactEqualityMatchingRule.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/schema/UserPasswordExactEqualityMatchingRule.java b/opendj-sdk/opends/src/server/org/opends/server/schema/UserPasswordExactEqualityMatchingRule.java
index 11d9a42..36bd930 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/schema/UserPasswordExactEqualityMatchingRule.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/schema/UserPasswordExactEqualityMatchingRule.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2008 Sun Microsystems, Inc.
+ * Copyright 2006-2009 Sun Microsystems, Inc.
*/
package org.opends.server.schema;
@@ -148,7 +148,20 @@
if (UserPasswordSyntax.isEncoded(value))
{
StringBuilder builder = new StringBuilder(value.length());
- StaticUtils.toLowerCase(value, builder, false);
+ int closingBracePos = -1;
+ for (int i=1; i < value.length(); i++)
+ {
+ if (value.byteAt(i) == '}')
+ {
+ closingBracePos = i;
+ break;
+ }
+ }
+ ByteSequence seq1 = value.subSequence(0, closingBracePos + 1);
+ ByteSequence seq2 =
+ value.subSequence(closingBracePos + 1, value.length());
+ StaticUtils.toLowerCase(seq1, builder, false);
+ builder.append(seq2);
return ByteString.valueOf(builder.toString());
}
else
--
Gitblit v1.10.0