directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <>
Subject [jira] Commented: (DIRSERVER-832) Added Attributes are all case sensitive
Date Sat, 17 Mar 2007 09:05:09 GMT


Emmanuel Lecharny commented on DIRSERVER-832:

I have started to fix this one, and it will take time.

Here is what is going to happen :
- I will remove all the String reference to LDAP objectClasses and Attributes out of the code
: no more "objectClass", "top" or whatever. Those String will now be constants declared in
the shared-ldap-constants.
- these Strings won't be removed from tests : this is dangerous, as we may have to test that
"TOP" or "top" is accepted by the server. Tester know what they are doing :)
- The apacheds-constants will get purged from the constants declared in shared-ldap. The apacheds-constants
will only contians specific constants for apacheds, like meta-schema constants
- inside the server, developpers should *not* use direct access to attribute's values like
shown in the initial bug report. Instead, they should use the AttributeUtils.containsValue()
for this purpose (in shared-ldap).  This method use the registry to allow comparizons based
on the defined matching rules for each attributes.

That's it ...

> Added Attributes are all case sensitive
> ---------------------------------------
>                 Key: DIRSERVER-832
>                 URL:
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 1.5.0, 1.0
>            Reporter: Emmanuel Lecharny
>         Assigned To: Emmanuel Lecharny
>            Priority: Blocker
>             Fix For: 1.5.0
> The server is working, but this is pure luck !
> When we add some attribute, like ObjectClass, the values are added into it caseSensitive.
> For instance, adding 'person' and 'PERSON' is just adding two values into the attribute.
> So far, so good. Now, we have many places in the server where wo do case sensitive comparizon
on suposely case insensitive values (like for objectclasses). For instance, in SchemService
> ...
>     private int getSubentryTypes( Attributes subentry ) throws NamingException
>     {
>         int types = 0;
>         Attribute oc = subentry.get( "objectClass" );
>         if ( oc.contains( "accessControlSubentry" ) ) <<<--------------- This
> ...
> At this point, I suspect the 1.0.0 version is not amendable. We must fix it in 1.5, using
the MatchingRules to manage comparizons on attributes.
> I hope I'm totally wrong, but I'm really scared... It looks like you go to the doctor
wor that little red spot on your skin, and it turns out you have a hopeless cancer ...

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message