directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Seelmann <seelm...@apache.org>
Subject Re: [jira] Commented: (DIRSERVER-916) SubtreeSpecificationParser and LDAP filter
Date Sun, 01 Jul 2007 16:18:17 GMT
I am checking it...


Alex Karasulu schrieb:
> thought so but we need to have someone confirm it
> alex
> 
> On 7/1/07, *Ersin Er (JIRA)* <jira@apache.org <mailto:jira@apache.org>>
> wrote:
> 
> 
>         [
>     https://issues.apache.org/jira/browse/DIRSERVER-916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509336
>     ]
> 
>     Ersin Er commented on DIRSERVER-916:
>     ------------------------------------
> 
>     Haven't we fixed this ?
> 
>     > SubtreeSpecificationParser and LDAP filter
>     > ------------------------------------------
>     >
>     >                 Key: DIRSERVER-916
>     >                 URL:
>     https://issues.apache.org/jira/browse/DIRSERVER-916
>     >             Project: Directory ApacheDS
>     >          Issue Type: Bug
>     >            Reporter: Stefan Seelmann
>     >             Fix For: 1.5.1
>     >
>     >
>     > I got a curious error. While playing with the new LS
>     subtreespecification editor and writing a subtreespecification with
>     an LDAP filter the SubtreeSpecificationParser *sometimes* gets killed.
>     > It seems like the parser is stateful. If I first write some
>     subtreespecifications w/o an LDAP filter the parser seems to be
>     stable. But when adding it just after starting the server the parser
>     dies with an "Read end dead".
>     > It was able to reproduce it with the following steps, using the trunk:
>     > 1.) Create an entry with the following subtreespecification
>     > -------------------------------------------------------------------
>     > dn: cn=subentry,dc=example,dc=com
>     > objectClass: accessControlSubentry
>     > objectClass: subentry
>     > objectClass: top
>     > cn: subentry
>     > prescriptiveaci: { identificationTag "dummy", precedence 1,
>     authenticationLe
>     >  vel none, itemOrUserFirst userFirst: { userClasses {  },
>     userPermissions {
>     >   } } }
>     > subtreespecification: { specificationFilter (cn=test)  }
>     > -------------------------------------------------------------------
>     > 2.) Shutdown the server
>     > 3.) Startup the server
>     > 4.) Overwrite the subtreespecification value with a refinement
>     > -------------------------------------------------------------------
>     > dn: cn=subentry,dc=example,dc=com
>     > changetype: modify
>     > replace: subtreespecification
>     > subtreespecification: { specificationFilter item:top  }
>     > -
>     > -------------------------------------------------------------------
>     > 4.) Overwrite the subtreespecification value with a filter
>     > -------------------------------------------------------------------
>     > dn: cn=subentry,dc=example,dc=com
>     > changetype: modify
>     > replace: subtreespecification
>     > subtreespecification: { specificationFilter (cn=test)  }
>     > -
>     > -------------------------------------------------------------------
>     > The client receives the following error message:
>     > -------------------------------------------------------------------
>     > ldap_modify: Invalid syntax (21)
>     >         additional info: failed to modify entry
>     cn=subentry,dc=example,dc=com: failed to parse the new
>     subtreeSpecification
>     > -------------------------------------------------------------------
>     > The server throws the following exception:
>     > -------------------------------------------------------------------
>     > [22:46:49] ERROR
>     [org.apache.directory.server.core.subtree.SubentryService] - failed
>     to parse the new subtreeSpecification
>     > java.text.ParseException: Parser failure on subtree specification:
>     >         { specificationFilter (cn=test)  }
>     > Antlr exception trace:
>     > filterParser failed. Read end dead
>     >         at
>     org.apache.directory.shared.ldap.subtree.SubtreeSpecificationParser.parse
>     (SubtreeSpecificationParser.java:133)
>     >         at
>     org.apache.directory.server.core.subtree.SubentryService.modify(SubentryService.java:1045)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.schema.SchemaService.modify(SchemaService.java:1517)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.operational.OperationalAttributeService.modify(OperationalAttributeService.java:177)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.exception.ExceptionService.modify(ExceptionService.java:291)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.authz.DefaultAuthorizationService.modify(DefaultAuthorizationService.java:241)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.authz.AuthorizationService.modify(AuthorizationService.java:510)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.referral.ReferralService.modify(ReferralService.java:746)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.authn.AuthenticationService.modify(AuthenticationService.java:351)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.normalization.NormalizationService.modify(NormalizationService.java:132)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain.modify
>     (InterceptorChain.java:761)
>     >         at
>     org.apache.directory.server.core.partition.PartitionNexusProxy.modify(PartitionNexusProxy.java:362)
>     >         at
>     org.apache.directory.server.core.partition.PartitionNexusProxy.modify
>     (PartitionNexusProxy.java:349)
>     >         at
>     org.apache.directory.server.core.jndi.ServerDirContext.modifyAttributes(ServerDirContext.java:233)
>     >         at
>     javax.naming.directory.InitialDirContext.modifyAttributes
>     (InitialDirContext.java:153)
>     >         at
>     org.apache.directory.server.ldap.support.ModifyHandler.messageReceived(ModifyHandler.java:80)
>     >         at
>     org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived
>     (DemuxingIoHandler.java:144)
>     >         at
>     org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:427)
>     >         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.LoggingFilter.messageReceived
>     (LoggingFilter.java:97)
>     >         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(Thread.java:595)
>     > -------------------------------------------------------------------
>     > Now when trying to modify the subtreespecification again, the
>     client gets the follwoing message, but no server logs:
>     > -------------------------------------------------------------------
>     > ldap_modify: Loop detected (54)
>     >         additional info: failed to modify entry
>     cn=subentry,dc=example,dc=com: Unexpected exception
>     > -------------------------------------------------------------------
>     > The same error occurs when trying to delete the entry
> 
>     --
>     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