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)" <di...@incubator.apache.org> on 2005/09/27 00:30:53 UTC

[jira] Assigned: (DIRSNICKERS-109) [TWIX] encoding : missing accents

     [ http://issues.apache.org/jira/browse/DIRSNICKERS-109?page=all ]

Emmanuel Lecharny reassigned DIRSNICKERS-109:
---------------------------------------------

    Assign To: Emmanuel Lecharny  (was: Alex Karasulu)

> [TWIX] encoding : missing accents
> ---------------------------------
>
>          Key: DIRSNICKERS-109
>          URL: http://issues.apache.org/jira/browse/DIRSNICKERS-109
>      Project: Directory ASN1
>         Type: Bug
>   Components: BER Runtime
>     Reporter: Jérôme Baumgarten
>     Assignee: Emmanuel Lecharny

>
> It seems there are problems when encoding accents (I believe it is same with exotic characters like ?).
> In TwixTransformer, private LdapResult transformLdapResult(LdapResultImpl snickersLdapResult),
> I think that line 729 shoud be
> twixLdapResult.setErrorMessage( new LdapString( snickersLdapResult.getErrorMessage().getBytes("UTF-8") ) );
> an error message can contain accents (or at least that's what I think, I haven't checked with the RFC, it's getting kinda late here in Paris).
> Line 753 should be
> twixLdapResult.setMatchedDN( new LdapDN( snickersLdapResult.getMatchedDn().getBytes("UTF-8") ) );
> Line 780 should be
> LdapURL ldapUrl = new LdapURL( referral.getBytes("UTF-8") );
> In TwixTransformer, private void transformSearchResultEntry( LdapMessage twixMessage, Message snickersMessage )
> Line 977 should be (a DN can definitely contain accents)
> searchResultEntry.setObjectName( new LdapDN( snickersSearchResultResponse.getObjectName().getBytes("UTF-8") ) );
> SearchResultEntry, public int computeLength() does take into account the fact that the the string value(s) of the attribute will be encoded as UTF-8 in Value.encode(ByteBuffer buffer, String string). So if the value contains characters coded on 2 bytes, there will be an EncoderException saying that the PDU buffer size is too small. Also, according to a mail exchange I had with Emmanuel, there also is another mistake in the length computation, it should be something like :
> byte[] bytes = stringValue.getBytes( "UTF-8" );
> localValuesLength += 1 + Length.getNbBytes( bytes.length ) +
> bytes.length;
> Jerome

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira