You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@directory.apache.org by Andreas Kyrmegalos <an...@vivodinet.gr> on 2008/06/15 19:07:01 UTC

Unable to make ACI to work

Hello,
  I am trying to setup the ACI authorization system. Unfortunately, I 
haven't been able to.

I am using version 1.0.2 on a windowsXP machine.

The partition is defined as follows:

<bean id="testparPartitionConfiguration" 
class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
    <property name="name" value="testpar" />
    <property name="cacheSize" value="10"/>
    <property name="suffix" value="o=testpar" />
    <property name="optimizerEnabled" value="true" />
    <property name="synchOnWrite" value="true" />
    <property name="indexedAttributes">
      <set>
        <bean 
class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
          <property name="attributeId" value="cn" />
          <property name="cacheSize" value="10" />
        </bean>
        <bean 
class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
          <property name="attributeId" value="uid" />
          <property name="cacheSize" value="10" />
        </bean>
        <bean 
class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
          <property name="attributeId" value="objectClass" />
          <property name="cacheSize" value="10" />
        </bean>
      </set>
    </property>
    <property name="contextEntry">
      <value>
        objectClass: top
        objectClass: organization
        objectClass: extensibleObject
        o: testpar
      </value>
    </property>
</bean>


The partition dump is:

# ========================================================================
# ApacheDS Tools Version: 1.0.2
# Partition Directory: c:\program 
files\apacheds-1.0.2\var\partitions\testpar
# ========================================================================


#---------------------
# Entry: 1
#---------------------

dn: o=testpar
o: testpar
administrativerole: accessControlSpecificArea
objectclass: top
objectclass: organization
objectclass: extensibleObject
accessControlSubentries: 
2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
 .4.10=testpar
modifyTimestamp: 20080615160255Z
modifiersName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system


#---------------------
# Entry: 2
#---------------------

dn: ou=people,o=testpar
createTimestamp: 20080615160255Z
ou: people
objectclass: organizationalunit
objectclass: top
accessControlSubentries: 
2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
 .4.10=testpar
description: Contains entries which describe persons (employees)
creatorsName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system


#---------------------
# Entry: 3
#---------------------

dn: uid=testme,ou=people,o=testpar
uid: testme
userpassword:: e1NIQX1Pcjd4b1V6T3pTRFd6b2tzdmdRcTV0ZEpSc2c9
sn: testme
createTimestamp: 20080615160255Z
ou: people
cn: testme testme
givenname: testme
o: testpar
objectclass: person
objectclass: inetorgperson
objectclass: organizationalperson
objectclass: top
accessControlSubentries: 
2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
 .4.10=testpar
creatorsName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system


#---------------------
# Entry: 4
#---------------------

dn: cn=testparauthorizationrequirementsacisubentry,o=testpar
createTimestamp: 20080615160255Z
cn: testparauthorizationrequirementsacisubentry
prescriptiveaci:: base64encoded entry here
prescriptiveaci:: base64encoded entry here
accessControlSubentries: 
2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
 .4.10=testpar
objectclass: subentry
objectclass: accesscontrolsubentry
objectclass: top
subtreespecification: {}
creatorsName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system

The decoded first prescriptiveaci entry is:

{
  identificationTag "directoryManagerFullAccessACI",
  precedence 11,
  authenticationLevel simple,
  itemOrUserFirst userFirst:
  {
    userClasses{name{"uid=testme,ou=people,o=testpar"}},
    userPermissions
    {
      {
        protectedItems{entry},
        
grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantBrowse,grantExport,grantImport,grantModify,grantRename,grantReturnDN}
      },
      {
        protectedItems{allUserAttributeTypesAndValues},
        
grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantCompare,grantFilterMatch,grantInvoke}
      }
    }
  }
}

The decoded second prescriptiveaci entry is:

{
  identificationTag "allUsersACI",
  precedence 10,
  authenticationLevel none,
  itemOrUserFirst userFirst:
  {
    userClasses{allUsers},
    userPermissions
    {
      {
        protectedItems{entry},
        
grantsAndDenials{grantDiscloseOnError,grantRead,grantBrowse,grantReturnDN}
      },
      {
        protectedItems{allUserAttributeTypesAndValues},
        
grantsAndDenials{grantDiscloseOnError,grantRead,grantCompare,grantFilterMatch}
      },
      {
        protectedItems{attributeType{userPassword}},
        grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
      },
      {
        protectedItems{attributeValue{superUser}},
        grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
      }
    }
  }
}

Anonymous access is disabled and the ACI system is enabled in server.xml
Both prescripriveaci entries seems to be ignored. Any ideas?

Andreas

Re: Unable to make ACI to work

Posted by Ersin Er <er...@gmail.com>.
Hi,

You may need to add white spaces before and after some curly braces.

HTH,

Ersin Er
http://www.ersin-er.name

On Sun, Jun 15, 2008 at 22:35, Andreas Kyrmegalos <an...@vivodinet.gr>
wrote:

> Hello again,
>  this is what gets logged when the aci related subentry is created:
>
> [22:07:09] ERROR [org.apache.directory.server.core.authz.TupleCache] -
> ACIItem parser failure on
> 'null'
> due to syntax error. Cannnot add ACITuples to TupleCache.
> Check that the syntax of the ACI item is correct.
> Until this error is fixed your security settings will not be as expected.
> java.text.ParseException: Parser failure on ACIItem:
>   {
>  identificationTag "directoryManagerFullAccessACI",
>  precedence 11,
>  authenticationLevel simple,
>  itemOrUserFirst userFirst:
>  {
>   userClasses{name{"uid=testme,ou=people,o=testpar"}},
>   userPermissions
>   {
>     {
>       protectedItems{entry},
>
> grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantBrowse,grantExport,grantImport,grantModify,grantRename,grantReturnDN}
>     },
>     {
>       protectedItems{allUserAttributeTypesAndValues},
>
> grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantCompare,grantFilterMatch,grantInvoke}
>     }
>   }
>  }
> }
> Antlr exception trace:
> unexpected token: {
>   at
> org.apache.directory.shared.ldap.aci.ACIItemParser.parse(ACIItemParser.java:128)
>   at
> org.apache.directory.server.core.authz.TupleCache.subentryAdded(TupleCache.java:186)
>   at
> org.apache.directory.server.core.authz.AuthorizationService.add(AuthorizationService.java:383)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
>   at
> org.apache.directory.server.core.referral.ReferralService.add(ReferralService.java:329)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
>   at
> org.apache.directory.server.core.authn.AuthenticationService.add(AuthenticationService.java:197)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
>   at
> org.apache.directory.server.core.normalization.NormalizationService.add(NormalizationService.java:103)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain.add(InterceptorChain.java:706)
>   at
> org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:325)
>   at
> org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:313)
>   at
> org.apache.directory.server.core.jndi.ServerDirContext.createSubcontext(ServerDirContext.java:409)
>   at javax.naming.directory.InitialDirContext.createSubcontext(Unknown
> Source)
>   at
> org.apache.directory.server.ldap.support.AddHandler.messageReceived(AddHandler.java:82)
>   at
> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:144)
>   at
> org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:403)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>   at
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
>   at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:190)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>   at
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
>   at
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
>   at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>   at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>   at java.lang.Thread.run(Unknown Source)
> [22:07:09] ERROR [org.apache.directory.server.core.authz.TupleCache] -
> ACIItem parser failure on
> 'null'
> due to syntax error. Cannnot add ACITuples to TupleCache.
> Check that the syntax of the ACI item is correct.
> Until this error is fixed your security settings will not be as expected.
> java.text.ParseException: Parser failure on ACIItem:
>   {
>  identificationTag "allUsersACI",
>  precedence 10,
>  authenticationLevel none,
>  itemOrUserFirst userFirst:
>  {
>   userClasses{allUsers},
>   userPermissions
>   {
>     {
>       protectedItems{entry},
>
> grantsAndDenials{grantDiscloseOnError,grantRead,grantBrowse,grantReturnDN}
>     },
>     {
>       protectedItems{allUserAttributeTypesAndValues},
>
> grantsAndDenials{grantDiscloseOnError,grantRead,grantCompare,grantFilterMatch}
>     },
>     {
>       protectedItems{attributeType{userPassword}},
>       grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
>     },
>     {
>       protectedItems{attributeValue{superUser}},
>       grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
>     }
>   }
>  }
> }
> Antlr exception trace:
> unexpected token: {
>   at
> org.apache.directory.shared.ldap.aci.ACIItemParser.parse(ACIItemParser.java:128)
>   at
> org.apache.directory.server.core.authz.TupleCache.subentryAdded(TupleCache.java:186)
>   at
> org.apache.directory.server.core.authz.AuthorizationService.add(AuthorizationService.java:383)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
>   at
> org.apache.directory.server.core.referral.ReferralService.add(ReferralService.java:329)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
>   at
> org.apache.directory.server.core.authn.AuthenticationService.add(AuthenticationService.java:197)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
>   at
> org.apache.directory.server.core.normalization.NormalizationService.add(NormalizationService.java:103)
>   at
> org.apache.directory.server.core.interceptor.InterceptorChain.add(InterceptorChain.java:706)
>   at
> org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:325)
>   at
> org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:313)
>   at
> org.apache.directory.server.core.jndi.ServerDirContext.createSubcontext(ServerDirContext.java:409)
>   at javax.naming.directory.InitialDirContext.createSubcontext(Unknown
> Source)
>   at
> org.apache.directory.server.ldap.support.AddHandler.messageReceived(AddHandler.java:82)
>   at
> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:144)
>   at
> org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:403)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>   at
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
>   at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:190)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>   at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>   at
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
>   at
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
>   at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>   at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>   at java.lang.Thread.run(Unknown Source)
>
>
> Hope it helps to shed some light on the matter.
>
> Andreas
>

Re: Unable to make ACI to work

Posted by Andreas Kyrmegalos <an...@vivodinet.gr>.
Hello again,
   this is what gets logged when the aci related subentry is created:

[22:07:09] ERROR [org.apache.directory.server.core.authz.TupleCache] - 
ACIItem parser failure on
'null'
due to syntax error. Cannnot add ACITuples to TupleCache.
Check that the syntax of the ACI item is correct.
Until this error is fixed your security settings will not be as expected.
java.text.ParseException: Parser failure on ACIItem:
    {
  identificationTag "directoryManagerFullAccessACI",
  precedence 11,
  authenticationLevel simple,
  itemOrUserFirst userFirst:
  {
    userClasses{name{"uid=testme,ou=people,o=testpar"}},
    userPermissions
    {
      {
        protectedItems{entry},
        
grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantBrowse,grantExport,grantImport,grantModify,grantRename,grantReturnDN}
      },
      {
        protectedItems{allUserAttributeTypesAndValues},
        
grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantCompare,grantFilterMatch,grantInvoke}
      }
    }
  }
}
Antlr exception trace:
unexpected token: {
    at 
org.apache.directory.shared.ldap.aci.ACIItemParser.parse(ACIItemParser.java:128)
    at 
org.apache.directory.server.core.authz.TupleCache.subentryAdded(TupleCache.java:186)
    at 
org.apache.directory.server.core.authz.AuthorizationService.add(AuthorizationService.java:383)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
    at 
org.apache.directory.server.core.referral.ReferralService.add(ReferralService.java:329)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
    at 
org.apache.directory.server.core.authn.AuthenticationService.add(AuthenticationService.java:197)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
    at 
org.apache.directory.server.core.normalization.NormalizationService.add(NormalizationService.java:103)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain.add(InterceptorChain.java:706)
    at 
org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:325)
    at 
org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:313)
    at 
org.apache.directory.server.core.jndi.ServerDirContext.createSubcontext(ServerDirContext.java:409)
    at javax.naming.directory.InitialDirContext.createSubcontext(Unknown 
Source)
    at 
org.apache.directory.server.ldap.support.AddHandler.messageReceived(AddHandler.java:82)
    at 
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:144)
    at 
org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:403)
    at 
org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
    at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
    at 
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
    at 
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:190)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
    at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
    at 
org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
    at 
org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
    at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
    at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
    at java.lang.Thread.run(Unknown Source)
[22:07:09] ERROR [org.apache.directory.server.core.authz.TupleCache] - 
ACIItem parser failure on
'null'
due to syntax error. Cannnot add ACITuples to TupleCache.
Check that the syntax of the ACI item is correct.
Until this error is fixed your security settings will not be as expected.
java.text.ParseException: Parser failure on ACIItem:
    {
  identificationTag "allUsersACI",
  precedence 10,
  authenticationLevel none,
  itemOrUserFirst userFirst:
  {
    userClasses{allUsers},
    userPermissions
    {
      {
        protectedItems{entry},
        
grantsAndDenials{grantDiscloseOnError,grantRead,grantBrowse,grantReturnDN}
      },
      {
        protectedItems{allUserAttributeTypesAndValues},
        
grantsAndDenials{grantDiscloseOnError,grantRead,grantCompare,grantFilterMatch}
      },
      {
        protectedItems{attributeType{userPassword}},
        grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
      },
      {
        protectedItems{attributeValue{superUser}},
        grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
      }
    }
  }
}
Antlr exception trace:
unexpected token: {
    at 
org.apache.directory.shared.ldap.aci.ACIItemParser.parse(ACIItemParser.java:128)
    at 
org.apache.directory.server.core.authz.TupleCache.subentryAdded(TupleCache.java:186)
    at 
org.apache.directory.server.core.authz.AuthorizationService.add(AuthorizationService.java:383)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
    at 
org.apache.directory.server.core.referral.ReferralService.add(ReferralService.java:329)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
    at 
org.apache.directory.server.core.authn.AuthenticationService.add(AuthenticationService.java:197)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1181)
    at 
org.apache.directory.server.core.normalization.NormalizationService.add(NormalizationService.java:103)
    at 
org.apache.directory.server.core.interceptor.InterceptorChain.add(InterceptorChain.java:706)
    at 
org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:325)
    at 
org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:313)
    at 
org.apache.directory.server.core.jndi.ServerDirContext.createSubcontext(ServerDirContext.java:409)
    at javax.naming.directory.InitialDirContext.createSubcontext(Unknown 
Source)
    at 
org.apache.directory.server.ldap.support.AddHandler.messageReceived(AddHandler.java:82)
    at 
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:144)
    at 
org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:403)
    at 
org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
    at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
    at 
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
    at 
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:190)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
    at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
    at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
    at 
org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
    at 
org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
    at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
    at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
    at java.lang.Thread.run(Unknown Source)


Hope it helps to shed some light on the matter.

Andreas