From 3181453e2fa1149121b3f1ec202e7e97bc3bbb29 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Thu, 17 Sep 2009 21:24:52 +0000
Subject: [PATCH] Fix for issue 4164: Fixed decoding bug where multiple values for extra properties are not parsed correctly.
---
opends/src/server/org/opends/server/schema/DITStructureRuleSyntax.java | 5 +++--
opends/src/server/org/opends/server/schema/AttributeTypeSyntax.java | 3 ++-
opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java | 5 +++--
opends/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java | 5 +++--
opends/src/server/org/opends/server/schema/ObjectClassSyntax.java | 3 ++-
opends/src/server/org/opends/server/schema/MatchingRuleSyntax.java | 5 +++--
opends/src/server/org/opends/server/schema/NameFormSyntax.java | 5 +++--
7 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/opends/src/server/org/opends/server/schema/AttributeTypeSyntax.java b/opends/src/server/org/opends/server/schema/AttributeTypeSyntax.java
index b5bed40..579826b 100644
--- a/opends/src/server/org/opends/server/schema/AttributeTypeSyntax.java
+++ b/opends/src/server/org/opends/server/schema/AttributeTypeSyntax.java
@@ -1469,10 +1469,10 @@
}
else if (c == '(')
{
+ startPos++;
while (true)
{
// Skip over any leading spaces;
- startPos++;
while ((startPos < length) && ((c = valueStr.charAt(startPos)) == ' '))
{
startPos++;
@@ -1490,6 +1490,7 @@
if (c == ')')
{
// This is the end of the list.
+ startPos++;
break;
}
else if (c == '(')
diff --git a/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java b/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java
index ef74be8..aec4ee2 100644
--- a/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java
+++ b/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.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;
import org.opends.messages.Message;
@@ -1371,10 +1371,10 @@
}
else if (c == '(')
{
+ startPos++;
while (true)
{
// Skip over any leading spaces;
- startPos++;
while ((startPos < length) && ((c = valueStr.charAt(startPos)) == ' '))
{
startPos++;
@@ -1391,6 +1391,7 @@
if (c == ')')
{
// This is the end of the list.
+ startPos++;
break;
}
else if (c == '(')
diff --git a/opends/src/server/org/opends/server/schema/DITStructureRuleSyntax.java b/opends/src/server/org/opends/server/schema/DITStructureRuleSyntax.java
index 41036bd..b3adfc3 100644
--- a/opends/src/server/org/opends/server/schema/DITStructureRuleSyntax.java
+++ b/opends/src/server/org/opends/server/schema/DITStructureRuleSyntax.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;
import org.opends.messages.Message;
@@ -1117,10 +1117,10 @@
}
else if (c == '(')
{
+ startPos++;
while (true)
{
// Skip over any leading spaces;
- startPos++;
while ((startPos < length) && ((c = valueStr.charAt(startPos)) == ' '))
{
startPos++;
@@ -1137,6 +1137,7 @@
if (c == ')')
{
// This is the end of the list.
+ startPos++;
break;
}
else if (c == '(')
diff --git a/opends/src/server/org/opends/server/schema/MatchingRuleSyntax.java b/opends/src/server/org/opends/server/schema/MatchingRuleSyntax.java
index 2384026..a60c67c 100644
--- a/opends/src/server/org/opends/server/schema/MatchingRuleSyntax.java
+++ b/opends/src/server/org/opends/server/schema/MatchingRuleSyntax.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;
import org.opends.messages.Message;
@@ -1071,10 +1071,10 @@
}
else if (c == '(')
{
+ startPos++;
while (true)
{
// Skip over any leading spaces;
- startPos++;
while ((startPos < length) && ((c = valueStr.charAt(startPos)) == ' '))
{
startPos++;
@@ -1091,6 +1091,7 @@
if (c == ')')
{
// This is the end of the list.
+ startPos++;
break;
}
else if (c == '(')
diff --git a/opends/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java b/opends/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java
index 1fbb240..950f682 100644
--- a/opends/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java
+++ b/opends/src/server/org/opends/server/schema/MatchingRuleUseSyntax.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;
import org.opends.messages.Message;
@@ -1062,10 +1062,10 @@
}
else if (c == '(')
{
+ startPos++;
while (true)
{
// Skip over any leading spaces;
- startPos++;
while ((startPos < length) && ((c = valueStr.charAt(startPos)) == ' '))
{
startPos++;
@@ -1082,6 +1082,7 @@
if (c == ')')
{
// This is the end of the list.
+ startPos++;
break;
}
else if (c == '(')
diff --git a/opends/src/server/org/opends/server/schema/NameFormSyntax.java b/opends/src/server/org/opends/server/schema/NameFormSyntax.java
index 916bc9e..a75176e 100644
--- a/opends/src/server/org/opends/server/schema/NameFormSyntax.java
+++ b/opends/src/server/org/opends/server/schema/NameFormSyntax.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;
import org.opends.messages.Message;
@@ -1178,10 +1178,10 @@
}
else if (c == '(')
{
+ startPos++;
while (true)
{
// Skip over any leading spaces;
- startPos++;
while ((startPos < length) && ((c = valueStr.charAt(startPos)) == ' '))
{
startPos++;
@@ -1199,6 +1199,7 @@
if (c == ')')
{
// This is the end of the list.
+ startPos++;
break;
}
else if (c == '(')
diff --git a/opends/src/server/org/opends/server/schema/ObjectClassSyntax.java b/opends/src/server/org/opends/server/schema/ObjectClassSyntax.java
index cca31c1..8ba85cf 100644
--- a/opends/src/server/org/opends/server/schema/ObjectClassSyntax.java
+++ b/opends/src/server/org/opends/server/schema/ObjectClassSyntax.java
@@ -1426,10 +1426,10 @@
}
else if (c == '(')
{
+ startPos++;
while (true)
{
// Skip over any leading spaces;
- startPos++;
while ((startPos < length) && ((c = valueStr.charAt(startPos)) == ' '))
{
startPos++;
@@ -1447,6 +1447,7 @@
if (c == ')')
{
// This is the end of the list.
+ startPos++;
break;
}
else if (c == '(')
--
Gitblit v1.10.0