You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2016/03/07 13:37:40 UTC
[jira] [Resolved] (DIRAPI-275) Many AttributeType are defined with
the wrong m-usage
[ https://issues.apache.org/jira/browse/DIRAPI-275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Lecharny resolved DIRAPI-275.
--------------------------------------
Resolution: Fixed
Fixed with http://svn.apache.org/viewvc?rev=1733898&view=rev and http://svn.apache.org/viewvc?rev=1733900&view=rev
> Many AttributeType are defined with the wrong m-usage
> -----------------------------------------------------
>
> Key: DIRAPI-275
> URL: https://issues.apache.org/jira/browse/DIRAPI-275
> Project: Directory Client API
> Issue Type: Bug
> Affects Versions: 1.0.0-M33
> Reporter: Emmanuel Lecharny
> Fix For: 1.0.0-M34
>
>
> We have some mixture of attributeTypes defined in two ways :
> {noformat}
> ..
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=apache/ou=attributetypes/m-oid=1.3.6.1.1.16.4.ldif:m-usage: DIRECTORY_OPERATION
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=apache/ou=attributetypes/m-oid=1.3.6.1.1.20.ldif:m-usage: DIRECTORY_OPERATION
> ...
> {noformat}
> but
> {noformat}
> ...
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=pwdpolicy/ou=attributetypes/m-oid=1.3.6.1.4.1.42.2.27.8.1.16.ldif:m-usage: directoryOperation
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=pwdpolicy/ou=attributetypes/m-oid=1.3.6.1.4.1.42.2.27.8.1.17.ldif:m-usage: directoryOperation
> ...
> {noformat}
> The schema parser does not bail out because of this (ugly) method in {{UsageEnum}} class :
> {noformat}
> /**
> * Gets the enumeration type for the attributeType usage string regardless
> * of case.
> *
> * @param usage the usage string
> * @return the usage enumeration type
> */
> public static UsageEnum getUsage( String usage )
> {
> try
> {
> UsageEnum result = valueOf( usage );
> return result;
> }
> catch ( IllegalArgumentException iae )
> {
> if ( "directoryOperation".equals( usage ) )
> {
> return DIRECTORY_OPERATION;
> }
> else if ( "distributedOperation".equals( usage ) )
> {
> return DISTRIBUTED_OPERATION;
> }
> else if ( "dSAOperation".equals( usage ) )
> {
> return DSA_OPERATION;
> }
> else if ( "userApplications".equals( usage ) )
> {
> return USER_APPLICATIONS;
> }
> else
> {
> return null;
> }
> }
> }
> {noformat}
> Not that when we have the wrong format, we fall back to a case sensitive comparison. This is very weak...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)