Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-1158

ClassCastException while handling binary value

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Invalid
    • None
    • 1.5.2
    • None
    • None
    • r640455 of bigbang-with-dependencies, r640484 of studio trunk

    Description

      Setting an attribute to an octet string produces an exception on the server:

      java.lang.ClassCastException: java.lang.String
      at org.apache.directory.server.core.entry.ServerBinaryValue.normalize(ServerBinaryValue.java:190)
      at org.apache.directory.server.core.entry.ServerBinaryValue.getNormalizedValueReference(ServerBinaryValue.java:234)
      at org.apache.directory.server.core.entry.ServerBinaryValue.hashCode(ServerBinaryValue.java:476)
      at java.util.HashMap.containsKey(HashMap.java:377)
      at java.util.HashSet.contains(HashSet.java:182)
      at org.apache.directory.server.core.entry.DefaultServerAttribute.add(DefaultServerAttribute.java:664)
      at org.apache.directory.server.core.entry.DefaultServerAttribute.add(DefaultServerAttribute.java:775)
      at org.apache.directory.server.core.entry.ServerEntryUtils.toServerAttribute(ServerEntryUtils.java:153)
      at org.apache.directory.server.core.entry.ServerEntryUtils.toModification(ServerEntryUtils.java:418)
      at org.apache.directory.server.core.entry.ServerEntryUtils.toServerModification(ServerEntryUtils.java:483)
      at org.apache.directory.server.core.jndi.ServerDirContext.modifyAttributes(ServerDirContext.java:225)
      at org.apache.directory.server.ldap.support.DefaultModifyHandler.modifyMessageReceived(DefaultModifyHandler.java:83)
      at org.apache.directory.server.ldap.support.ModifyHandler.messageReceived(ModifyHandler.java:38)
      at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:141)
      at org.apache.directory.server.ldap.LdapServer$LdapProtocolHandler.messageReceived(LdapServer.java:1095)
      at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
      at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
      at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
      at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
      at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
      at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
      at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
      at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
      at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
      at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
      at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
      at java.lang.Thread.run(Thread.java:595)

      The error occurs here:

      normalizedValue = ( byte[] ) normalizer.normalize( getCopy() );

      See the attached test case. It also covers https://issues.apache.org/jira/browse/DIRSERVER-1156.

      Attachments

        1. ServerBinaryValueTest.java
          4 kB
          David Montag
        2. ServerBinaryValueTest.ldif
          2 kB
          David Montag

        Issue Links

          Activity

            People

              elecharny Emmanuel Lécharny
              mov David Montag
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: