| 
|  
 
        
          
                    | If you were logged in you would be able to see more operations. |  |  | 
                
| 
    | 
        | QuickBuild Created: 20/Aug/12 07:03 AM  
                Updated: 21/Aug/12 12:37 AM
 |  |  
            | Component/s: | None |  
            | Affects Version/s: | 4.0.53 |  
            | Fix Version/s: | None |  |  | 
        
            
	| Original Estimate: | Unknown | Remaining Estimate: | Unknown | Time Spent: | Unknown |  | 
 
	| 
            If LDAP authenticator is configured and LDAP server is down, there's an Exception when a LDAP account tries to log in.
 How to reproduce:
 
 1. Setup new QB instance
 2. Configure a bogus LDAP server
 3. Log out
 4. Provide random login/passwd
 5. ->
 Error Details:
 
 Message: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at [ [Component id = form]] on component [ [Component id = form]] threw an exception
 
 Root cause:
 
 java.net.UnknownHostException: ldap.example
 at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
 at java.net.PlainSocketImpl.connect(Unknown Source)
 at java.net.SocksSocketImpl.connect(Unknown Source)
 at java.net.Socket.connect(Unknown Source)
 at java.net.Socket.connect(Unknown Source)
 at java.net.Socket.<init>(Unknown Source)
 at java.net.Socket.<init>(Unknown Source)
 at com.sun.jndi.ldap.Connection.createSocket(Unknown Source)
 at com.sun.jndi.ldap.Connection.<init>(Unknown Source)
 at com.sun.jndi.ldap.LdapClient.<init>(Unknown Source)
 at com.sun.jndi.ldap.LdapClient.getInstance(Unknown Source)
 at com.sun.jndi.ldap.LdapCtx.connect(Unknown Source)
 at com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source)
 at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unknown Source)
 at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unknown Source)
 at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Unknown Source)
 at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown Source)
 at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
 at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
 at javax.naming.InitialContext.init(Unknown Source)
 at javax.naming.InitialContext.<init>(Unknown Source)
 at javax.naming.directory.InitialDirContext.<init>(Unknown Source)
 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator.authenticate(LdapAuthenticator.java:239)
 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator$$EnhancerByCGLIB$$c85a1a7c.CGLIB$authenticate$0(<generated>)
 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator$$EnhancerByCGLIB$$c85a1a7c$$FastClassByCGLIB$$c5dd665f.invoke(<generated>)
 at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
 at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:270)
 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator$$EnhancerByCGLIB$$c85a1a7c.authenticate(<generated>)
 at com.pmease.quickbuild.security.SecurityHelper.authenticate(SecurityHelper.java:441)
 at com.pmease.quickbuild.web.page.SignInPage$2.onSubmit(SignInPage.java:82)
 at org.apache.wicket.markup.html.form.Form$10.component(Form.java:1157)
 at org.apache.wicket.markup.html.form.Form$10.component(Form.java:1152)
 at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:273)
 at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:244)
 at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1150)
 at org.apache.wicket.markup.html.form.Form.process(Form.java:803)
 at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:728)
 at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:670)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:272)
 at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:220)
 at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:179)
 at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:165)
 at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:719)
 at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
 at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)
 at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
 at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
 at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:159)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
 at com.pmease.quickbuild.web.WebServlet.service(WebServlet.java:123)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
 at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
 at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)
 at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:131)
 at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
 at com.pmease.quickbuild.web.HttpServiceProvider$1$1.service(HttpServiceProvider.java:87)
 at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
 at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
 at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
 at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:317)
 at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
 at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
 at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
 at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
 at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
 at org.mortbay.jetty.Server.handle(Server.java:326)
 at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
 at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:939)
 at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
 at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
 at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
 at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
 at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
 
 
 Expected result:
 
 A message like "Access denied" or "No auth methods available"
 
 |  
	| Description |    If LDAP authenticator is configured and LDAP server is down, there's an Exception when a LDAP account tries to log in.
How to reproduce:
1. Setup new QB instance
2. Configure a bogus LDAP server
3. Log out
4. Provide random login/passwd
5. -> 
Error Details: 
Message: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at [ [Component id = form]] on component [ [Component id = form]] threw an exception
Root cause:
java.net.UnknownHostException: ldap.example
	 at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	 at java.net.PlainSocketImpl.connect(Unknown Source)
	 at java.net.SocksSocketImpl.connect(Unknown Source)
	 at java.net.Socket.connect(Unknown Source)
	 at java.net.Socket.connect(Unknown Source)
	 at java.net.Socket.<init>(Unknown Source)
	 at java.net.Socket.<init>(Unknown Source)
	 at com.sun.jndi.ldap.Connection.createSocket(Unknown Source)
	 at com.sun.jndi.ldap.Connection.<init>(Unknown Source)
	 at com.sun.jndi.ldap.LdapClient.<init>(Unknown Source)
	 at com.sun.jndi.ldap.LdapClient.getInstance(Unknown Source)
	 at com.sun.jndi.ldap.LdapCtx.connect(Unknown Source)
	 at com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source)
	 at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unknown Source)
	 at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unknown Source)
	 at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Unknown Source)
	 at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown Source)
	 at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
	 at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
	 at javax.naming.InitialContext.init(Unknown Source)
	 at javax.naming.InitialContext.<init>(Unknown Source)
	 at javax.naming.directory.InitialDirContext.<init>(Unknown Source)
	 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator.authenticate(LdapAuthenticator.java:239)
	 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator$$EnhancerByCGLIB$$c85a1a7c.CGLIB$authenticate$0(<generated>)
	 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator$$EnhancerByCGLIB$$c85a1a7c$$FastClassByCGLIB$$c5dd665f.invoke(<generated>)
	 at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
	 at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:270)
	 at com.pmease.quickbuild.plugin.authenticator.ldap.LdapAuthenticator$$EnhancerByCGLIB$$c85a1a7c.authenticate(<generated>)
	 at com.pmease.quickbuild.security.SecurityHelper.authenticate(SecurityHelper.java:441)
	 at com.pmease.quickbuild.web.page.SignInPage$2.onSubmit(SignInPage.java:82)
	 at org.apache.wicket.markup.html.form.Form$10.component(Form.java:1157)
	 at org.apache.wicket.markup.html.form.Form$10.component(Form.java:1152)
	 at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:273)
	 at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:244)
	 at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1150)
	 at org.apache.wicket.markup.html.form.Form.process(Form.java:803)
	 at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:728)
	 at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:670)
	 at java.lang.reflect.Method.invoke(Unknown Source)
	 at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:272)
	 at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:220)
	 at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:179)
	 at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:165)
	 at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:719)
	 at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
	 at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)
	 at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
	 at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
	 at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:159)
	 at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	 at com.pmease.quickbuild.web.WebServlet.service(WebServlet.java:123)
	 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	 at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
	 at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)
	 at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:131)
	 at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
	 at com.pmease.quickbuild.web.HttpServiceProvider$1$1.service(HttpServiceProvider.java:87)
	 at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	 at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
	 at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
	 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	 at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:317)
	 at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
	 at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
	 at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	 at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	 at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	 at org.mortbay.jetty.Server.handle(Server.java:326)
	 at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	 at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:939)
	 at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
	 at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
	 at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	 at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
	 at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Expected result:
A message like "Access denied" or "No auth methods available" | Show » |  
    
        
            
            
 |