directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSERVER-2026) Version M19 does not allow eszet (ß) in any tested field of inetOrgPerson
Date Mon, 24 Nov 2014 18:04:13 GMT

    [ https://issues.apache.org/jira/browse/DIRSERVER-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14223213#comment-14223213
] 

Emmanuel Lecharny commented on DIRSERVER-2026:
----------------------------------------------

Ok, clear bug. We do a System.arrayCopy() on the String, regardless of the fact that it contains
UTF-8 chars. Typically, that transforms the 'ß' into 'ss', so there is one more char, which
leads to an OutOfBoundsException...

Good catch !

> Version M19 does not allow eszet (ß) in any tested field of inetOrgPerson
> -------------------------------------------------------------------------
>
>                 Key: DIRSERVER-2026
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-2026
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 2.0.0-M19
>         Environment: Windows
>            Reporter: Christian Koller
>
> Type: inetOrgPerson
> Character to add ß  - 0x00DF  in e.g. givenName or postalAddress ApacheDS returns an
error.
> Tested systems: Directory Studio and PHP
> Error returned from: M19
> No error in: M15
> PHP error:
> Other (e.g., implementation specific) error (Error 80)
> Log from Directory Studio:
> #!ERROR [LDAP: error code 80 - OTHER: failed for MessageType : MODIFY_REQUEST Message
ID : 14     Modify Request         Object : 'uid=123456,dc=example,dc=com'             Modification[0]
                Operation :  replace                 Modification givenName: test ß testorg.apache.directory.api.ldap.model.message.ModifyRequestImpl@b71686f1:
35: java.lang.ArrayIndexOutOfBoundsException: 35  	at org.apache.directory.api.ldap.model.schema.PrepareString.map(PrepareString.java:4061)
 	at org.apache.directory.api.ldap.model.schema.PrepareString.insignifiantSpacesString(PrepareString.java:4839)
 	at org.apache.directory.api.ldap.model.schema.PrepareString.normalize(PrepareString.java:257)
 	at org.apache.directory.api.ldap.model.schema.normalizers.DeepTrimToLowerNormalizer.normalize(DeepTrimToLowerNormalizer.java:103)
 	at org.apache.directory.api.ldap.model.schema.normalizers.CachingNormalizer.normalize(CachingNormalizer.java:124)
 	at org.apache.directory.api.ldap.model.entry.AbstractValue.apply(AbstractValue.java:164)
 	at org.apache.directory.api.ldap.model.entry.StringValue.<init>(StringValue.java:108)
 	at org.apache.directory.api.ldap.model.entry.DefaultAttribute.<init>(DefaultAttribute.java:478)
 	at org.apache.directory.server.core.api.entry.ServerEntryUtils.toServerModification(ServerEntryUtils.java:448)
 	at org.apache.directory.server.core.api.entry.ServerEntryUtils.toServerModification(ServerEntryUtils.java:488)
 	at org.apache.directory.server.core.api.interceptor.context.ModifyOperationContext.<init>(ModifyOperationContext.java:105)
 	at org.apache.directory.server.core.shared.DefaultCoreSession.modify(DefaultCoreSession.java:971)
 	at org.apache.directory.server.core.shared.DefaultCoreSession.modify(DefaultCoreSession.java:962)
 	at org.apache.directory.server.ldap.handlers.request.ModifyRequestHandler.handle(ModifyRequestHandler.java:56)
 	at org.apache.directory.server.ldap.handlers.request.ModifyRequestHandler.handle(ModifyRequestHandler.java:39)
 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:207)
 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
 	at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
 	at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:217)
 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:854)
 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542)
 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48)
 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:943)
 	at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)  	at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:475)
 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:429)
 	at java.lang.Thread.run(Unknown Source)  ]
> dn: uid=123456,dc=example,dc=com
> changetype: modify
> replace: givenName
> givenName:: dGVzdCDDnyB0ZXN0



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message