Hi john, can you fill a JIRA with this error ? Otherwise we may forget about it if we decide to fix it, say, in 2 weeks...
Thanks for the report ! On 9/11/07, John Lacey <[EMAIL PROTECTED]> wrote: > I'm testing this with Apache DS 1.0.2 running on Windows 2000 and > 1.5.1 running on Mac OS X using ldapsearch on Mac OS X 10.4. > > If I search for "(unknown=*)" I correctly get no results. But if I > search for "(&(unknown=*))" I get: > > Caused by: javax.naming.NamingExc > eption: OID for name 'unknown' was not found within the OID registry > at org > .apache.directory.server.schema.registries.DefaultOidRegistry.getOid > (Default > OidRegistry.java:113) > at org.apache.directory.server.core.normalization.Nor > malizingVisitor.visit(NormalizingVisitor.java:88) > ... 25 more > > Other variations of boolean operators also fail, such as "(|(uid=*) > (unknown=*))" where "(uid=*)" by itself yields results. > > According to RFC 4511 section 4.5.1, servers MUST NOT return errors > in this situation. > > I found similar bugs, such as DIRSERVER-645 and DIRSERVER-836, but > nothing covering this exact situation. > > The full ldapsearch command line and output: > > $ ldapsearch -x -H ldap://localhost:10389 -D 'uid=admin,ou=system' -w > **** -b 'ou=system' -s sub '(&(unknown=*))' uid > # extended LDIF > # > # LDAPv3 > # base <ou=system> with scope sub > # filter: (&(unknown=*)) > # requesting: uid > # > > # search result > search: 2 > result: 36 Alias dereferencing problem > text: failed on search operation: Unexpected exception.: > SearchRequest > > baseDn : 'ou=system' > filter : '(& (unknown=*) ) ' > scop > e : whole subtree > typesOnly : false > no limit > Time Limit : no > limit > Deref Aliases : never Deref Aliases > attributes : 'uid > ' > : > org.apache.directory.server.core.interceptor.InterceptorException: Unexp > ected exception. [Root exception is java.lang.RuntimeException: OID > for name > 'unknown' was not found within the OID registry] > at org.apache.directory.s > erver.core.interceptor.InterceptorChain.throwInterceptorException > (Intercepto > rChain.java:1472) > at org.apache.directory.server.core.interceptor.Intercept > orChain.search(InterceptorChain.java:888) > at org.apache.directory.server.co > re.partition.PartitionNexusProxy.search(PartitionNexusProxy.java:492) > at or > g.apache.directory.server.core.partition.PartitionNexusProxy.search > (Partitio > nNexusProxy.java:434) > at org.apache.directory.server.core.jndi.ServerContex > t.doSearchOperation(ServerContext.java:249) > at org.apache.directory.server. > core.jndi.ServerDirContext.search(ServerDirContext.java:642) > at org.apache. > directory.server.ldap.support.SearchHandler.messageReceived > (SearchHandler.ja > va:376) > at > org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived( > DemuxingIoHandler.java:141) > at org.apache.directory.server.ldap.LdapProtoco > lProvider$LdapProtocolHandler.messageReceived > (LdapProtocolProvider.java:428) > at org.apache.mina.common.support.AbstractIoFilterChain > $TailFilter.message > Received(AbstractIoFilterChain.java:570) > at org.apache.mina.common.support. > AbstractIoFilterChain.callNextMessageReceived > (AbstractIoFilterChain.java:299 > ) > at > org.apache.mina.common.support.AbstractIoFilterChain.access$1100(Abstr > actIoFilterChain.java:53) > at org.apache.mina.common.support.AbstractIoFilte > rChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648) > at org.a > pache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush > (SimpleProt > ocolDecoderOutput.java:58) > at org.apache.mina.filter.codec.ProtocolCodecFil > ter.messageReceived(ProtocolCodecFilter.java:176) > at org.apache.mina.common > .support.AbstractIoFilterChain.callNextMessageReceived > (AbstractIoFilterChain > .java:299) > at > org.apache.mina.common.support.AbstractIoFilterChain.access$1 > 100(AbstractIoFilterChain.java:53) > at org.apache.mina.common.support.Abstra > ctIoFilterChain$EntryImpl$1.messageReceived > (AbstractIoFilterChain.java:648) > > at > org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilt > er.java:220) > at org.apache.mina.filter.executor.ExecutorFilter$ProcessEvent > sRunnable.run(ExecutorFilter.java:264) > at java.util.concurrent.ThreadPoolEx > ecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at java.util.concurrent. > ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thr > ead.run(Thread.java:613) > Caused by: java.lang.RuntimeException: OID for name > 'unknown' was not found within the OID registry > at org.apache.directory.se > rver.core.normalization.NormalizingVisitor.visit > (NormalizingVisitor.java:93) > at > org.apache.directory.shared.ldap.filter.PresenceNode.accept(PresenceNod > e.java:97) > at org.apache.directory.shared.ldap.filter.BranchNode.accept > (Bra > nchNode.java:408) > at org.apache.directory.server.core.normalization.Normali > zationService.search(NormalizationService.java:210) > at org.apache.directory > .server.core.interceptor.InterceptorChain.search > (InterceptorChain.java:880) > > ... 21 more > Caused by: javax.naming.NamingException: OID for name 'unknown' > was not found within the OID registry > at org.apache.directory.server.schem > a.registries.DefaultOidRegistry.getOid(DefaultOidRegistry.java:113) > at org. > apache.directory.server.core.normalization.NormalizingVisitor.visit > (Normaliz > ingVisitor.java:88) > ... 25 more > > > # numResponses: 1 > > -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com
