[
https://issues.apache.org/jira/browse/DIRSERVER-832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12481834
]
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: https://issues.apache.org/jira/browse/DIRSERVER-832
> 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
> is DAMN WRONG !!!
> ...
> 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.