Bug #2750
closedWhen using regexp in nodes search, bad error arise
Description
Doing a search based on the hostname, with a regexp \.*.normation\.com fails with this error
[2012-08-01 11:40:27] ERROR net.liftweb.http.LiftRules - Exception being returned to browser when processing /ajax_request/F1339579337873LQCHTS/: Message: LDAPException(resultCode=87 (filter error), errorMessage='Invalid hex character '.' encountered at position 16.')
com.unboundid.ldap.sdk.Filter.readEscapedHexString(Filter.java:1859)
com.unboundid.ldap.sdk.Filter.create(Filter.java:1628)
com.unboundid.ldap.sdk.Filter.create(Filter.java:1070)
com.normation.ldap.sdk.BuildFilter$.apply(BuildFilter.scala:247)
com.normation.rudder.domain.queries.TStringComparator$class.eqOrSub(CmdbQuery.scala:166)
com.normation.rudder.domain.queries.StringComparator$.eqOrSub(CmdbQuery.scala:170)
com.normation.rudder.domain.queries.StringComparator$.buildFilter(CmdbQuery.scala:175)
com.normation.rudder.domain.queries.Criterion.buildFilter(CmdbQuery.scala:454)
com.normation.rudder.services.queries.InternalLDAPQueryProcessor$$anonfun$23$$anonfun$apply$26.apply(LdapQueryProcessor.scala:537)
com.normation.rudder.services.queries.InternalLDAPQueryProcessor$$anonfun$23$$anonfun$apply$26.apply(LdapQueryProcessor.scala:534)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:60)
scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
scala.collection.mutable.ArrayBuffer.map(ArrayBuffer.scala:47)
com.normation.rudder.services.queries.InternalLDAPQueryProcessor$$anonfun$23.apply(LdapQueryProcessor.scala:534)
com.normation.rudder.services.queries.InternalLDAPQueryProcessor$$anonfun$23.apply(LdapQueryProcessor.scala:533)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.immutable.Map$Map1.foreach(Map.scala:119)
scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
scala.collection.immutable.Map$Map1.map(Map.scala:107)
com.normation.rudder.services.queries.InternalLDAPQueryProcessor.normalize(LdapQueryProcessor.scala:533)
com.normation.rudder.services.queries.InternalLDAPQueryProcessor.internalQueryProcessor(LdapQueryProcessor.scala:237)
com.normation.rudder.services.queries.AccepetedNodesLDAPQueryProcessor.queryAndChekNodeId(LdapQueryProcessor.scala:134)
com.normation.rudder.services.queries.AccepetedNodesLDAPQueryProcessor.process(LdapQueryProcessor.scala:151)
com.normation.rudder.web.components.SearchNodeComponent.processForm$1(SearchNodeComponent.scala:180)
com.normation.rudder.web.components.SearchNodeComponent$$anonfun$displayQuery$1$5.apply(SearchNodeComponent.scala:255)
com.normation.rudder.web.components.SearchNodeComponent$$anonfun$displayQuery$1$5.apply(SearchNodeComponent.scala:255)
net.liftweb.http.S$NFuncHolder$$anonfun$apply$5.apply(S.scala:190)
net.liftweb.http.S$NFuncHolder$$anonfun$apply$5.apply(S.scala:190)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
scala.collection.immutable.List.foreach(List.scala:76)
scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
scala.collection.immutable.List.map(List.scala:76)
net.liftweb.http.S$NFuncHolder.apply(S.scala:190)
net.liftweb.http.S$ProxyFuncHolder.apply(S.scala:115)
net.liftweb.http.LiftSession$$anon$3.net$liftweb$http$LiftSession$$anon$$super$apply(LiftSession.scala:1456)
net.liftweb.http.LiftSession$$anon$3$$anonfun$apply$67$$anonfun$apply$68$$anonfun$apply$69.apply(LiftSession.scala:1456)
net.liftweb.util.AnyVarTrait$class.doWith(AnyVar.scala:233)
net.liftweb.util.AnyVar.doWith(AnyVar.scala:89)
net.liftweb.http.LiftSession$$anon$3$$anonfun$apply$67$$anonfun$apply$68.apply(LiftSession.scala:1455)
net.liftweb.util.AnyVarTrait$class.doWith(AnyVar.scala:233)
net.liftweb.util.AnyVar.doWith(AnyVar.scala:89)
net.liftweb.http.LiftSession$$anon$3$$anonfun$apply$67.apply(LiftSession.scala:1454)
net.liftweb.http.CoreRequestVarHandler$$anonfun$generateSnapshotRestorer$1$$anonfun$apply$8$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11.apply(Vars.scala:554)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$generateSnapshotRestorer$1$$anonfun$apply$8$$anonfun$apply$9$$anonfun$apply$10.apply(Vars.scala:553)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$generateSnapshotRestorer$1$$anonfun$apply$8$$anonfun$apply$9.apply(Vars.scala:552)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$generateSnapshotRestorer$1$$anonfun$apply$8.apply(Vars.scala:551)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$generateSnapshotRestorer$1.apply(Vars.scala:550)
net.liftweb.http.CoreRequestVarHandler$$anonfun$generateSnapshotRestorer$1.apply(Vars.scala:550)
net.liftweb.http.LiftSession$$anon$3.apply(LiftSession.scala:1453)
net.liftweb.http.S$ProxyFuncHolder.apply(S.scala:115)
net.liftweb.http.LiftSession$$anonfun$buildFunc$1$2.apply(LiftSession.scala:651)
net.liftweb.http.LiftSession$$anonfun$16$$anonfun$apply$39.apply(LiftSession.scala:667)
net.liftweb.http.LiftSession$$anonfun$16$$anonfun$apply$39.apply(LiftSession.scala:667)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
scala.collection.immutable.List.foreach(List.scala:76)
scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
scala.collection.immutable.List.map(List.scala:76)
net.liftweb.http.LiftSession$$anonfun$16.apply(LiftSession.scala:667)
net.liftweb.http.LiftSession$$anonfun$16.apply(LiftSession.scala:656)
scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:239)
scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:239)
scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
scala.collection.immutable.List.foreach(List.scala:76)
scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:239)
scala.collection.immutable.List.flatMap(List.scala:76)
net.liftweb.http.LiftSession.runParams(LiftSession.scala:655)
net.liftweb.http.LiftServlet.liftedTree2$1(LiftServlet.scala:445)
net.liftweb.http.LiftServlet.handleAjax(LiftServlet.scala:444)
net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$$dispatchStatefulRequest(LiftServlet.scala:412)
net.liftweb.http.LiftServlet$$anonfun$doSession$1$1.apply(LiftServlet.scala:279)
net.liftweb.http.LiftServlet$$anonfun$doSession$1$1.apply(LiftServlet.scala:279)
net.liftweb.http.S$class.net$liftweb$http$S$$wrapQuery(S.scala:1376)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$apply$34.apply(S.scala:1524)
net.liftweb.http.S$class.net$liftweb$http$S$$doAround(S.scala:1305)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1.apply(S.scala:1522)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$class.net$liftweb$http$S$$_nest2InnerInit(S.scala:1521)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$38$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41.apply(S.scala:1561)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$$anonfun$withReq$1.apply(S.scala:1571)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$class.withReq(S.scala:1570)
net.liftweb.http.S$.withReq(S.scala:48)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$38$$anonfun$apply$39$$anonfun$apply$40.apply(S.scala:1560)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$38$$anonfun$apply$39.apply(S.scala:1559)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$38.apply(S.scala:1558)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply(S.scala:1557)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$class.net$liftweb$http$S$$_innerInit(S.scala:1556)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun$apply$44$$anonfun$apply$45$$anonfun$apply$46$$anonfun$apply$47$$anonfun$apply$48.apply(S.scala:1594)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun$apply$44$$anonfun$apply$45$$anonfun$apply$46$$anonfun$apply$47.apply(S.scala:1592)
net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:613)
net.liftweb.http.RequestVarHandler$.apply(Vars.scala:515)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun$apply$44$$anonfun$apply$45$$anonfun$apply$46.apply(S.scala:1591)
net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:613)
net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:528)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun$apply$44$$anonfun$apply$45.apply(S.scala:1590)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun$apply$44.apply(S.scala:1589)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1.apply(S.scala:1588)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.S$class.net$liftweb$http$S$$_init(S.scala:1587)
net.liftweb.http.S$class.init(S.scala:1190)
net.liftweb.http.LiftServlet.doSession$1(LiftServlet.scala:278)
net.liftweb.http.LiftServlet.doService(LiftServlet.scala:288)
net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:132)
net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:131)
net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:344)
net.liftweb.util.Helpers$.calcTime(Helpers.scala:34)
net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:363)
net.liftweb.util.Helpers$.logTime(Helpers.scala:34)
net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:131)
net.liftweb.http.LiftServlet.service(LiftServlet.scala:142)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply$mcV$sp(HTTPProvider.scala:72)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(HTTPProvider.scala:71)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(HTTPProvider.scala:71)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.URLRewriter$.doWith(Req.scala:1253)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1.apply$mcV$sp(HTTPProvider.scala:70)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1.apply(HTTPProvider.scala:70)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1.apply(HTTPProvider.scala:70)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply$mcV$sp(HTTPProvider.scala:66)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply(HTTPProvider.scala:60)
net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply(HTTPProvider.scala:60)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.provider.HTTPProvider$class.service(HTTPProvider.scala:60)
net.liftweb.http.LiftFilter.service(LiftServlet.scala:757)
net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ServletFilterProvider.scala:67)
net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:62)
net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:62)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(Vars.scala:619)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18.apply(Vars.scala:618)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17.apply(Vars.scala:617)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16.apply(Vars.scala:616)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:615)
net.liftweb.http.RequestVarHandler$.apply(Vars.scala:515)
net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:61)
net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:61)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(Vars.scala:619)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18.apply(Vars.scala:618)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17.apply(Vars.scala:617)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16.apply(Vars.scala:616)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71)
net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:615)
net.liftweb.http.provider.servlet.ServletFilterProvider$class.doFilter(ServletFilterProvider.scala:60)
net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:757)
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
org.mortbay.jetty.handler.ContextHandler.__handle(ContextHandler.java:766)
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java)
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
org.mortbay.jetty.Server.handle(Server.java:326)
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)