ClassCast exception when fetching DNs from root DES
---------------------------------------------------

         Key: DIRSERVER-658
         URL: http://issues.apache.org/jira/browse/DIRSERVER-658
     Project: Directory ApacheDS
        Type: Bug

    Versions: 1.0-RC4    
    Reporter: Emmanuel Lecharny
 Assigned to: Emmanuel Lecharny 


When fetching for DNs in LdapBrowser, you get an exception while encoding the 
SearchResultEntry :

...
Caused by: java.lang.ClassCastException: 
org.apache.directory.shared.ldap.name.LdapDN
        at 
org.apache.directory.shared.ldap.codec.search.SearchResultEntry.computeLength(SearchResultEntry.java:240)
        at 
org.apache.directory.shared.ldap.codec.LdapMessage.computeLength(LdapMessage.java:530)
        at 
org.apache.directory.shared.ldap.codec.LdapMessage.encode(LdapMessage.java:602)
        at 
org.apache.directory.shared.ldap.codec.TwixEncoder.encodeBlocking(TwixEncoder.java:121)
        at 
org.apache.directory.shared.ldap.codec.TwixEncoder.encode(TwixEncoder.java:200)
        at 
org.apache.directory.shared.ldap.message.MessageEncoder.encode(MessageEncoder.java:131)
        at 
org.apache.mina.filter.codec.asn1.Asn1CodecEncoder.encode(Asn1CodecEncoder.java:55)
        at 
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:226)
... 22 more

The problem is that when encoding a SearchResultEntry, the values are supposed 
to be Strings or byte arrays, not LdapDNs. When you fetch for DNs in the root 
DSE, the result is stored in the SearchResultEntry as LdapDN objects, not 
Strings, and it's allowad, as the method which set the value accept an Object.

We have to fix two problems :
- first, check that the Object is either a String or a byte[], nothing else 
(defensive programming)
- second, avoid storing LdapDN objects where String or byte[] are expected :)


-- 
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

Reply via email to