directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Klemen Zagar (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRSERVER-1009) ASN.1 decoder does not use UTF-8 encoding for strings
Date Wed, 25 Jul 2007 17:59:31 GMT
ASN.1 decoder does not use UTF-8 encoding for strings
-----------------------------------------------------

                 Key: DIRSERVER-1009
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1009
             Project: Directory ApacheDS
          Issue Type: Bug
          Components: asn1
    Affects Versions: 1.5.0
         Environment: JDK 1.6, WinXP
            Reporter: Klemen Zagar


Currently, LDAP ASN.1 decoder transforms byte[] to String via calls such as:

  String any = new String( tlv.getValue().getData() );
  (source: /ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/StoreAnyAction.java,
line 74)

This uses some default encoding, though according to LDAP RFC, UTF-8 should always be used
(http://www.rfc-editor.org/rfc/rfc2251.txt, section 4.1.2).

I recommend that the following code be used for converting byte[] to String:

  // static variable containing the UTF8 encoder
  private static final Charset UTF8 = Charset.forName("UTF8");

  // wherever byte[]->string conversion is needed
  String any = UTF8.decode(tlv.getValue().getData()).toString();

>From user's perspective, the problem is that non-ASCII characters in search filters are
messed up, and search doesn't return any results.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message