[ https://issues.apache.org/jira/browse/DIRAPI-395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Lécharny resolved DIRAPI-395. -------------------------------------- Fix Version/s: 2.1.6 Resolution: Fixed Patch applied in branch 2.1.X. Thanks! > Improve unescaped backslash handling in DESC for IBM's directory servers > ------------------------------------------------------------------------ > > Key: DIRAPI-395 > URL: https://issues.apache.org/jira/browse/DIRAPI-395 > Project: Directory Client API > Issue Type: Improvement > Reporter: Hiroyuki Wada > Priority: Major > Fix For: 2.1.6 > > > IBM Security Verify Directory (formerly known as IBM Security Directory > Server, and previously as IBM Tivoli Directory Server) uses Non-comliant LDAP > schema definitions. Specifically, there are cases where DESC contains > unescaped backslashes, like the following example. > {noformat} > attributeTypes: ( 1.3.18.0.2.4.575 NAME 'role' DESC 'Based on CIM. A free > form string describing the role of the Processor - for example, \Central > Processor\ or \Math Processor\.' EQUALITY 2.5.13.2 SYNTAX > 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) > {noformat} > Unfortunately, in the current implementation, the position of backslash can > lead to error. For example, parsing the above schema using the > AttributeTypeDescriptionSchemaParser results in a > java.lang.ArrayIndexOutOfBoundsException. > {noformat} > Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 118 out of bounds > for length 118 > at > org.apache.directory.api.ldap.model.schema.parsers.OpenLdapSchemaParser.getQDString(OpenLdapSchemaParser.java:1835) > at > org.apache.directory.api.ldap.model.schema.parsers.OpenLdapSchemaParser.parseAttributeTypeRelaxed(OpenLdapSchemaParser.java:3167) > at > org.apache.directory.api.ldap.model.schema.parsers.OpenLdapSchemaParser.parseAttributeType(OpenLdapSchemaParser.java:2811) > at > org.apache.directory.api.ldap.model.schema.parsers.AttributeTypeDescriptionSchemaParser.parse(AttributeTypeDescriptionSchemaParser.java:81) > at > org.apache.directory.ldap.client.api.DefaultSchemaLoader.loadAttributeTypes(DefaultSchemaLoader.java:358) > at > org.apache.directory.ldap.client.api.DefaultSchemaLoader.loadSchemas(DefaultSchemaLoader.java:301) > at > org.apache.directory.ldap.client.api.DefaultSchemaLoader.<init>(DefaultSchemaLoader.java:188) > {noformat} > To address this issue, I've wrote a patch that allows unescaped backslash in > DESC during parsing when quirks mode is enabled. I have pushed the > implementation to the following GitHub URL: > https://github.com/openstandia/directory-ldap-api/commits/improve-desc-escape > If this improvement is welcome, I would like to submit a pull request. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@directory.apache.org For additional commands, e-mail: dev-h...@directory.apache.org