From 54143638bba7ed32a3384cd5683877605ee79b4e Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Tue, 29 May 2012 19:24:25 +0000
Subject: [PATCH] Fix OPENDJ-504: Performing Query on telephoneNumber attribute thats not a number returns all entries. Throw an exception when normalized value of a substring is empty, rather than using it. Solves the use case described in the bug.
---
opendj-sdk/opends/src/server/org/opends/server/schema/TelephoneNumberSubstringMatchingRule.java | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/schema/TelephoneNumberSubstringMatchingRule.java b/opendj-sdk/opends/src/server/org/opends/server/schema/TelephoneNumberSubstringMatchingRule.java
index 955eddc..3855412 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/schema/TelephoneNumberSubstringMatchingRule.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/schema/TelephoneNumberSubstringMatchingRule.java
@@ -23,6 +23,7 @@
*
*
* Copyright 2006-2009 Sun Microsystems, Inc.
+ * Portions Copyright 2012 ForgeRock AS
*/
package org.opends.server.schema;
@@ -33,11 +34,13 @@
import java.util.Collection;
import java.util.Collections;
+import org.opends.messages.Message;
import org.opends.server.api.SubstringMatchingRule;
import org.opends.server.types.ByteSequence;
import org.opends.server.types.ByteString;
import org.opends.server.types.DirectoryException;
+import org.opends.server.types.ResultCode;
@@ -182,7 +185,13 @@
{
// In this case, the logic used to normalize a substring is identical to the
// logic used to normalize a full value.
- return normalizeValue(substring);
+ ByteString value = normalizeValue(substring);
+ if (value.length() == 0)
+ {
+ throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX,
+ Message.EMPTY);
+ }
+ return value;
}
}
--
Gitblit v1.10.0