You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2006/12/22 21:08:11 UTC
svn commit: r489744 - in /directory/trunks/shared/ldap/src:
main/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxChecker.java
test/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxCheckerTest.java
Author: elecharny
Date: Fri Dec 22 12:08:10 2006
New Revision: 489744
URL: http://svn.apache.org/viewvc?view=rev&rev=489744
Log:
Fixed a check : the '#' char should always been escaped unless it is the separator
Modified:
directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxChecker.java
directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxCheckerTest.java
Modified: directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxChecker.java?view=diff&rev=489744&r1=489743&r2=489744
==============================================================================
--- directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxChecker.java (original)
+++ directory/trunks/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxChecker.java Fri Dec 22 12:08:10 2006
@@ -102,9 +102,18 @@
if ( sharpPos != -1 )
{
+ // Now, check that we don't have another '#'
+ if ( strValue.indexOf( '#' ) != sharpPos )
+ {
+ // Yes, we have one : this is not allowed, it should have been
+ // escaped.
+ return false;
+ }
+
// This is an UID if the '#' is immediatly
// followed by a BitString, except if the '#' is
// on the last position
+ // We shoould not find a
if ( BitStringSyntaxChecker.isValid( strValue.substring( sharpPos + 1 ) ) &&
( sharpPos < strValue.length() ) )
{
@@ -122,7 +131,8 @@
}
else
{
- return LdapDN.isValid( strValue );
+ // We have found a '#' but no UID part.
+ return false;
}
}
else
Modified: directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxCheckerTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxCheckerTest.java?view=diff&rev=489744&r1=489743&r2=489744
==============================================================================
--- directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxCheckerTest.java (original)
+++ directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/NameAndOptionalUIDSyntaxCheckerTest.java Fri Dec 22 12:08:10 2006
@@ -65,6 +65,9 @@
public void testWrongUID()
{
assertFalse( checker.isValidSyntax( "#'0101'B" ) );
+ assertFalse( checker.isValidSyntax( "a=\\#,e=f#'1010'B" ) );
+ assertFalse( checker.isValidSyntax( "a=b##'0101'B" ) );
+ assertFalse( checker.isValidSyntax( "a=b#'0101'C" ) );
}
@@ -84,10 +87,5 @@
assertTrue( checker.isValidSyntax( "a=b + c=d#'1010'B" ) );
assertTrue( checker.isValidSyntax( "a=b,c=d#'1010'B" ) );
assertTrue( checker.isValidSyntax( "a=b\\,c = d, e=f#'1010'B" ) );
- assertTrue( checker.isValidSyntax( "a=b\\,c = \\#0A0A, e=f#'1010'B" ) );
-
- // With 'false' UID (they are part of DN)
- assertTrue( checker.isValidSyntax( "a=b##'0101'B" ) );
- assertTrue( checker.isValidSyntax( "a=b#'0101'C" ) );
}
}